1818 runs-on : ubuntu-latest
1919 outputs :
2020 should_build : ${{ steps.check_commit.outputs.should_build }}
21- should_build_3_4_asan : ${{ steps.check_commit.outputs.should_build_3_4_asan }}
21+ should_build_asan_release : ${{ steps.check_commit.outputs.should_build_asan_release }}
2222 commit : ${{ steps.latest_commit.outputs.commit }}
23- commit_3_4_asan : ${{ steps.latest_commit_3_4_asan .outputs.commit }}
23+ latest_release_commit : ${{ steps.latest_release_commit .outputs.commit }}
2424 previous_release : ${{ steps.check_commit.outputs.previous_release }}
2525 build_matrix : ${{ steps.matrix.outputs.build_matrix }}
2626 reuse_matrix : ${{ steps.matrix.outputs.reuse_matrix }}
3434 id : latest_commit
3535 working-directory : ruby
3636 run : echo "commit=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
37- - name : Set latest commit (3.4- asan)
38- id : latest_commit_3_4_asan
37+ - name : Set latest commit (asan-release )
38+ id : latest_release_commit
3939 working-directory : ruby
4040 run : |
4141 git fetch origin --depth=1 --no-tags '+refs/tags/v3_4_*:refs/tags/v3_4_*'
@@ -47,19 +47,19 @@ jobs:
4747 id : check_commit
4848 with :
4949 script : |
50- const latestDevCommit = "${{ steps.latest_commit.outputs.commit }}"
51- const latest34ASan = "${{ steps.latest_commit_3_4_asan .outputs.commit }}"
50+ const latestMasterCommit = "${{ steps.latest_commit.outputs.commit }}"
51+ const latestReleaseCommit = "${{ steps.latest_release_commit .outputs.commit }}"
5252 const { owner, repo } = context.repo
5353 let { data: release } = await github.rest.repos.getLatestRelease({ owner, repo })
54- const latestBuildCommit = release.body.split('\n')[0].split('@')[1].trim()
55- // Entry in body may not exist, but if it doesn't the should_build_3_4_asan is still correct
56- const latestBuild34ASanCommit = ((release.body.split('\n')[1] ?? "").split('@')[1] ?? "").trim()
57- console.log(` Latest build commit : ${latestBuildCommit }`)
58- console.log(` Latest ruby commit: ${latestDevCommit }`)
59- console.log(`Latest 3.4- asan build commit : ${latestBuild34ASanCommit }`)
60- console.log(` Latest 3.4-asan : ${latest34ASan }`)
61- core.setOutput('should_build', latestBuildCommit !== latestDevCommit )
62- core.setOutput('should_build_3_4_asan ', latestBuild34ASanCommit !== latest34ASan )
54+ const latestBuild = release.body.split('\n')[0].split('@')[1].trim()
55+ // Entry in body may not exist, but if it doesn't the should_build_asan_release is still correct
56+ const latestBuildAsanRelease = ((release.body.split('\n')[1] ?? "").split('@')[1] ?? "").trim()
57+ console.log(` Latest build: ${latestBuild }`)
58+ console.log(` Latest master commit: ${latestMasterCommit }`)
59+ console.log(`Latest asan-release build: ${latestBuildAsanRelease }`)
60+ console.log(` Latest release commit : ${latestReleaseCommit }`)
61+ core.setOutput('should_build', latestBuild !== latestMasterCommit )
62+ core.setOutput('should_build_asan_release ', latestBuildAsanRelease !== latestReleaseCommit )
6363 core.setOutput('previous_release', release.tag_name)
6464 - name : Compute build and reuse matrix
6565 uses : actions/github-script@v8
@@ -68,20 +68,20 @@ jobs:
6868 script : |
6969 const osList = ['ubuntu-22.04', 'ubuntu-24.04', 'ubuntu-22.04-arm', 'ubuntu-24.04-arm', 'macos-15-intel', 'macos-14']
7070 const asanHead = { os: 'ubuntu-24.04', name: 'asan' }
71- const asan34 = { os: 'ubuntu-24.04', name: '3.4- asan' }
71+ const asanRelease = { os: 'ubuntu-24.04', name: 'asan-release ' }
7272 const skipSlow = "${{ github.event_name == 'workflow_dispatch' && github.event.inputs.skip_slow == 'true' }}"
73- const skip34ASan = "${{ steps.check_commit.outputs.should_build_3_4_asan == 'false' }}"
73+ const skipAsanRelease = "${{ steps.check_commit.outputs.should_build_asan_release == 'false' }}"
7474 const buildMatrix = JSON.stringify(
7575 skipSlow === 'false' ?
76- { os: osList, name: ['head', 'debug'], include: (skip34ASan === 'true' ? [asanHead] : [asanHead, asan34 ]) } :
76+ { os: osList, name: ['head', 'debug'], include: (skipAsanRelease === 'true' ? [asanHead] : [asanHead, asanRelease ]) } :
7777 { os: osList, name: ['head'] }
7878 )
7979 core.setOutput('build_matrix', buildMatrix)
8080 // Note: GitHub doesn't like having an empty matrix, so make sure at least noop is left
8181 const reuseMatrix = JSON.stringify(
8282 skipSlow === 'false' ?
83- (skip34ASan === 'true' ? { include: [asan34 ] } : { os: ['ubuntu-latest'], name: ['noop'] }) :
84- { os: osList, name: ['debug'], include: [asanHead, asan34 ] }
83+ (skipAsanRelease === 'true' ? { include: [asanRelease ] } : { os: ['ubuntu-latest'], name: ['noop'] }) :
84+ { os: osList, name: ['debug'], include: [asanHead, asanRelease ] }
8585 )
8686 core.setOutput('reuse_matrix', reuseMatrix)
8787 console.log(`build_matrix: ${buildMatrix}, reuse_matrix: ${reuseMatrix}`)
@@ -110,11 +110,11 @@ jobs:
110110 echo "tag=$tag" >> $GITHUB_OUTPUT
111111 - name : Set release description to built hash
112112 run : echo "master ➜ ruby/ruby@${{ needs.prepare.outputs.commit }}" >> release-description.md
113- - name : Set release description to 3.4- asan built hash
114- run : echo "3.4- asan ➜ ruby/ruby@${{ needs.prepare.outputs.commit_3_4_asan }}" >> release-description.md
115- - name : Append note if 3.4- asan build was reused
116- if : ${{ needs.prepare.outputs.should_build_3_4_asan == 'false' }}
117- run : echo "Skipped building and reused build from ${{ needs.prepare.outputs.previous_release }} for 3.4- asan ruby" >> release-description.md
113+ - name : Set release description to asan-release built hash
114+ run : echo "asan-release ➜ ruby/ruby@${{ needs.prepare.outputs.latest_release_commit }}" >> release-description.md
115+ - name : Append note if asan-release build was reused
116+ if : ${{ needs.prepare.outputs.should_build_asan_release == 'false' }}
117+ run : echo "Skipped building and reused build from ${{ needs.prepare.outputs.previous_release }} for asan-release ruby" >> release-description.md
118118 - name : Append note if builds were reused
119119 if : ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.skip_slow == 'true' }}
120120 run : echo "Skipped building and reused builds from ${{ needs.prepare.outputs.previous_release }} for debug and asan rubies" >> release-description.md
@@ -138,7 +138,7 @@ jobs:
138138 uses : actions/checkout@v6
139139 with :
140140 repository : ruby/ruby
141- ref : ${{ matrix.name != '3.4- asan' && needs.prepare.outputs.commit || needs.prepare.outputs.commit_3_4_asan }}
141+ ref : ${{ matrix.name != 'asan-release ' && needs.prepare.outputs.commit || needs.prepare.outputs.latest_release_commit }}
142142 - name : Clone ruby-dev-builder
143143 uses : actions/checkout@v6
144144 with :
@@ -243,7 +243,7 @@ jobs:
243243 path : test_files
244244 - name : CLI Test
245245 run : ruby test_files/cli_test.rb
246- if : matrix.name != '3.4- asan'
246+ if : matrix.name != 'asan-release '
247247 - run : mv test_files/Gemfile .
248248 - run : ruby -e 'pp RbConfig::CONFIG'
249249 - run : ruby --yjit -e 'exit RubyVM::YJIT.enabled?'
0 commit comments