From 53b9143778506f060717091a41fc47f6b2dada70 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Tue, 18 Mar 2025 10:18:16 +0100 Subject: [PATCH 1/6] Update CI config - latest TagBot.yml - use `julia-actions/cache` instead of `actions/cache` - test macOS on native ARM / aarch64 where applicable - avoid concurrent PR CI runs - drop obsolete `file` argument to `codecov/codecov-action` --- .github/workflows/CI.yml | 39 ++++++++++++++++++++++-------------- .github/workflows/TagBot.yml | 17 ++++++++++++++++ 2 files changed, 41 insertions(+), 15 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 75b89a7..5fc181f 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -5,6 +5,19 @@ on: branches: - main tags: '*' + +concurrency: + # group by workflow and ref; the last slightly strange component ensures that for pull + # requests, we limit to 1 concurrent job, but for the default repository branch we don't + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref_name != github.event.repository.default_branch || github.run_number }} + # Cancel intermediate builds, but only if it is a pull request build. + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} + +# needed to allow julia-actions/cache to delete old caches that it has created +permissions: + actions: write + contents: read + jobs: test: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} @@ -21,30 +34,26 @@ jobs: - macOS-latest - windows-latest arch: - - x64 + - '' # default arch, usually x64 but for macOS also aarch64 - x86 exclude: - - os: macOS-latest + - os: macos-latest # Apple Silicon arch: x86 + - os: macos-latest # Apple Silicon + version: '1.0' + arch: '' + include: + - os: macos-latest # Apple Silicon + version: '1.0' + arch: 'x64' # run x86_64 build of Julia under Rosetta 2 emulation steps: - uses: actions/checkout@v4 - uses: julia-actions/setup-julia@v2 with: version: ${{ matrix.version }} - arch: ${{ matrix.arch }} - - uses: actions/cache@v4 - env: - cache-name: cache-artifacts - with: - path: ~/.julia/artifacts - key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} - restore-keys: | - ${{ runner.os }}-test-${{ env.cache-name }}- - ${{ runner.os }}-test- - ${{ runner.os }}- + arch: ${{ (matrix.arch == '') && runner.arch || matrix.arch }} + - uses: julia-actions/cache@v2 - uses: julia-actions/julia-buildpkg@v1 - uses: julia-actions/julia-runtest@v1 - uses: julia-actions/julia-processcoverage@v1 - uses: codecov/codecov-action@v5 - with: - file: lcov.info diff --git a/.github/workflows/TagBot.yml b/.github/workflows/TagBot.yml index f49313b..3b433b1 100644 --- a/.github/workflows/TagBot.yml +++ b/.github/workflows/TagBot.yml @@ -4,6 +4,23 @@ on: types: - created workflow_dispatch: + inputs: + lookback: + default: "3" +# The following is commented out due to https://github.com/JuliaRegistries/TagBot/issues/388 +# permissions: +# actions: read +# checks: read +# contents: write +# deployments: read +# issues: read +# discussions: read +# packages: read +# pages: read +# pull-requests: read +# repository-projects: read +# security-events: read +# statuses: read jobs: TagBot: if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot' From 2eedae36bc3a5f49e94f592f7e99e8edb24dda5a Mon Sep 17 00:00:00 2001 From: Lilith Orion Hafner Date: Mon, 4 Aug 2025 07:30:36 -0500 Subject: [PATCH 2/6] Fixup capitalization, back out concurrency changes --- .github/workflows/CI.yml | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 5fc181f..9340876 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -6,13 +6,6 @@ on: - main tags: '*' -concurrency: - # group by workflow and ref; the last slightly strange component ensures that for pull - # requests, we limit to 1 concurrent job, but for the default repository branch we don't - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref_name != github.event.repository.default_branch || github.run_number }} - # Cancel intermediate builds, but only if it is a pull request build. - cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} - # needed to allow julia-actions/cache to delete old caches that it has created permissions: actions: write @@ -37,13 +30,13 @@ jobs: - '' # default arch, usually x64 but for macOS also aarch64 - x86 exclude: - - os: macos-latest # Apple Silicon + - os: macOS-latest # Apple Silicon arch: x86 - - os: macos-latest # Apple Silicon + - os: macOS-latest # Apple Silicon version: '1.0' arch: '' include: - - os: macos-latest # Apple Silicon + - os: macOS-latest # Apple Silicon version: '1.0' arch: 'x64' # run x86_64 build of Julia under Rosetta 2 emulation steps: From 4f079bc2df8c2533d69daeb5870440188258d53b Mon Sep 17 00:00:00 2001 From: Lilith Orion Hafner Date: Mon, 4 Aug 2025 07:31:26 -0500 Subject: [PATCH 3/6] Back out tagbot changes --- .github/workflows/TagBot.yml | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/.github/workflows/TagBot.yml b/.github/workflows/TagBot.yml index 3b433b1..f49313b 100644 --- a/.github/workflows/TagBot.yml +++ b/.github/workflows/TagBot.yml @@ -4,23 +4,6 @@ on: types: - created workflow_dispatch: - inputs: - lookback: - default: "3" -# The following is commented out due to https://github.com/JuliaRegistries/TagBot/issues/388 -# permissions: -# actions: read -# checks: read -# contents: write -# deployments: read -# issues: read -# discussions: read -# packages: read -# pages: read -# pull-requests: read -# repository-projects: read -# security-events: read -# statuses: read jobs: TagBot: if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot' From 4c14b3dfd2cabc5e4f3cbb47dd2d5f29b0d45e71 Mon Sep 17 00:00:00 2001 From: Lilith Orion Hafner Date: Mon, 4 Aug 2025 07:39:49 -0500 Subject: [PATCH 4/6] Restore concurrency updates --- .github/workflows/CI.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index d1cefad..d6f678c 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -6,6 +6,13 @@ on: - main tags: '*' +concurrency: + # group by workflow and ref; the last slightly strange component ensures that for pull + # requests, we limit to 1 concurrent job, but for the default repository branch we don't + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref_name != github.event.repository.default_branch || github.run_number }} + # Cancel intermediate builds, but only if it is a pull request build. + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} + # needed to allow julia-actions/cache to delete old caches that it has created permissions: actions: write From f70a0e91d127be8825bcb4dd621c989d9f7c630d Mon Sep 17 00:00:00 2001 From: Lilith Orion Hafner Date: Mon, 4 Aug 2025 07:40:50 -0500 Subject: [PATCH 5/6] Dummy commit to test concurrency --- .github/workflows/CI.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index d6f678c..4b905e2 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -6,6 +6,7 @@ on: - main tags: '*' + concurrency: # group by workflow and ref; the last slightly strange component ensures that for pull # requests, we limit to 1 concurrent job, but for the default repository branch we don't From d3f34769fea8a481de4f959725424281dd90b02b Mon Sep 17 00:00:00 2001 From: Lilith Orion Hafner Date: Mon, 4 Aug 2025 07:41:06 -0500 Subject: [PATCH 6/6] Revert dummy commit --- .github/workflows/CI.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 4b905e2..d6f678c 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -6,7 +6,6 @@ on: - main tags: '*' - concurrency: # group by workflow and ref; the last slightly strange component ensures that for pull # requests, we limit to 1 concurrent job, but for the default repository branch we don't