.github/workflows/workflow.yml
name: CI
on: push
jobs:
build_and_test:
name: Build, test and coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
- name: Install dependencies
run: |
gem install bundler
bundler install
- name: Rubocop
run: bundle exec rubocop
- name: Ensure latest fixtures
env:
GOOGLE_ACCOUNT_TYPE: service_account
GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }}
GOOGLE_CLIENT_EMAIL: ${{ secrets.GOOGLE_CLIENT_EMAIL }}
GOOGLE_PRIVATE_KEY: ${{ secrets.GOOGLE_PRIVATE_KEY }}
run: bundle exec rake fixtures:validate
- name: Run RSpec and publish coverage on Code Climate
uses: paambaati/codeclimate-action@v2.7.5
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
with:
coverageCommand: bundle exec rspec --format progress
test_multipe_versions:
name: >-
Test on ${{ matrix.os }} ${{ matrix.ruby }}
runs-on: ${{ matrix.os }}-latest
strategy:
matrix:
os: [ubuntu, macos]
ruby: [2.5, 2.6, 2.7]
exclude:
- os: ubuntu
ruby: 2.7
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- name: Install dependencies
run: |
gem install bundler
bundler install
- name: Run RSpec
run: bundle exec rspec --format progress