osem-fcy/.github/workflows/spec.yml
Henne Vogelsang 7dbe2d19fe
Move factory linting to CI cycle
No need to do this before each and every spec or example. Speeds
up suite and make things less fragile.
2021-08-18 14:38:55 +02:00

52 lines
1.4 KiB
YAML

name: Specs
on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_dispatch:
jobs:
linters:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.5
bundler-cache: true
- run: bundle exec rubocop
- run: bundle exec haml-lint app/views
spec:
needs: linters
runs-on: ubuntu-latest
name: spec
env:
OSEM_DB_ADAPTER: sqlite3
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.5
bundler-cache: true
- name: Prepare spec
run: |
rm -f osem_test osem_development
bundle exec rake db:setup --trace
bundle exec bin/rails webdrivers:chromedriver:update
bundle exec rake factory_bot:lint RAILS_ENV=test
- name: spec/${{ matrix.suite }}
run: bundle exec rake spec:${{ matrix.suite }}
- name: coverage upload ${{ matrix.suite }}
uses: codacy/codacy-coverage-reporter-action@master
if: github.ref == 'refs/heads/master'
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
coverage-reports: coverage/coverage.xml