Speed up marking of local-immune table #237
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Some tests depending on this name 'Compilations' via $GITHUB_WORKFLOW. Make sure to update such tests when renaming this workflow. | |
name: Compilations | |
on: | |
push: | |
paths-ignore: | |
- 'doc/**' | |
- '**/man/*' | |
- '**.md' | |
- '**.rdoc' | |
- '**/.document' | |
- '.*.yml' | |
pull_request: | |
paths-ignore: | |
- 'doc/**' | |
- '**/man/*' | |
- '**.md' | |
- '**.rdoc' | |
- '**/.document' | |
- '.*.yml' | |
merge_group: | |
concurrency: | |
group: ${{ github.workflow }} / ${{ startsWith(github.event_name, 'pull') && github.ref_name || github.sha }} | |
cancel-in-progress: ${{ startsWith(github.event_name, 'pull') }} | |
permissions: | |
contents: read | |
# Each job is split so that they roughly take 30min to run through. | |
jobs: | |
compile1: | |
name: 'omnibus compilations, #1' | |
runs-on: ubuntu-latest | |
if: >- | |
${{!(false | |
|| contains(github.event.head_commit.message, '[DOC]') | |
|| contains(github.event.head_commit.message, 'Document') | |
|| contains(github.event.pull_request.title, '[DOC]') | |
|| contains(github.event.pull_request.title, 'Document') | |
|| contains(github.event.pull_request.labels.*.name, 'Documentation') | |
|| (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]') | |
)}} | |
services: { docuum: { image: 'stephanmisc/docuum', options: '--init', volumes: [ '/root', '/var/run/docker.sock:/var/run/docker.sock' ] } } | |
steps: | |
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: { sparse-checkout-cone-mode: false, sparse-checkout: /.github } | |
- { uses: './.github/actions/setup/directories', with: { srcdir: 'src', builddir: 'build', makeup: true } } | |
- name: 'clang 18 LTO' | |
uses: './.github/actions/compilers' | |
with: | |
tag: clang-18 | |
with_gcc: 'clang-18 -flto=auto' | |
optflags: '-O2' | |
enable_shared: false | |
- name: 'GCC 13 LTO' | |
uses: './.github/actions/compilers' | |
with: | |
tag: gcc-13 | |
with_gcc: 'gcc-13 -flto=auto -ffat-lto-objects -Werror=lto-type-mismatch' | |
optflags: '-O2' | |
enable_shared: false | |
compile2: | |
name: 'omnibus compilations, #2' | |
runs-on: ubuntu-latest | |
if: >- | |
${{!(false | |
|| contains(github.event.head_commit.message, '[DOC]') | |
|| contains(github.event.head_commit.message, 'Document') | |
|| contains(github.event.pull_request.title, '[DOC]') | |
|| contains(github.event.pull_request.title, 'Document') | |
|| contains(github.event.pull_request.labels.*.name, 'Documentation') | |
|| (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]') | |
)}} | |
services: { docuum: { image: 'stephanmisc/docuum', options: '--init', volumes: [ '/root', '/var/run/docker.sock:/var/run/docker.sock' ] } } | |
steps: | |
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: { sparse-checkout-cone-mode: false, sparse-checkout: /.github } | |
- { uses: './.github/actions/setup/directories', with: { srcdir: 'src', builddir: 'build', makeup: true } } | |
- { uses: './.github/actions/compilers', name: 'GCC 13', with: { tag: 'gcc-13' } } | |
- { uses: './.github/actions/compilers', name: 'GCC 12', with: { tag: 'gcc-12' } } | |
- { uses: './.github/actions/compilers', name: 'GCC 11', with: { tag: 'gcc-11' } } | |
- { uses: './.github/actions/compilers', name: 'GCC 10', with: { tag: 'gcc-10' } } | |
- { uses: './.github/actions/compilers', name: 'GCC 9', with: { tag: 'gcc-9' } } | |
- { uses: './.github/actions/compilers', name: 'GCC 8', with: { tag: 'gcc-8' } } | |
- { uses: './.github/actions/compilers', name: 'GCC 7', with: { tag: 'gcc-7' } } | |
compile3: | |
name: 'omnibus compilations, #3' | |
runs-on: ubuntu-latest | |
if: >- | |
${{!(false | |
|| contains(github.event.head_commit.message, '[DOC]') | |
|| contains(github.event.head_commit.message, 'Document') | |
|| contains(github.event.pull_request.title, '[DOC]') | |
|| contains(github.event.pull_request.title, 'Document') | |
|| contains(github.event.pull_request.labels.*.name, 'Documentation') | |
|| (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]') | |
)}} | |
services: { docuum: { image: 'stephanmisc/docuum', options: '--init', volumes: [ '/root', '/var/run/docker.sock:/var/run/docker.sock' ] } } | |
steps: | |
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: { sparse-checkout-cone-mode: false, sparse-checkout: /.github } | |
- { uses: './.github/actions/setup/directories', with: { srcdir: 'src', builddir: 'build', makeup: true } } | |
- { uses: './.github/actions/compilers', name: 'clang 20', with: { tag: 'clang-20' } } | |
- { uses: './.github/actions/compilers', name: 'clang 19', with: { tag: 'clang-19' } } | |
- { uses: './.github/actions/compilers', name: 'clang 18', with: { tag: 'clang-18' } } | |
- { uses: './.github/actions/compilers', name: 'clang 17', with: { tag: 'clang-17' } } | |
- { uses: './.github/actions/compilers', name: 'clang 16', with: { tag: 'clang-16' } } | |
- { uses: './.github/actions/compilers', name: 'clang 15', with: { tag: 'clang-15' } } | |
- { uses: './.github/actions/compilers', name: 'clang 14', with: { tag: 'clang-14' } } | |
- { uses: './.github/actions/compilers', name: 'clang 13', with: { tag: 'clang-13' } } | |
- { uses: './.github/actions/compilers', name: 'clang 12', with: { tag: 'clang-12' } } | |
compile4: | |
name: 'omnibus compilations, #4' | |
runs-on: ubuntu-latest | |
if: >- | |
${{!(false | |
|| contains(github.event.head_commit.message, '[DOC]') | |
|| contains(github.event.head_commit.message, 'Document') | |
|| contains(github.event.pull_request.title, '[DOC]') | |
|| contains(github.event.pull_request.title, 'Document') | |
|| contains(github.event.pull_request.labels.*.name, 'Documentation') | |
|| (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]') | |
)}} | |
services: { docuum: { image: 'stephanmisc/docuum', options: '--init', volumes: [ '/root', '/var/run/docker.sock:/var/run/docker.sock' ] } } | |
steps: | |
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: { sparse-checkout-cone-mode: false, sparse-checkout: /.github } | |
- { uses: './.github/actions/setup/directories', with: { srcdir: 'src', builddir: 'build', makeup: true } } | |
- { uses: './.github/actions/compilers', name: 'clang 11', with: { tag: 'clang-11' } } | |
- { uses: './.github/actions/compilers', name: 'clang 10', with: { tag: 'clang-10' } } | |
# llvm-objcopy<=9 doesn't have --wildcard. It compiles, but leaves Rust symbols in libyjit.o. | |
- { uses: './.github/actions/compilers', name: 'clang 9', with: { tag: 'clang-9', append_configure: '--disable-yjit' } } | |
- { uses: './.github/actions/compilers', name: 'clang 8', with: { tag: 'clang-8', append_configure: '--disable-yjit' } } | |
- { uses: './.github/actions/compilers', name: 'clang 7', with: { tag: 'clang-7', append_configure: '--disable-yjit' } } | |
- { uses: './.github/actions/compilers', name: 'clang 6', with: { tag: 'clang-6.0', append_configure: '--disable-yjit' } } | |
- { uses: './.github/actions/compilers', name: 'ext/Setup', with: { static_exts: 'etc json/* */escape' } } | |
compile5: | |
name: 'omnibus compilations, #5' | |
runs-on: ubuntu-latest | |
if: >- | |
${{!(false | |
|| contains(github.event.head_commit.message, '[DOC]') | |
|| contains(github.event.head_commit.message, 'Document') | |
|| contains(github.event.pull_request.title, '[DOC]') | |
|| contains(github.event.pull_request.title, 'Document') | |
|| contains(github.event.pull_request.labels.*.name, 'Documentation') | |
|| (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]') | |
)}} | |
services: { docuum: { image: 'stephanmisc/docuum', options: '--init', volumes: [ '/root', '/var/run/docker.sock:/var/run/docker.sock' ] } } | |
steps: | |
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: { sparse-checkout-cone-mode: false, sparse-checkout: /.github } | |
- { uses: './.github/actions/setup/directories', with: { srcdir: 'src', builddir: 'build', makeup: true } } | |
# -Wno-strict-prototypes is necessary with current clang-15 since | |
# older autoconf generate functions without prototype and -pedantic | |
# now implies strict-prototypes. Disabling the error but leaving the | |
# warning generates a lot of noise from use of ANYARGS in | |
# rb_define_method() and friends. | |
# See: https://github.com/llvm/llvm-project/commit/11da1b53d8cd3507959022cd790d5a7ad4573d94 | |
- { uses: './.github/actions/compilers', name: 'C99', with: { CFLAGS: '-std=c99 -Werror=pedantic -pedantic-errors -Wno-strict-prototypes' } } | |
- { uses: './.github/actions/compilers', name: 'C11', with: { CFLAGS: '-std=c11 -Werror=pedantic -pedantic-errors -Wno-strict-prototypes' } } | |
- { uses: './.github/actions/compilers', name: 'C17', with: { CFLAGS: '-std=c17 -Werror=pedantic -pedantic-errors -Wno-strict-prototypes' } } | |
- { uses: './.github/actions/compilers', name: 'C23', with: { CFLAGS: '-std=c2x -Werror=pedantic -pedantic-errors -Wno-strict-prototypes' } } | |
- { uses: './.github/actions/compilers', name: 'C++98', with: { CXXFLAGS: '-std=c++98 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' } } | |
- { uses: './.github/actions/compilers', name: 'C++11', with: { CXXFLAGS: '-std=c++11 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' } } | |
- { uses: './.github/actions/compilers', name: 'C++14', with: { CXXFLAGS: '-std=c++14 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' } } | |
- { uses: './.github/actions/compilers', name: 'C++17', with: { CXXFLAGS: '-std=c++17 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' } } | |
- { uses: './.github/actions/compilers', name: 'C++20', with: { CXXFLAGS: '-std=c++20 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' } } | |
- { uses: './.github/actions/compilers', name: 'C++23', with: { CXXFLAGS: '-std=c++23 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' } } | |
- { uses: './.github/actions/compilers', name: 'C++26', with: { CXXFLAGS: '-std=c++26 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' } } | |
compile6: | |
name: 'omnibus compilations, #6' | |
runs-on: ubuntu-latest | |
if: >- | |
${{!(false | |
|| contains(github.event.head_commit.message, '[DOC]') | |
|| contains(github.event.head_commit.message, 'Document') | |
|| contains(github.event.pull_request.title, '[DOC]') | |
|| contains(github.event.pull_request.title, 'Document') | |
|| contains(github.event.pull_request.labels.*.name, 'Documentation') | |
|| (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]') | |
)}} | |
services: { docuum: { image: 'stephanmisc/docuum', options: '--init', volumes: [ '/root', '/var/run/docker.sock:/var/run/docker.sock' ] } } | |
steps: | |
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: { sparse-checkout-cone-mode: false, sparse-checkout: /.github } | |
- { uses: './.github/actions/setup/directories', with: { srcdir: 'src', builddir: 'build', makeup: true } } | |
- { uses: './.github/actions/compilers', name: '-O0', with: { optflags: '-O0 -march=x86-64 -mtune=generic' } } | |
# - { uses: './.github/actions/compilers', name: '-O3', with: { optflags: '-O3 -march=x86-64 -mtune=generic', check: true } } | |
- { uses: './.github/actions/compilers', name: 'gmp', with: { append_configure: '--with-gmp', check: 'ruby/test_bignum.rb', mspecopt: "/github/workspace/src/spec/ruby/core/integer" } } | |
- { uses: './.github/actions/compilers', name: 'jemalloc', with: { append_configure: '--with-jemalloc' } } | |
- { uses: './.github/actions/compilers', name: 'valgrind', with: { append_configure: '--with-valgrind' } } | |
- { uses: './.github/actions/compilers', name: 'coroutine=ucontext', with: { append_configure: '--with-coroutine=ucontext' } } | |
- { uses: './.github/actions/compilers', name: 'coroutine=pthread', with: { append_configure: '--with-coroutine=pthread' } } | |
compile7: | |
name: 'omnibus compilations, #7' | |
runs-on: ubuntu-latest | |
if: >- | |
${{!(false | |
|| contains(github.event.head_commit.message, '[DOC]') | |
|| contains(github.event.head_commit.message, 'Document') | |
|| contains(github.event.pull_request.title, '[DOC]') | |
|| contains(github.event.pull_request.title, 'Document') | |
|| contains(github.event.pull_request.labels.*.name, 'Documentation') | |
|| (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]') | |
)}} | |
services: { docuum: { image: 'stephanmisc/docuum', options: '--init', volumes: [ '/root', '/var/run/docker.sock:/var/run/docker.sock' ] } } | |
steps: | |
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: { sparse-checkout-cone-mode: false, sparse-checkout: /.github } | |
- { uses: './.github/actions/setup/directories', with: { srcdir: 'src', builddir: 'build', makeup: true } } | |
- { uses: './.github/actions/compilers', name: 'disable-jit', with: { append_configure: '--disable-yjit --disable-rjit' } } | |
- { uses: './.github/actions/compilers', name: 'disable-dln', with: { append_configure: '--disable-dln' } } | |
- { uses: './.github/actions/compilers', name: 'enable-mkmf-verbose', with: { append_configure: '--enable-mkmf-verbose' } } | |
- { uses: './.github/actions/compilers', name: 'disable-rubygems', with: { append_configure: '--disable-rubygems' } } | |
- { uses: './.github/actions/compilers', name: 'RUBY_DEVEL', with: { append_configure: '--enable-devel' } } | |
- { uses: './.github/actions/compilers', name: 'OPT_THREADED_CODE=0', with: { cppflags: '-DOPT_THREADED_CODE=0' } } | |
- { uses: './.github/actions/compilers', name: 'OPT_THREADED_CODE=1', with: { cppflags: '-DOPT_THREADED_CODE=1' } } | |
- { uses: './.github/actions/compilers', name: 'OPT_THREADED_CODE=2', with: { cppflags: '-DOPT_THREADED_CODE=2' } } | |
compile8: | |
name: 'omnibus compilations, #8' | |
runs-on: ubuntu-latest | |
if: >- | |
${{!(false | |
|| contains(github.event.head_commit.message, '[DOC]') | |
|| contains(github.event.head_commit.message, 'Document') | |
|| contains(github.event.pull_request.title, '[DOC]') | |
|| contains(github.event.pull_request.title, 'Document') | |
|| contains(github.event.pull_request.labels.*.name, 'Documentation') | |
|| (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]') | |
)}} | |
services: { docuum: { image: 'stephanmisc/docuum', options: '--init', volumes: [ '/root', '/var/run/docker.sock:/var/run/docker.sock' ] } } | |
steps: | |
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: { sparse-checkout-cone-mode: false, sparse-checkout: /.github } | |
- { uses: './.github/actions/setup/directories', with: { srcdir: 'src', builddir: 'build', makeup: true } } | |
- { uses: './.github/actions/compilers', name: 'NDEBUG', with: { cppflags: '-DNDEBUG' } } | |
- { uses: './.github/actions/compilers', name: 'RUBY_DEBUG', with: { cppflags: '-DRUBY_DEBUG' } } | |
- { uses: './.github/actions/compilers', name: 'ARRAY_DEBUG', with: { cppflags: '-DARRAY_DEBUG' } } | |
- { uses: './.github/actions/compilers', name: 'BIGNUM_DEBUG', with: { cppflags: '-DBIGNUM_DEBUG' } } | |
- { uses: './.github/actions/compilers', name: 'CCAN_LIST_DEBUG', with: { cppflags: '-DCCAN_LIST_DEBUG' } } | |
- { uses: './.github/actions/compilers', name: 'CPDEBUG=-1', with: { cppflags: '-DCPDEBUG=-1' } } | |
- { uses: './.github/actions/compilers', name: 'ENC_DEBUG', with: { cppflags: '-DENC_DEBUG' } } | |
- { uses: './.github/actions/compilers', name: 'GC_DEBUG', with: { cppflags: '-DGC_DEBUG' } } | |
- { uses: './.github/actions/compilers', name: 'HASH_DEBUG', with: { cppflags: '-DHASH_DEBUG' } } | |
- { uses: './.github/actions/compilers', name: 'ID_TABLE_DEBUG', with: { cppflags: '-DID_TABLE_DEBUG' } } | |
compile9: | |
name: 'omnibus compilations, #9' | |
runs-on: ubuntu-latest | |
if: >- | |
${{!(false | |
|| contains(github.event.head_commit.message, '[DOC]') | |
|| contains(github.event.head_commit.message, 'Document') | |
|| contains(github.event.pull_request.title, '[DOC]') | |
|| contains(github.event.pull_request.title, 'Document') | |
|| contains(github.event.pull_request.labels.*.name, 'Documentation') | |
|| (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]') | |
)}} | |
services: { docuum: { image: 'stephanmisc/docuum', options: '--init', volumes: [ '/root', '/var/run/docker.sock:/var/run/docker.sock' ] } } | |
steps: | |
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: { sparse-checkout-cone-mode: false, sparse-checkout: /.github } | |
- { uses: './.github/actions/setup/directories', with: { srcdir: 'src', builddir: 'build', makeup: true } } | |
- { uses: './.github/actions/compilers', name: 'RGENGC_DEBUG=-1', with: { cppflags: '-DRGENGC_DEBUG=-1' } } | |
- { uses: './.github/actions/compilers', name: 'SYMBOL_DEBUG', with: { cppflags: '-DSYMBOL_DEBUG' } } | |
- { uses: './.github/actions/compilers', name: 'RGENGC_CHECK_MODE', with: { cppflags: '-DRGENGC_CHECK_MODE' } } | |
- { uses: './.github/actions/compilers', name: 'VM_CHECK_MODE', with: { cppflags: '-DVM_CHECK_MODE' } } | |
- { uses: './.github/actions/compilers', name: 'USE_EMBED_CI=0', with: { cppflags: '-DUSE_EMBED_CI=0' } } | |
- { uses: './.github/actions/compilers', name: 'USE_FLONUM=0', with: { cppflags: '-DUSE_FLONUM=0', append_configure: '--disable-yjit' } } | |
- { uses: './.github/actions/compilers', name: 'USE_LAZY_LOAD', with: { cppflags: '-DUSE_LAZY_LOAD' } } | |
- { uses: './.github/actions/compilers', name: 'USE_SYMBOL_GC=0', with: { cppflags: '-DUSE_SYMBOL_GC=0' } } | |
- { uses: './.github/actions/compilers', name: 'USE_THREAD_CACHE=0', with: { cppflags: '-DUSE_THREAD_CACHE=0' } } | |
compileX: | |
name: 'omnibus compilations, #10' | |
runs-on: ubuntu-latest | |
if: >- | |
${{!(false | |
|| contains(github.event.head_commit.message, '[DOC]') | |
|| contains(github.event.head_commit.message, 'Document') | |
|| contains(github.event.pull_request.title, '[DOC]') | |
|| contains(github.event.pull_request.title, 'Document') | |
|| contains(github.event.pull_request.labels.*.name, 'Documentation') | |
|| (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]') | |
)}} | |
services: { docuum: { image: 'stephanmisc/docuum', options: '--init', volumes: [ '/root', '/var/run/docker.sock:/var/run/docker.sock' ] } } | |
steps: | |
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: { sparse-checkout-cone-mode: false, sparse-checkout: /.github } | |
- { uses: './.github/actions/setup/directories', with: { srcdir: 'src', builddir: 'build', makeup: true } } | |
- { uses: './.github/actions/compilers', name: 'USE_RUBY_DEBUG_LOG=1', with: { cppflags: '-DUSE_RUBY_DEBUG_LOG=1' } } | |
- { uses: './.github/actions/compilers', name: 'USE_DEBUG_COUNTER', with: { cppflags: '-DUSE_DEBUG_COUNTER=1' } } | |
- { uses: './.github/actions/compilers', name: 'SHARABLE_MIDDLE_SUBSTRING', with: { cppflags: '-DSHARABLE_MIDDLE_SUBSTRING=1' } } | |
- { uses: './.github/actions/compilers', name: 'DEBUG_FIND_TIME_NUMGUESS', with: { cppflags: '-DDEBUG_FIND_TIME_NUMGUESS' } } | |
- { uses: './.github/actions/compilers', name: 'DEBUG_INTEGER_PACK', with: { cppflags: '-DDEBUG_INTEGER_PACK' } } | |
- { uses: './.github/actions/compilers', name: 'GC_DEBUG_STRESS_TO_CLASS', with: { cppflags: '-DGC_DEBUG_STRESS_TO_CLASS' } } | |
- { uses: './.github/actions/compilers', name: 'GC_ENABLE_LAZY_SWEEP=0', with: { cppflags: '-DGC_ENABLE_LAZY_SWEEP=0' } } | |
- { uses: './.github/actions/compilers', name: 'GC_PROFILE_DETAIL_MEMORY', with: { cppflags: '-DGC_PROFILE_DETAIL_MEMORY' } } | |
compileB: | |
name: 'omnibus compilations, #11' | |
runs-on: ubuntu-latest | |
if: >- | |
${{!(false | |
|| contains(github.event.head_commit.message, '[DOC]') | |
|| contains(github.event.head_commit.message, 'Document') | |
|| contains(github.event.pull_request.title, '[DOC]') | |
|| contains(github.event.pull_request.title, 'Document') | |
|| contains(github.event.pull_request.labels.*.name, 'Documentation') | |
|| (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]') | |
)}} | |
services: { docuum: { image: 'stephanmisc/docuum', options: '--init', volumes: [ '/root', '/var/run/docker.sock:/var/run/docker.sock' ] } } | |
steps: | |
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: { sparse-checkout-cone-mode: false, sparse-checkout: /.github } | |
- { uses: './.github/actions/setup/directories', with: { srcdir: 'src', builddir: 'build', makeup: true } } | |
- { uses: './.github/actions/compilers', name: 'GC_PROFILE_MORE_DETAIL', with: { cppflags: '-DGC_PROFILE_MORE_DETAIL' } } | |
- { uses: './.github/actions/compilers', name: 'MALLOC_ALLOCATED_SIZE_CHECK', with: { cppflags: '-DMALLOC_ALLOCATED_SIZE_CHECK' } } | |
- { uses: './.github/actions/compilers', name: 'RGENGC_ESTIMATE_OLDMALLOC', with: { cppflags: '-DRGENGC_ESTIMATE_OLDMALLOC' } } | |
# - { uses: './.github/actions/compilers', name: 'RGENGC_FORCE_MAJOR_GC', with: { cppflags: '-DRGENGC_FORCE_MAJOR_GC' } } | |
- { uses: './.github/actions/compilers', name: 'RGENGC_OBJ_INFO', with: { cppflags: '-DRGENGC_OBJ_INFO' } } | |
- { uses: './.github/actions/compilers', name: 'RGENGC_PROFILE', with: { cppflags: '-DRGENGC_PROFILE' } } | |
- { uses: './.github/actions/compilers', name: 'VM_DEBUG_BP_CHECK', with: { cppflags: '-DVM_DEBUG_BP_CHECK' } } | |
- { uses: './.github/actions/compilers', name: 'VM_DEBUG_VERIFY_METHOD_CACHE', with: { cppflags: '-DVM_DEBUG_VERIFY_METHOD_CACHE' } } | |
compileC: | |
name: 'omnibus compilations, #12' | |
runs-on: ubuntu-latest | |
if: >- | |
${{!(false | |
|| contains(github.event.head_commit.message, '[DOC]') | |
|| contains(github.event.head_commit.message, 'Document') | |
|| contains(github.event.pull_request.title, '[DOC]') | |
|| contains(github.event.pull_request.title, 'Document') | |
|| contains(github.event.pull_request.labels.*.name, 'Documentation') | |
|| (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]') | |
)}} | |
services: { docuum: { image: 'stephanmisc/docuum', options: '--init', volumes: [ '/root', '/var/run/docker.sock:/var/run/docker.sock' ] } } | |
steps: | |
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: { sparse-checkout-cone-mode: false, sparse-checkout: /.github } | |
- { uses: './.github/actions/setup/directories', with: { srcdir: 'src', builddir: 'build', makeup: true } } | |
- { uses: './.github/actions/compilers', name: 'enable-yjit', with: { append_configure: '--enable-yjit --disable-rjit' } } | |
- { uses: './.github/actions/compilers', name: 'enable-rjit', with: { append_configure: '--enable-rjit --disable-yjit' } } | |
- { uses: './.github/actions/compilers', name: 'YJIT_FORCE_ENABLE', with: { cppflags: '-DYJIT_FORCE_ENABLE' } } | |
- { uses: './.github/actions/compilers', name: 'RJIT_FORCE_ENABLE', with: { cppflags: '-DRJIT_FORCE_ENABLE' } } | |
- { uses: './.github/actions/compilers', name: 'UNIVERSAL_PARSER', with: { cppflags: '-DUNIVERSAL_PARSER' } } | |
compilemax: | |
name: 'omnibus compilations, result' | |
runs-on: ubuntu-latest | |
if: ${{ always() }} | |
needs: | |
- 'compile1' | |
- 'compile2' | |
- 'compile3' | |
- 'compile4' | |
- 'compile5' | |
- 'compile6' | |
- 'compile7' | |
- 'compile8' | |
- 'compile9' | |
- 'compileX' | |
- 'compileB' | |
- 'compileC' | |
steps: | |
- uses: ./.github/actions/slack | |
with: | |
label: 'omnibus' | |
SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot | |
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }} | |
- run: false | |
working-directory: | |
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }} | |
defaults: | |
run: | |
working-directory: build |