Skip to content

Commit c98d72a

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 64213a9 commit c98d72a

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:
@@ -43,16 +44,16 @@ jobs:
4344
- name: Run tests with coverage
4445
run: bundle exec rspec
4546

46-
- name: Upload coverage artifact (Ruby 3.3 only)
47-
if: matrix.ruby-version == '3.3'
47+
- name: Upload coverage artifact (Ruby 3.3 on Ubuntu only)
48+
if: matrix.ruby-version == '3.3' && matrix.os == 'ubuntu-latest'
4849
uses: actions/upload-artifact@v4
4950
with:
5051
name: coverage-report
5152
path: coverage/
5253
retention-days: 1
5354

54-
- name: Run RuboCop (Ruby 3.3 only)
55-
if: matrix.ruby-version == '3.3'
55+
- name: Run RuboCop (Ruby 3.3 on Ubuntu only)
56+
if: matrix.ruby-version == '3.3' && matrix.os == 'ubuntu-latest'
5657
run: bundle exec rubocop || true
5758
continue-on-error: true
5859

0 commit comments

Comments
 (0)