Skip to content

Commit 5ee9c7e

Browse files
yahondaclaude
authored andcommitted
Build asan and asan-release on ubuntu-26.04 too
ubuntu-latest is moving to ubuntu-26.04, where setup-ruby fails with 404 for asan and asan-release. They were built only on ubuntu-24.04 because older Ubuntu releases had too old a clang (8cee0b2). clang on ubuntu-26.04 is clang 21, while it is clang 18 on ubuntu-24.04. Keep ubuntu-24.04 for workflows pinned to it. Fixes ruby/setup-ruby#960 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent ebe4b36 commit 5ee9c7e

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

‎.github/workflows/build.yml‎

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,21 +67,22 @@ jobs:
6767
with:
6868
script: |
6969
const osList = ['ubuntu-22.04', 'ubuntu-24.04', 'ubuntu-26.04', 'ubuntu-22.04-arm', 'ubuntu-24.04-arm', 'ubuntu-26.04-arm', 'macos-15-intel', 'macos-14']
70-
const asanHead = { os: 'ubuntu-24.04', name: 'asan' }
71-
const asanRelease = { os: 'ubuntu-24.04', name: 'asan-release' }
70+
const asanOsList = ['ubuntu-24.04', 'ubuntu-26.04']
71+
const asanHead = asanOsList.map(os => ({ os, name: 'asan' }))
72+
const asanRelease = asanOsList.map(os => ({ os, name: 'asan-release' }))
7273
const skipSlow = "${{ github.event_name == 'workflow_dispatch' && github.event.inputs.skip_slow == 'true' }}"
7374
const skipAsanRelease = "${{ steps.check_commit.outputs.should_build_asan_release == 'false' }}"
7475
const buildMatrix = JSON.stringify(
7576
skipSlow === 'false' ?
76-
{ os: osList, name: ['head', 'debug'], include: (skipAsanRelease === 'true' ? [asanHead] : [asanHead, asanRelease]) } :
77+
{ os: osList, name: ['head', 'debug'], include: (skipAsanRelease === 'true' ? asanHead : [...asanHead, ...asanRelease]) } :
7778
{ os: osList, name: ['head'] }
7879
)
7980
core.setOutput('build_matrix', buildMatrix)
8081
// Note: GitHub doesn't like having an empty matrix, so make sure at least noop is left
8182
const reuseMatrix = JSON.stringify(
8283
skipSlow === 'false' ?
83-
(skipAsanRelease === 'true' ? { include: [asanRelease] } : { os: ['ubuntu-latest'], name: ['noop'] }) :
84-
{ os: osList, name: ['debug'], include: [asanHead, asanRelease] }
84+
(skipAsanRelease === 'true' ? { include: asanRelease } : { os: ['ubuntu-latest'], name: ['noop'] }) :
85+
{ os: osList, name: ['debug'], include: [...asanHead, ...asanRelease] }
8586
)
8687
core.setOutput('reuse_matrix', reuseMatrix)
8788
console.log(`build_matrix: ${buildMatrix}, reuse_matrix: ${reuseMatrix}`)
@@ -191,8 +192,8 @@ jobs:
191192
- name: Build dependencies and set configure flags (asan)
192193
run: |
193194
set -ex
194-
# We only test ASAN with Clang. The version of Clang needs to be > 18, which the version in
195-
# Ubuntu 24.04's repo is
195+
# We only test ASAN with Clang. The version of Clang needs to be > 18, which the versions in
196+
# Ubuntu 24.04's and 26.04's repos are
196197
sudo apt-get install -y clang
197198
198199
# ASAN builds need to compile (some of) their own dependencies with ASAN enabled, so that it can

0 commit comments

Comments
 (0)