Skip to content

Commit 04c2e2b

Browse files
ivoanjoeregon
authored andcommitted
Expose 3.4-asan Ruby builds from ruby-dev-builder
**What does this PR do?** This PR provides the final piece of the puzzle to fix #682: now that ruby-dev-builder is building `3.4-asan` Rubies since ruby/ruby-dev-builder#15, we can make them available for use. **Motivation:** At Datadog, we're using ASan builds to check for issues [in our library](https://github.com/datadog/dd-trace-rb), and having a `3.4-asan` build improves the experience of having these checks be a required CI step. Using the ASan builds built from ruby-head means our CI could break because of unrelated issues/changes from ruby-head. **Additional Notes:** `yarn` was trying really hard to update a bunch of things, which generated A LOT of diff noise. I've manually pared them down just to the actual changes related to adding the new variant so the diff makes a bit more sense. **How to test the change?** I've already tested this in https://github.com/DataDog/dd-trace-rb/actions/runs/13392865620/job/37696781848 and it seems to be working fine!
1 parent 88a8155 commit 04c2e2b

File tree

5 files changed

+10
-4
lines changed

5 files changed

+10
-4
lines changed

.github/workflows/test.yml

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ jobs:
3434
- { os: windows-2025, ruby: mswin }
3535
- { os: windows-2025, ruby: ucrt }
3636
- { os: ubuntu-24.04, ruby: asan }
37+
- { os: ubuntu-24.04, ruby: 3.4-asan }
3738
exclude:
3839
# https://github.com/ruby/setup-ruby/issues/496
3940
- { os: ubuntu-22.04, ruby: '2.2' }

README.md

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ This action currently supports these versions of MRI, JRuby and TruffleRuby:
2626
Native extensions are automatically compiled with AddressSanitizer when using `ruby-asan`.
2727
`ruby-asan` is currently only available on `ubuntu-24.04`.
2828

29+
`ruby-3.4-asan` is similar to `ruby-asan` but built from the latest stable 3.4 release tag.
30+
Like `ruby-asan`, it's currently only available on `ubuntu-24.04`.
31+
2932
Regarding Windows ruby master builds, `mingw` is a MSYS2/MinGW build, `head` & `ucrt` are MSYS2/UCRT64
3033
builds, and `mswin` is a MSVC/VS 2022 build.
3134

common.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ export async function time(name, block) {
6666
}
6767

6868
export function isHeadVersion(rubyVersion) {
69-
return ['head', 'debug', 'mingw', 'mswin', 'ucrt', 'asan'].includes(rubyVersion)
69+
// 3.4-asan counts as "head" because the version cannot be selected -- you can only get whatever's latest
70+
return ['head', 'debug', 'mingw', 'mswin', 'ucrt', 'asan', '3.4-asan'].includes(rubyVersion)
7071
}
7172

7273
export function isStableVersion(engine, rubyVersion) {

dist/index.js

+3-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ruby-builder-versions.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"3.2.0-preview1", "3.2.0-preview2", "3.2.0-preview3", "3.2.0-rc1", "3.2.0", "3.2.1", "3.2.2", "3.2.3", "3.2.4", "3.2.5", "3.2.6", "3.2.7",
1515
"3.3.0-preview1", "3.3.0-preview2", "3.3.0-preview3", "3.3.0-rc1", "3.3.0", "3.3.1", "3.3.2", "3.3.3", "3.3.4", "3.3.5", "3.3.6", "3.3.7",
1616
"3.4.0-preview1", "3.4.0-preview2", "3.4.0-rc1", "3.4.0", "3.4.1", "3.4.2",
17-
"head", "debug", "asan"
17+
"head", "debug", "asan", "3.4-asan"
1818
],
1919
"jruby": [
2020
"9.1.17.0",

0 commit comments

Comments
 (0)