Skip to content

Merge pull request #1645 from CeeBeeUK/dependabot/bundler/bundler-c68… #2031

Merge pull request #1645 from CeeBeeUK/dependabot/bundler/bundler-c68…

Merge pull request #1645 from CeeBeeUK/dependabot/bundler/bundler-c68… #2031

Workflow file for this run

name: Checks
on:
pull_request:
push:
branches:
- main
jobs:
rubocop:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
- uses: actions/cache@v4
with:
path: vendor/bundle
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gems-
- name: Bundle install
run: |
gem install bundler
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
- name: Run rubocop
env:
RAILS_ENV: test
run: |
bundle exec rubocop
rspec:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:10.11
ports: [ "5432:5432" ]
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- name: Install libffi6
run: |
wget http://mirrors.kernel.org/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb
sudo apt install ./libffi6_3.2.1-8_amd64.deb
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Cache bundle
uses: actions/cache@v4
with:
path: vendor/bundle
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gems-
- name: Cache yarn
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-gems-
- name: Bundle install
run: |
gem install bundler
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
- name: Install Yarn packages
run: yarn --frozen-lockfile
- name: Precompile assets
env:
RAILS_ENV: test
NODE_OPTIONS: --openssl-legacy-provider
run: bundle exec rake webpacker:compile
- name: Configure database
env:
PGHOST: localhost
PGUSER: postgres
RAILS_ENV: test
SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }}
ENCRYPTION_SERVICE_SALT: ${{ secrets.ENCRYPTION_SERVICE_SALT_FOR_RSPEC }}
run: |
bundle exec rake db:create db:schema:load
- name: Run Tests
env:
PGHOST: localhost
PGUSER: postgres
RAILS_ENV: test
run: |
bundle exec rspec
- uses: actions/upload-artifact@v4
if: failure()
with:
name: coverage-report
path: coverage