Skip to content

Commit

Permalink
Test against more platforms and operating systems
Browse files Browse the repository at this point in the history
  • Loading branch information
gangelo committed Aug 9, 2024
1 parent b082833 commit cb74a84
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 25 deletions.
70 changes: 45 additions & 25 deletions .github/workflows/ruby.yml
Original file line number Diff line number Diff line change
@@ -1,40 +1,60 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby

name: Ruby

on:
push:
branches: [ "main" ]
branches: ["main"]
pull_request:
branches: [ "main" ]
branches: ["main"]

permissions:
contents: read

jobs:
test:

runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
# Use `rbenv install -l` and only use the latest stable
# version of ruby.
ruby-version: ["3.1.2", "3.1.4", "3.2.2"]
os:
[
ubuntu-latest,
ubuntu-20.04,
macos-latest,
macos-13,
macos-12,
windows-latest,
windows-2019,
]
ruby: ["3.1", "3.2", "3.3"]

steps:
- uses: actions/checkout@v3
- name: Set up Ruby
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
# change this to (see https://github.com/ruby/setup-ruby#versioning):
# uses: ruby/setup-ruby@v1
uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
with:
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Run tests
run: bundle exec rake
- uses: actions/checkout@v3

- name: Set timezone on Linux
if: contains(matrix.os, 'ubuntu')
run: sudo timedatectl set-timezone 'America/New_York'

- name: Set timezone on macOS
if: contains(matrix.os, 'macos')
run: sudo systemsetup -settimezone America/New_York

- name: Set timezone on Windows
if: contains(matrix.os, 'windows')
run: tzutil /s "Eastern Standard Time"

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true

- name: Update RubyGems
run: gem update --system

- name: Disable bundler frozen setting
run: bundle config set frozen false

- name: Install dependencies
run: bundle install

- name: Run tests
run: bundle exec rake
5 changes: 5 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,12 @@ GEM
zeitwerk (2.6.17)

PLATFORMS
arm64-darwin-22
arm64-darwin-23
x64-mingw-ucrt
x64-mingw32
x86_64-darwin-19
x86_64-darwin-20
x86_64-darwin-21
x86_64-linux

Expand Down

0 comments on commit cb74a84

Please sign in to comment.