Repository navigation
build(deps): bump the github-actions-dependencies group across 1 directory with 4 updates #217
Workflow file for this run
This file contains hidden or 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
| # https://github.com/actions/runner-images#available-images | |
| name: Build & Test | |
| on: [push, pull_request] | |
| permissions: | |
| contents: read | |
| jobs: | |
| GCC-CLANG: | |
| name: "${{ matrix.os }}-${{ matrix.altname || matrix.cc }}" | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 15 | |
| strategy: | |
| fail-fast: false | |
| max-parallel: 8 | |
| matrix: | |
| include: | |
| # x86-64 LP64 with signed plain `char`. | |
| - {os: ubuntu-24.04, cc: gcc, cxx: g++} | |
| - {os: ubuntu-24.04, cc: clang, cxx: clang++} | |
| - {os: ubuntu-22.04, cc: gcc, cxx: g++} | |
| - {os: ubuntu-22.04, cc: clang, cxx: clang++} | |
| # AArch64 LP64 with unsigned plain `char`. | |
| - {os: ubuntu-24.04-arm, cc: gcc, cxx: g++} | |
| # x86 ILP32 with signed plain `char`. | |
| - os: ubuntu-24.04 | |
| cc: i686-linux-gnu-gcc | |
| cxx: i686-linux-gnu-g++ | |
| altname: "i686-gcc" | |
| # AArch32 ILP32 with unsigned plain `char`, run under qemu. The | |
| # emulation is why this one says so: see build_config/ci/gcc-clang.rb. | |
| - os: ubuntu-24.04 | |
| cc: arm-linux-gnueabihf-gcc | |
| cxx: arm-linux-gnueabihf-g++ | |
| altname: "armhf-gcc" | |
| emulated: "1" | |
| # AArch64 LP64 with signed plain `char`. | |
| - {os: macos-26, cc: clang, cxx: clang++} | |
| - {os: macos-15, cc: clang, cxx: clang++} | |
| # x86-64 LLP64 with signed plain `char`. | |
| - {os: windows-2025, cc: gcc, cxx: g++, altname: "mingw-gcc"} | |
| - {os: windows-2022, cc: gcc, cxx: g++, altname: "mingw-gcc"} | |
| env: | |
| MRUBY_CONFIG: ci/gcc-clang | |
| CC: ${{ matrix.cc }} | |
| CXX: ${{ matrix.cxx }} | |
| LD: ${{ matrix.cc }} | |
| MRUBY_CI_EMULATED: ${{ matrix.emulated }} | |
| steps: | |
| - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| submodules: true | |
| - name: Install i386 cross-build toolchain | |
| if: matrix.altname == 'i686-gcc' | |
| timeout-minutes: 5 | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y --no-install-recommends \ | |
| crossbuild-essential-i386 | |
| - name: Install armhf cross-build toolchain | |
| if: matrix.altname == 'armhf-gcc' | |
| timeout-minutes: 5 | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y --no-install-recommends \ | |
| crossbuild-essential-armhf binfmt-support qemu-user-static | |
| echo 'QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf' >> "$GITHUB_ENV" | |
| - name: Ruby version | |
| run: ruby -v | |
| - name: Compiler version | |
| run: ${{ env.CC }} --version | |
| - name: Defines | |
| run: rake defines | |
| - name: Build | |
| run: rake -m test:build | |
| - name: Size | |
| run: rake size | |
| - name: Test | |
| run: rake test:run | |
| Cosmopolitan: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 15 | |
| steps: | |
| - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| submodules: true | |
| - name: Ruby version | |
| run: ruby -v | |
| - name: Cache cosmocc | |
| uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| id: cache-cosmocc | |
| with: | |
| path: ~/cosmo | |
| key: cosmocc-${{ runner.os }}-20260104 | |
| - name: Install cosmocc | |
| if: steps.cache-cosmocc.outputs.cache-hit != 'true' | |
| run: | | |
| mkdir -p ~/cosmo && cd ~/cosmo | |
| wget https://cosmo.zip/pub/cosmocc/cosmocc.zip | |
| unzip cosmocc.zip | |
| - name: Defines | |
| run: | | |
| COSMO_ROOT=~/cosmo rake defines MRUBY_CONFIG=cosmopolitan | |
| - name: Build | |
| run: | | |
| COSMO_ROOT=~/cosmo rake -m test:build MRUBY_CONFIG=cosmopolitan | |
| - name: Size | |
| run: | | |
| COSMO_ROOT=~/cosmo rake size MRUBY_CONFIG=cosmopolitan | |
| - name: Test | |
| run: | | |
| COSMO_ROOT=~/cosmo rake test:run MRUBY_CONFIG=cosmopolitan | |
| Windows-VC: | |
| runs-on: windows-2022 | |
| timeout-minutes: 10 | |
| env: | |
| MRUBY_CONFIG: ci/msvc | |
| steps: | |
| - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| submodules: true | |
| - name: Ruby version | |
| run: ruby -v | |
| - name: Defines | |
| shell: cmd | |
| run: | | |
| call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
| rake defines | |
| - name: Build | |
| shell: cmd | |
| run: | | |
| call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
| rake -m test:build | |
| - name: Size | |
| shell: cmd | |
| run: | | |
| call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
| rake size | |
| - name: Test | |
| shell: cmd | |
| run: | | |
| call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
| rake test:run |