ozfortress/citadel

View on GitHub
.github/workflows/rails.yml

Summary

Maintainability
Test Coverage
name: Rails
on: push

jobs:
  verify:
    name: Build
    runs-on: ubuntu-latest

    services:
      postgres:
        image: postgres:9.5
        env:
          POSTGRES_USER: citadel
          POSTGRES_PASSWORD: citadel
        ports: ["5432:5432"]

    steps:
    - uses: actions/checkout@v1
    - name: Install ruby
      uses: actions/setup-ruby@v1
      with:
        ruby-version: 2.5.x
    - name: Setup Cache
      uses: actions/cache@v2
      with:
        path: vendor/bundle
        key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
        restore-keys: |
          ${{ runner.os }}-gems-
    - name: Install dependencies
      run: |
        sudo apt-get -yqq install libpq-dev build-essential libcurl4-openssl-dev
        gem install bundler
        bundle config path vendor/bundle
        bundle config set --local without 'development'
        bundle install --jobs 4 --retry 3
    - name: Setup database
      env:
        RAILS_ENV: test
        PGHOST: localhost
      run: |
        cp config/database.yml.github config/database.yml
        cp config/secrets.local.yml.example secrets.local.yml
        rake "parallel:setup[2]"
    - name: Run tests
      env:
        RAILS_ENV: test
        PGHOST: localhost
      run: rake test
    - name: Upload coverage
      env:
        RAILS_ENV: test
        PGHOST: localhost
        CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
      run: rake codecov:upload