Skip to content

Commit a469264

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 d79307b commit a469264

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

‎.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:
@@ -33,16 +34,16 @@ jobs:
3334
- name: Run tests with coverage
3435
run: bundle exec rspec
3536

36-
- name: Upload coverage artifact (Ruby 3.3 only)
37-
if: matrix.ruby-version == '3.3'
37+
- name: Upload coverage artifact (Ruby 3.3 on Ubuntu only)
38+
if: matrix.ruby-version == '3.3' && matrix.os == 'ubuntu-latest'
3839
uses: actions/upload-artifact@v4
3940
with:
4041
name: coverage-report
4142
path: coverage/
4243
retention-days: 1
4344

44-
- name: Run RuboCop (Ruby 3.3 only)
45-
if: matrix.ruby-version == '3.3'
45+
- name: Run RuboCop (Ruby 3.3 on Ubuntu only)
46+
if: matrix.ruby-version == '3.3' && matrix.os == 'ubuntu-latest'
4647
run: bundle exec rubocop || true
4748
continue-on-error: true
4849

0 commit comments

Comments
 (0)