From b72d5091e99eaa0cdfac037bc2152dc524fb7b68 Mon Sep 17 00:00:00 2001 From: Lucas Colley Date: Sat, 5 Apr 2025 18:32:33 +0100 Subject: [PATCH 1/8] CI: setup ccache --- .github/workflows/linux.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 5c61b10..6a2ab79 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -31,6 +31,21 @@ jobs: pixi-version: v0.44.0 cache: true environments: ${{ matrix.environment }} + - name: Prepare compiler cache + id: prep-ccache + shell: bash + run: | + mkdir -p "${CCACHE_DIR}" + echo "dir=$CCACHE_DIR" >> $GITHUB_OUTPUT + NOW=$(date -u +"%F-%T") + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT + - name: Setup compiler cache + uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + id: cache-ccache + with: + path: ${{ steps.prep-ccache.outputs.dir }} + key: ${{ github.workflow }}-ccache-${{ matrix.environment }}-${{ matrix.runs-on }}-${{ steps.prep-ccache.outputs.timestamp }} + restore-keys: ${{ github.workflow }}-ccache-${{ matrix.environment }}-${{ matrix.runs-on }}- - name: Run tests run: pixi run --environment=tests-ci tests-coverage-ci - name: Upload HTML coverage report From ed9c6ce8314c17a7d0bed43e922a15db071f7930 Mon Sep 17 00:00:00 2001 From: Lucas Colley Date: Sun, 6 Apr 2025 11:48:10 +0100 Subject: [PATCH 2/8] flush ci From 3a007088470d060d421ddfa8bbc2f9d396b6d51c Mon Sep 17 00:00:00 2001 From: Lucas Colley Date: Sun, 6 Apr 2025 12:00:18 +0100 Subject: [PATCH 3/8] CI: add ccache performance --- .github/workflows/linux.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 6a2ab79..eae3f58 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -53,3 +53,7 @@ jobs: with: name: cov-html path: build/coverage_report/** + run: pixi run --environment=tests-ci tests-ci + - name: Ccache performance + shell: bash -l {0} + run: pixi run --environment=tests-ci ccache -s From 74f498341bbc0f0808a8cc4ddc4280e848eb0abf Mon Sep 17 00:00:00 2001 From: Lucas Colley Date: Mon, 7 Apr 2025 15:05:53 +0100 Subject: [PATCH 4/8] set env vars --- .github/workflows/linux.yml | 1 - pixi.toml | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index eae3f58..907badb 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -53,7 +53,6 @@ jobs: with: name: cov-html path: build/coverage_report/** - run: pixi run --environment=tests-ci tests-ci - name: Ccache performance shell: bash -l {0} run: pixi run --environment=tests-ci ccache -s diff --git a/pixi.toml b/pixi.toml index 39f3cf1..b44ce01 100644 --- a/pixi.toml +++ b/pixi.toml @@ -99,6 +99,7 @@ ccache = ">=4.11.2,<5" # Build and generate coverage report # TODO: use a task arg for parallelism https://github.com/prefix-dev/pixi/pull/3433 build-tests-ci.cmd = ["cmake", "--build", "build", "-j3"] +build-tests-ci.env = { CC = "ccache $CC", CXX = "ccache $CXX" } build-tests-ci.depends-on = ["clone-xsref", "configure-coverage"] build-tests-ci.cwd = "." # Run tests From 16e676cf581c5bab2ba49fa2c203d74e0d1727fc Mon Sep 17 00:00:00 2001 From: Lucas Colley Date: Mon, 7 Apr 2025 15:07:42 +0100 Subject: [PATCH 5/8] flush CI From 8d35f9fd59901e479d9eab766c64ac0a6ce120dc Mon Sep 17 00:00:00 2001 From: Lucas Colley Date: Mon, 7 Apr 2025 15:20:55 +0100 Subject: [PATCH 6/8] env vars in configure step? --- pixi.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pixi.toml b/pixi.toml index b44ce01..ff8b205 100644 --- a/pixi.toml +++ b/pixi.toml @@ -86,6 +86,8 @@ configure-coverage.cmd = [ ] configure-coverage.cwd = "." configure-coverage.env.XSREF_TABLES_PATH = "$PWD/xsref/tables" +configure-coverage.env.CC = "ccache $CC" +configure-coverage.env.CXX = "ccache $CXX" # Open coverage report open-coverage.cmd = ["open", "index.html"] open-coverage.cwd = "build/coverage_report" From b6021236fe99cac2b62b2fb770c9955086113d3e Mon Sep 17 00:00:00 2001 From: Lucas Colley Date: Mon, 7 Apr 2025 15:28:35 +0100 Subject: [PATCH 7/8] flush ci From 335670ffe50432412840fc40d322f7ba37ef1fab Mon Sep 17 00:00:00 2001 From: Lucas Colley Date: Wed, 16 Apr 2025 17:44:18 +0100 Subject: [PATCH 8/8] remove unnecessary env vars --- pixi.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/pixi.toml b/pixi.toml index ff8b205..d51f04e 100644 --- a/pixi.toml +++ b/pixi.toml @@ -101,7 +101,6 @@ ccache = ">=4.11.2,<5" # Build and generate coverage report # TODO: use a task arg for parallelism https://github.com/prefix-dev/pixi/pull/3433 build-tests-ci.cmd = ["cmake", "--build", "build", "-j3"] -build-tests-ci.env = { CC = "ccache $CC", CXX = "ccache $CXX" } build-tests-ci.depends-on = ["clone-xsref", "configure-coverage"] build-tests-ci.cwd = "." # Run tests