Implement broader testing across platforms.

This commit is contained in:
Mark VanderVoord
2026-06-30 14:53:17 -04:00
parent 8c3a33617f
commit aedb21638f
2 changed files with 32 additions and 14 deletions
+26 -11
View File
@@ -14,36 +14,51 @@ jobs:
# Job: Unit test suite # Job: Unit test suite
unit-tests: unit-tests:
name: "Unit Tests" name: "Unit Tests"
runs-on: ubuntu-latest runs-on: ${{ matrix.os }}
strategy: strategy:
fail-fast: false
matrix: matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
ruby: ['3.0', '3.1', '3.2', '3.3'] ruby: ['3.0', '3.1', '3.2', '3.3']
exclude:
# create sparse matrix to avoid pointless duplication
- os: macos-latest
ruby: '3.1'
- os: macos-latest
ruby: '3.2'
- os: windows-latest
ruby: '3.1'
- os: windows-latest
ruby: '3.2'
steps: steps:
# Install Multilib # Install Multilib (Linux only)
- name: Install Multilib - name: Install Multilib
if: matrix.os == 'ubuntu-latest'
run: | run: |
sudo apt-get update -qq sudo apt-get update -qq
sudo apt-get install --assume-yes --quiet gcc-multilib sudo apt-get install --assume-yes --quiet gcc-multilib
# Add MinGW GCC to PATH (Windows only — MSYS2 is pre-installed on the runner)
- name: Add GCC to PATH
if: matrix.os == 'windows-latest'
run: echo "C:\msys64\mingw64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
# Checks out repository under $GITHUB_WORKSPACE # Checks out repository under $GITHUB_WORKSPACE
- name: Checkout Latest Repo - name: Checkout Latest Repo
uses: actions/checkout@v2 uses: actions/checkout@v4
with: with:
submodules: recursive submodules: recursive
# Setup Ruby Testing Tools to do tests on multiple ruby version # Setup Ruby
- name: Setup Ruby Testing Tools - name: Setup Ruby
uses: ruby/setup-ruby@v1 uses: ruby/setup-ruby@v1
with: with:
ruby-version: ${{ matrix.ruby }} ruby-version: ${{ matrix.ruby }}
# Install Ruby Testing Tools # Install Ruby dependencies
- name: Setup Ruby Testing Tools - name: Install Ruby Dependencies
run: | run: |
sudo gem install rspec gem install bundler
sudo gem install rubocop -v 1.57.2
sudo gem install bundler
bundle update
bundle install bundle install
# Run Tests # Run Tests
+4 -1
View File
@@ -1 +1,4 @@
source "http://rubygems.org/" source "https://rubygems.org/"
gem 'rspec'
gem 'rubocop', '1.57.2'