.github/workflows/ruby.yml in hashid-rails-1.4.0 vs .github/workflows/ruby.yml in hashid-rails-1.4.1
- old
+ new
@@ -2,34 +2,50 @@
on: [push, pull_request]
jobs:
build:
+ name: Ruby ${{ matrix.ruby }} on Rails ${{ matrix.rails }}
runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ ruby: ["2.5", "2.6"]
+ rails: ["4.2", "5.0", "5.1", "5.2", "6.0"]
+ include:
+ - ruby: "2.7"
+ rails: "6.0"
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- - name: Install Ruby (2.6)
+ - name: Install Ruby (${{ matrix.ruby }})
uses: actions/setup-ruby@v1
with:
- ruby-version: 2.6.x
+ ruby-version: ${{ matrix.ruby }}
- name: Install SQLite
run: sudo apt install -y libsqlite3-dev
- - name: Setup Code Climate test-reporter
- run: |
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
- chmod +x ./cc-test-reporter
- ./cc-test-reporter before-build
+ - name: Cache Ruby Gems
+ uses: actions/cache@v2
+ with:
+ path: vendor/bundle
+ key: ruby-${{ matrix.ruby }}-rails-${{ matrix.rails }}-gems-${{ hashFiles('hashid-rails.gemspec', 'Appraisals') }}
+ restore-keys: |
+ ruby-${{ matrix.ruby }}-rails-${{ matrix.rails }}-gems-
- - name: Build and test with RSpec
+ - name: Install Ruby dependencies
run: |
- gem install bundler
- bundle install --jobs 4 --retry 3
- bundle exec rspec
+ bundle config set path ../vendor/bundle
+ bundle install --gemfile gemfiles/rails_${{ matrix.rails }}.gemfile --jobs 4 --retry 3
- - name: Publish code coverage
- run: |
- export GIT_BRANCH="${GITHUB_REF/refs\/heads\//}"
- ./cc-test-reporter after-build -r ${{secrets.CC_TEST_REPORTER_ID}}
+ - name: Test with RSpec
+ env:
+ BUNDLE_GEMFILE: gemfiles/rails_${{ matrix.rails }}.gemfile
+ run: bundle exec appraisal rails-${{ matrix.rails }} rspec
+
+ - name: Publish Test Coverage
+ uses: paambaati/codeclimate-action@v2.6.0
+ env:
+ CC_TEST_REPORTER_ID: 37aee70bb2e818f3bf4d2af88ea4a4355393901ba98b3876c244d42ed20fdbe1
+ with:
+ coverageCommand: true