From 1c47345c1bd8bb6729c23d39d3b114f6b0d3b37d Mon Sep 17 00:00:00 2001 From: Tristan Youngs Date: Wed, 29 Oct 2025 11:28:42 +0000 Subject: [PATCH 1/7] REMOVE Windows and Mac only. --- .github/workflows/_build_and_package.yml | 26 ------------------------ .github/workflows/pr.yml | 15 -------------- 2 files changed, 41 deletions(-) diff --git a/.github/workflows/_build_and_package.yml b/.github/workflows/_build_and_package.yml index 548959f991..6e3612d54c 100644 --- a/.github/workflows/_build_and_package.yml +++ b/.github/workflows/_build_and_package.yml @@ -58,29 +58,3 @@ jobs: conanHash: ${{ inputs.conanHash }} osxTargetDeploymentVersion: ${{ inputs.osxTargetDeploymentVersion }} - BuildLinux: - strategy: - fail-fast: false - matrix: - target: [ dissolve, dissolve-gui ] - runs-on: ubuntu-latest - steps: - - name: 'Download Source Tarfiles' - uses: actions/download-artifact@v4 - with: - name: source - - - name: 'Unpack Source' - shell: bash - run: tar -xvf dissolve-versioned-source.tar - - - name: "Build, Test, Package (Linux, ${{ matrix.target }})" - uses: "./.github/workflows/build" - with: - target: ${{ matrix.target }} - currentVersion: ${{ inputs.currentVersion }} - nixHash: ${{ inputs.nixHash }} - benchmark: ${{ inputs.benchmark }} - publishBenchmarks: ${{ inputs.publishBenchmarks }} - osxTargetDeploymentVersion: ${{ inputs.osxTargetDeploymentVersion }} - diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index f2baf8d02c..cc75ff2f51 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -25,14 +25,7 @@ jobs: with: checkoutRef: ${{ github.event.pull_request.head.sha }} - QC: - needs: [Checkout] - uses: "./.github/workflows/_qc.yml" - with: - nixHash: ${{ needs.Checkout.outputs.nixHash }} - BuildAndPackage: - needs: [Checkout] uses: "./.github/workflows/_build_and_package.yml" with: benchmark: true @@ -51,11 +44,3 @@ jobs: with: branch: 'refs/pull/${{ github.event.pull_request.number }}/merge' - Web: - needs: [Checkout] - uses: "./.github/workflows/_website.yml" - with: - publishType: 'none' - displayMajorVersion: ${{ needs.Checkout.outputs.currentVersionMajor }} - displayMinorVersion: ${{ needs.Checkout.outputs.currentVersionMinor }} - hugoVersion: ${{ needs.Checkout.outputs.hugoVersion }} From 4f8e38a49ef576b3d396b1c017d6862cca79cf7a Mon Sep 17 00:00:00 2001 From: Tristan Youngs Date: Wed, 29 Oct 2025 11:34:56 +0000 Subject: [PATCH 2/7] Dump attempt at building tests. --- .github/workflows/build/osx/action.yml | 11 ++++++++++- .github/workflows/build/windows/action.yml | 9 ++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build/osx/action.yml b/.github/workflows/build/osx/action.yml index ba58cff25b..805d1fdbc8 100644 --- a/.github/workflows/build/osx/action.yml +++ b/.github/workflows/build/osx/action.yml @@ -173,13 +173,22 @@ runs: # Build mkdir build && cd build - cmake -G Ninja -DGUI:bool=true -DMULTI_THREADING:bool=${{ inputs.threading }} -DCONAN_GSL="OFF" -DJava_JAVA_EXECUTABLE:path=${JAVA_RUNTIME} -DANTLR_EXECUTABLE:string=$ANTLR_EXE -DQT_BASE_DIR=$QT_BASE_DIR ../ -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ inputs.targetDeploymentVersion }} + cmake -G Ninja -DGUI:bool=true -DMULTI_THREADING:bool=${{ inputs.threading }} -DCONAN_GSL="OFF" -DJava_JAVA_EXECUTABLE:path=${JAVA_RUNTIME} -DANTLR_EXECUTABLE:string=$ANTLR_EXE -DQT_BASE_DIR=$QT_BASE_DIR ../ -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ inputs.targetDeploymentVersion }} -DBUILD_TESTS:bool=true cmake --build . --config Release # Copy over gsl libs so we can ship them with the bundle. Our exe is only linked to two of the four libs present, and this breaks the binary if we don't include them all in the package. mkdir gsl cp -v $(brew --prefix gsl)/lib/*.dylib ./gsl + - name: Test + if: ${{ inputs.cacheOnly == 'false' }} + shell: bash + run: | + set -ex + cd build + + ctest + - name: Upload Raw Build Artifacts if: ${{ inputs.cacheOnly == 'false' }} uses: actions/upload-artifact@v4 diff --git a/.github/workflows/build/windows/action.yml b/.github/workflows/build/windows/action.yml index 1b9546d7b8..da903fb68f 100644 --- a/.github/workflows/build/windows/action.yml +++ b/.github/workflows/build/windows/action.yml @@ -173,7 +173,7 @@ runs: mkdir build && cd build TEMPD=$(mktemp -d) mkdir -p $TEMPD/bin - cmake ../ -G Ninja -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_C_COMPILER=cl -DANTLR_EXECUTABLE:string=$ANTLR_EXE -DJava_JAVA_EXECUTABLE:string=$JAVA_EXE -DCMAKE_CXX_COMPILER=cl -DMULTI_THREADING:bool=${{ inputs.threading }} -DGUI:bool=true -DCMAKE_INSTALL_PREFIX:PATH=$TEMPD + cmake ../ -G Ninja -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_C_COMPILER=cl -DANTLR_EXECUTABLE:string=$ANTLR_EXE -DJava_JAVA_EXECUTABLE:string=$JAVA_EXE -DCMAKE_CXX_COMPILER=cl -DMULTI_THREADING:bool=${{ inputs.threading }} -DGUI:bool=true -DCMAKE_INSTALL_PREFIX:PATH=$TEMPD -DBUILD_TESTS:bool=true cmake --build . --config Release --target keywordWidgets cmake --build . --config Release cp bin/* $TEMPD/bin @@ -181,6 +181,13 @@ runs: mkdir -p install cp -r $TEMPD/* install/ + - name: Test + if: ${{ inputs.cacheOnly == 'false' }} + shell: bash + run: | + cd build + ctest + - name: Upload Raw Build Artifacts if: ${{ inputs.cacheOnly == 'false' }} uses: actions/upload-artifact@v4 From a1bafa3dc863432475282fa6eb70e94a3cba1229 Mon Sep 17 00:00:00 2001 From: Tristan Youngs Date: Wed, 29 Oct 2025 11:43:16 +0000 Subject: [PATCH 3/7] REMOVE Fix. --- .github/workflows/pr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index cc75ff2f51..b4d5d0f3b0 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -26,6 +26,7 @@ jobs: checkoutRef: ${{ github.event.pull_request.head.sha }} BuildAndPackage: + needs: Checkout uses: "./.github/workflows/_build_and_package.yml" with: benchmark: true From b6487c661b2d339e15b71a5fb39332ff76437c6d Mon Sep 17 00:00:00 2001 From: Tristan Youngs Date: Wed, 29 Oct 2025 12:00:26 +0000 Subject: [PATCH 4/7] Huh? --- .github/workflows/build/windows/action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build/windows/action.yml b/.github/workflows/build/windows/action.yml index da903fb68f..83b086bb0d 100644 --- a/.github/workflows/build/windows/action.yml +++ b/.github/workflows/build/windows/action.yml @@ -181,6 +181,7 @@ runs: mkdir -p install cp -r $TEMPD/* install/ + - name: Test if: ${{ inputs.cacheOnly == 'false' }} shell: bash From 81f38e88ddb17c564258a35eb4e89d91c3e79630 Mon Sep 17 00:00:00 2001 From: Tristan Youngs Date: Wed, 29 Oct 2025 12:13:26 +0000 Subject: [PATCH 5/7] The mystery is solved. --- .github/workflows/build/windows/action.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build/windows/action.yml b/.github/workflows/build/windows/action.yml index 83b086bb0d..826a590299 100644 --- a/.github/workflows/build/windows/action.yml +++ b/.github/workflows/build/windows/action.yml @@ -173,7 +173,7 @@ runs: mkdir build && cd build TEMPD=$(mktemp -d) mkdir -p $TEMPD/bin - cmake ../ -G Ninja -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_C_COMPILER=cl -DANTLR_EXECUTABLE:string=$ANTLR_EXE -DJava_JAVA_EXECUTABLE:string=$JAVA_EXE -DCMAKE_CXX_COMPILER=cl -DMULTI_THREADING:bool=${{ inputs.threading }} -DGUI:bool=true -DCMAKE_INSTALL_PREFIX:PATH=$TEMPD -DBUILD_TESTS:bool=true + cmake ../ -G Ninja -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_C_COMPILER=cl -DANTLR_EXECUTABLE:string=$ANTLR_EXE -DJava_JAVA_EXECUTABLE:string=$JAVA_EXE -DCMAKE_CXX_COMPILER=cl -DMULTI_THREADING:bool=${{ inputs.threading }} -DGUI:bool=true -DCMAKE_INSTALL_PREFIX:PATH=$TEMPD -DBUILD_TESTS:bool=true cmake --build . --config Release --target keywordWidgets cmake --build . --config Release cp bin/* $TEMPD/bin @@ -181,7 +181,6 @@ runs: mkdir -p install cp -r $TEMPD/* install/ - - name: Test if: ${{ inputs.cacheOnly == 'false' }} shell: bash From e1fde729f154b265c707598a4522855ac12e11c4 Mon Sep 17 00:00:00 2001 From: Tristan Youngs Date: Wed, 19 Nov 2025 11:03:30 +0000 Subject: [PATCH 6/7] Split things up. --- .github/workflows/build/windows/action.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build/windows/action.yml b/.github/workflows/build/windows/action.yml index 826a590299..37bb3e9c18 100644 --- a/.github/workflows/build/windows/action.yml +++ b/.github/workflows/build/windows/action.yml @@ -175,7 +175,8 @@ runs: mkdir -p $TEMPD/bin cmake ../ -G Ninja -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_C_COMPILER=cl -DANTLR_EXECUTABLE:string=$ANTLR_EXE -DJava_JAVA_EXECUTABLE:string=$JAVA_EXE -DCMAKE_CXX_COMPILER=cl -DMULTI_THREADING:bool=${{ inputs.threading }} -DGUI:bool=true -DCMAKE_INSTALL_PREFIX:PATH=$TEMPD -DBUILD_TESTS:bool=true cmake --build . --config Release --target keywordWidgets - cmake --build . --config Release + cmake --build . --config Release --target Dissolve Dissolve-GUI-QML + cmake --build . --config Release --target Dissolve-GUI-QML cp bin/* $TEMPD/bin ninja install mkdir -p install @@ -186,6 +187,7 @@ runs: shell: bash run: | cd build + cmake --build . --config Release ctest - name: Upload Raw Build Artifacts From 424f3cd382aa596fc699b7091f2211535f200e1b Mon Sep 17 00:00:00 2001 From: Tristan Youngs Date: Wed, 19 Nov 2025 16:09:01 +0000 Subject: [PATCH 7/7] Disk space check, set env. --- .github/workflows/build/windows/action.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/build/windows/action.yml b/.github/workflows/build/windows/action.yml index 37bb3e9c18..ac5e437d51 100644 --- a/.github/workflows/build/windows/action.yml +++ b/.github/workflows/build/windows/action.yml @@ -170,6 +170,7 @@ runs: JAVA_EXE="${JAVA_HOME_21_X64}\bin\java.exe" # Build + df -mh . mkdir build && cd build TEMPD=$(mktemp -d) mkdir -p $TEMPD/bin @@ -186,6 +187,15 @@ runs: if: ${{ inputs.cacheOnly == 'false' }} shell: bash run: | + df -mh . + Qt6_DIR="${RUNNER_TEMP}\qt\${{ inputs.qtVersion }}\msvc2019_64" + ANTLR_EXE="${RUNNER_TEMP}\antlr-${{ inputs.antlrVersion }}-complete.jar" + export PATH="${Qt6_DIR}\bin;$PATH" + INCLUDE="${RUNNER_TEMP}\freetype-latest;$INCLUDE" + LIB="${RUNNER_TEMP}\freetype-install\lib;${RUNNER_TEMP}\freetype-install\bin;$LIB" + INCLUDE="${RUNNER_TEMP}\ftgl-latest\src;$INCLUDE" + LIB="${RUNNER_TEMP}\ftgl-install\lib;$LIB" + JAVA_EXE="${JAVA_HOME_21_X64}\bin\java.exe" cd build cmake --build . --config Release ctest