osem-fcy/.github/workflows/spec.yml
2021-05-01 18:04:55 -07:00

59 lines
1.6 KiB
YAML

name: Specs
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
linters:
continue-on-error: true
runs-on: ubuntu-latest
env:
OSEM_RUBY_VERSION: 2.6.6
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6.6
bundler-cache: true
- run: bundle exec rubocop
- run: bundle exec haml-lint app/views
spec:
continue-on-error: true
runs-on: ubuntu-latest
name: spec
env:
OSEM_DB_ADAPTER: sqlite3
OSEM_RUBY_VERSION: 2.6.6
RAILS_ENV: test
strategy:
matrix:
suite: [models, features, controllers, ability, leftovers]
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6.6
bundler-cache: true
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: '12.x'
- name: Install JavaScript libraries via npm
run: npm install
- name: Prepare spec
run: |
rm -f osem_test osem_development
bundle exec rake db:setup --trace
bundle exec bin/rails webdrivers:chromedriver:update
- name: spec/${{ matrix.suite }}
run: bundle exec rake spec:${{ matrix.suite }}
- name: coverage upload ${{ matrix.suite }}
uses: codacy/codacy-coverage-reporter-action@v1
if: github.ref == 'refs/heads/master'
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
coverage-reports: coverage/coverage.xml