diff --git a/.github/workflows/pixi.yml b/.github/workflows/pixi.yml index b4f3a605192..54491225c40 100644 --- a/.github/workflows/pixi.yml +++ b/.github/workflows/pixi.yml @@ -34,6 +34,7 @@ jobs: runs-on: ${{ matrix.os }} timeout-minutes: 0 strategy: + fail-fast: false matrix: os: [ubuntu-22.04, windows-2022, macos-15] steps: @@ -136,11 +137,14 @@ jobs: - name: Configure run: pixi run configure-ci + - name: Fetch ExternalData + run: pixi run --skip-deps build-external-data-ci + - name: Build run: | echo "****** df -h / -- pre build" df -h / - pixi run --skip-deps build + pixi run --skip-deps build-ci echo "****** df -h / -- post build" df -h / @@ -160,7 +164,7 @@ jobs: df -h / - name: Test - run: pixi run --skip-deps test + run: pixi run --skip-deps test-ci - name: Disk space reporting AFTER (optimize free-disk-space) run: | diff --git a/pyproject.toml b/pyproject.toml index a5c5a2ab289..263466a1cc9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -52,7 +52,7 @@ cmd = '''cmake \ -Bbuild \ -S. \ -GNinja \ - -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \ + -DCMAKE_BUILD_TYPE:STRING=Release \ -DBUILD_TESTING:BOOL=ON \ -DITK_USE_CCACHE:BOOL=ON \ -DCMAKE_C_COMPILER_LAUNCHER:STRING=ccache \ @@ -105,6 +105,22 @@ cmd = "ctest -j3 --test-dir build" description = "Test ITK" depends-on = ["build"] +[tool.pixi.feature.cxx.tasks.build-external-data-ci] +cmd = "cmake --build build --target ITKData" +description = "Fetch ITK ExternalData for CI (fails fast on download errors)" +depends-on = ["configure-ci"] + +[tool.pixi.feature.cxx.tasks.build-ci] +cmd = "cmake --build build" +description = "Build ITK for CI" +outputs = ["build/lib/**"] +depends-on = ["configure-ci"] + +[tool.pixi.feature.cxx.tasks.test-ci] +cmd = "ctest -j3 --test-dir build" +description = "Test ITK for CI" +depends-on = ["build-ci"] + [tool.pixi.feature.cxx.tasks.configure-debug] cmd = '''cmake \ -Bbuild-debug \