mirror of
https://github.com/ThrowTheSwitch/CMock.git
synced 2026-09-28 04:57:25 +00:00
Implement broader testing across platforms.
This commit is contained in:
+26
-11
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user