Skip to content

Commit 53b802d

Browse files
committed
🧪 Add cross-platform testing matrix
- Test across Linux, Windows, and macOS - Maintain Ruby 2.7-3.3 testing on all platforms - Optimize coverage/RuboCop to run only on Ubuntu + Ruby 3.3 - Ensure gem works reliably across different operating systems - Total test matrix: 15 combinations (3 OS × 5 Ruby versions)
1 parent eee7380 commit 53b802d

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

‎.github/workflows/ci.yml‎

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@ permissions:
1414

1515
jobs:
1616
test:
17-
runs-on: ubuntu-latest
17+
runs-on: ${{ matrix.os }}
1818

1919
strategy:
2020
fail-fast: false
2121
matrix:
22+
os: [ubuntu-latest, windows-latest, macos-latest]
2223
ruby-version: ["2.7", "3.0", "3.1", "3.2", "3.3"]
2324

2425
steps:
@@ -36,16 +37,16 @@ jobs:
3637
- name: Run tests with coverage
3738
run: bundle exec rspec
3839

39-
- name: Upload coverage artifact (Ruby 3.3 only)
40-
if: matrix.ruby-version == '3.3'
40+
- name: Upload coverage artifact (Ruby 3.3 on Ubuntu only)
41+
if: matrix.ruby-version == '3.3' && matrix.os == 'ubuntu-latest'
4142
uses: actions/upload-artifact@v4
4243
with:
4344
name: coverage-report
4445
path: coverage/
4546
retention-days: 1
4647

47-
- name: Run RuboCop (Ruby 3.3 only)
48-
if: matrix.ruby-version == '3.3'
48+
- name: Run RuboCop (Ruby 3.3 on Ubuntu only)
49+
if: matrix.ruby-version == '3.3' && matrix.os == 'ubuntu-latest'
4950
run: bundle exec rubocop || true
5051
continue-on-error: true
5152

0 commit comments

Comments
 (0)