Skip to content

Bump the js-minor-patch group across 1 directory with 11 updates #3399

Bump the js-minor-patch group across 1 directory with 11 updates

Bump the js-minor-patch group across 1 directory with 11 updates #3399

Workflow file for this run

name: Build and test
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
dockercheck:
name: Verify docker build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Bring up containers
run: |
docker compose build
docker compose run --rm web rails db:create db:migrate db:seed
docker compose up -d
sleep 30
docker compose logs -t
docker ps -a | (! grep Exited ) # Return a non-zero exit code if any of the containers are stopped
unit_tests:
name: Run tests
runs-on: ubuntu-latest
env:
POSTGRES_USER: daria
POSTGRES_PASSWORD: ""
CI: true
services:
postgres:
image: postgres
env:
POSTGRES_USER: daria
POSTGRES_DB: dcaf_case_management_test
POSTGRES_HOST_AUTH_METHOD: trust
ports:
- 5432:5432
# Add a health check
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- name: Checkout code
uses: actions/checkout@v5
# Ruby setup
- name: Setup ruby
uses: ruby/setup-ruby@v1 # automagically reads from .ruby-version
with:
bundler-cache: true
# npm/yarn setup
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: 24
- name: Cache node_modules
uses: actions/cache@v5
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: yarn packages
run: yarn install
# App setup
- name: Asset compilation
run: NODE_ENV=test bin/rails assets:precompile
- name: Database setup setup
run: RAILS_ENV=test bin/rails db:create db:migrate
# Run JS tests
- name: Run Javascript test suite
run: yarn test
# Run Rails tests
- name: Run Rails test suite
run: bin/rails test
system_tests:
name: Run system tests
runs-on: ubuntu-latest
env:
POSTGRES_USER: daria
POSTGRES_PASSWORD: ""
CI: true
services:
postgres:
image: postgres
env:
POSTGRES_USER: daria
POSTGRES_DB: dcaf_case_management_test
POSTGRES_HOST_AUTH_METHOD: trust
ports:
- 5432:5432
# Add a health check
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- name: Checkout code
uses: actions/checkout@v5
# Ruby setup
- name: Setup ruby
uses: ruby/setup-ruby@v1 # automagically reads from .ruby-version
with:
bundler-cache: true
# npm/yarn setup
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: 24
- name: Cache node_modules
uses: actions/cache@v3
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: yarn packages
run: yarn install
# System setup
- name: Install
run: sudo apt-get -yqq install libpq-dev
# - name: Remove image-bundled Chrome # Install very specific chromedriver for the sake of https://github.com/teamcapybara/capybara/issues/2800
# run: sudo apt-get purge google-chrome-stable
# - name: Setup stable Chrome
# uses: browser-actions/setup-chrome@v1
# with:
# chrome-version: 128
# install-chromedriver: true
# install-dependencies: true
# App setup
- name: Asset compilation
run: NODE_ENV=test bin/rails assets:precompile
- name: Database setup setup
run: RAILS_ENV=test bin/rails db:create db:migrate
# Run Rails tests
- name: Run Rails test suite
run: bin/rails test test/system/update_patient_info_test.rb
# Save artifacts
- name: Store coverage artifact
uses: actions/upload-artifact@v4
if: always()
with:
name: code-coverage-report
path: coverage
- name: Store test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: capybara-screenshots
path: tmp/capybara/
scan:
name: Run static scanners
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
# Ruby setup
- name: Setup ruby
uses: ruby/setup-ruby@v1 # automagically reads from .ruby-version
with:
bundler-cache: true
- name: Install scanners
run: |
gem install --no-document brakeman ruby_audit bundler-audit
# Run scanners
- name: Brakeman
run: brakeman --exit-on-warn .
- name: ruby-audit
run: bundle exec ruby-audit check
- name: bundle-audit
run: bundle-audit update; bundle-audit check
- name: Zeitwerk
run: bin/rails zeitwerk:check
- name: yarn npm audit
run: yarn npm audit --no-deprecations --ignore 1098356 --ignore 1098400 --ignore 1098602 --ignore 1099461 --ignore 1103908