diff --git a/.github/workflows/rails.yml b/.github/workflows/rails.yml index a6703503..c949f6ef 100644 --- a/.github/workflows/rails.yml +++ b/.github/workflows/rails.yml @@ -1,14 +1,19 @@ name: Rails -on: push +on: + - push + - workflow_dispatch jobs: verify: name: Build runs-on: ubuntu-latest + env: + BUNDLE_PATH: vendor/bundle + BUNDLE_WITHOUT: development services: postgres: - image: postgres:9.5 + image: postgres:16.2 env: POSTGRES_USER: citadel POSTGRES_PASSWORD: citadel @@ -16,40 +21,23 @@ jobs: 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: Install ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.1.6 + bundler-cache: true - 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]" + bundle exec 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 + run: bundle exec rake test