Skip to content

Bump lodash from 4.17.23 to 4.18.1 in /packages/client #24

Bump lodash from 4.17.23 to 4.18.1 in /packages/client

Bump lodash from 4.17.23 to 4.18.1 in /packages/client #24

Workflow file for this run

name: precisionFDA
on:
push:
branches:
- "master"
pull_request:
branches:
- "*"
jobs:
# Prepopulates ruby cache
# This is because of behaviour of github actions
# When two parallel jobs attempt to write same set of deps into cache
# It causes following error
# Unable to reserve cache with key setup-ruby-bundler-cache-v3-ubuntu-20.04-ruby-2.7.5-Gemfile.lock-e82dcaca5ba83e867a2506d159bec55cc14ba20a0d7df00850b22a1f25d364ba, another job may be creating this cache.
# Example run: https://github.com/dnanexus/precision-fda/runs/5841042836?check_suite_focus=true
# Every job that uses ruby dependencies should wait for this job first
# needs: [ruby-setup]
ruby-setup:
name: Setup Ruby
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
working-directory: ./packages/rails
bundler-cache: true
cache-version: 1
static-analysis-master:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
name: Static Analysis for Master
runs-on: ubuntu-latest
env:
MAKE: "make --jobs 4"
needs: [ruby-setup]
steps:
- uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
working-directory: ./packages/rails
bundler-cache: true
cache-version: 1
# # Enable this after a global rubocop fix.
# - name: Rubocop
# run: bundle exec rubocop
- name: Brakeman
working-directory: ./packages/rails
run: bundle exec brakeman -A -w2 --parser-timeout 30
ruby-static-analysis-pr:
if: ${{ github.event_name == 'pull_request' }}
name: Ruby Static Analysis for PR
runs-on: ubuntu-latest
env:
MAKE: "make --jobs 4"
permissions:
contents: read
pull-requests: write
statuses: write
needs: [ruby-setup]
steps:
- uses: actions/checkout@v4
- name: Fetch Git branches
run: git fetch --no-tags --prune origin +refs/heads/*:refs/remotes/origin/*
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
working-directory: ./packages/rails
bundler-cache: true
cache-version: 1
- name: Rubocop
working-directory: ./packages/rails
run: bundle exec pronto run -f github_status github_pr -c origin/${{ github.base_ref }}
env:
PRONTO_PULL_REQUEST_ID: ${{ github.event.pull_request.number }}
PRONTO_GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BUNDLE_PATH: "vendor/bundle"
- name: Brakeman
working-directory: ./packages/rails
run: bundle exec pronto run -f github_status github_pr -c origin/${{ github.base_ref }} -r brakeman
env:
PRONTO_PULL_REQUEST_ID: ${{ github.event.pull_request.number }}
PRONTO_GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BUNDLE_PATH: "vendor/bundle"
node-static-analysis-pr:
name: Node Static Analysis for PR
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
statuses: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24.13.1
- name: Setup pnpm
run: |
corepack enable
corepack prepare pnpm@10.29.3 --activate
- name: Install modules
run: pnpm install
- name: Get changed files (server)
id: changed-server
uses: tj-actions/changed-files@2f7c5bfce28377bc069a65ba478de0a74aa0ca32 #v46.0.1
with:
files: |
packages/server/apps/**/*.ts
packages/server/libs/**/*.ts
- name: Run Biome CI on changed files (server)
if: steps.changed-server.outputs.any_changed == 'true'
working-directory: packages/server
shell: bash
run: |
FILES_TO_CHECK=(${FILES//packages\/server\//})
pnpm exec biome ci "${FILES_TO_CHECK[@]}"
env:
FILES: ${{ steps.changed-server.outputs.all_changed_files }}
- name: Get changed files (client)
id: changed-client
uses: tj-actions/changed-files@2f7c5bfce28377bc069a65ba478de0a74aa0ca32 #v46.0.1
with:
files: |
packages/client/src/**/*.ts
packages/client/src/**/*.tsx
- name: Run Biome CI on changed files (client)
if: steps.changed-client.outputs.any_changed == 'true'
working-directory: packages/client
shell: bash
run: |
FILES_TO_CHECK=(${FILES//packages\/client\//})
pnpm exec biome ci "${FILES_TO_CHECK[@]}"
env:
FILES: ${{ steps.changed-client.outputs.all_changed_files }}
test-ruby:
name: Test Ruby
runs-on: ubuntu-latest
env:
MAKE: "make --jobs 4"
services:
mysql:
image: mysql:5.7
ports:
- 3306:3306
env:
MYSQL_ROOT_PASSWORD: password
needs: [ruby-setup]
steps:
- uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
working-directory: ./packages/rails
bundler-cache: true
cache-version: 1
- name: Install & Build
working-directory: ./packages/rails
env:
NO_FIPS: 1
run: |
sudo apt-get update
sudo apt-get install -y cmake libssl-dev nodejs
npm install -g bower
bower install --allow-root
cp config/database.ci.yml config/database.yml
bundle exec rake db:setup
mkdir -p public/packs
touch public/packs/bundle.js
touch public/packs/bundle.css
- name: Test
working-directory: ./packages/rails
env:
NO_FIPS: 1
RAILS_LOG_TO_STDOUT: 1
LOG_REQUESTS: 1
run: bundle exec rspec
test-https-apps:
name: Test HTTPS Apps
runs-on: ubuntu-latest
env:
NODE_ENV: ci_test
DATABASE_TEST_URL: mysql://root:password@127.0.0.1:3306/test_db
DATABASE_TEST_NAME: test_db
SECRET_KEY_BASE: secret
JOB_TOKEN_ENCRYPTION_KEY: supersecret
MAKE: "make --jobs 4"
services:
mysql:
image: mysql:5.7
ports:
- 3306:3306
env:
MYSQL_ROOT_PASSWORD: password
redis:
image: redis
ports:
- 6379:6379
needs: [ruby-setup]
steps:
- uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
working-directory: ./packages/rails
bundler-cache: true
cache-version: 1
- uses: actions/setup-node@v4
with:
node-version: 24.13.1
- name: Setup pnpm
uses: pnpm/action-setup@v3
with:
version: 10.29.3
- name: Verify pnpm
run: pnpm -v
- name: Prepare env & DB
working-directory: ./packages/rails
env:
NO_FIPS: 1
run: |
sudo apt-get update
sudo apt-get install -y cmake libssl-dev
cp config/database.ci.yml config/database.yml
bundle exec rake db:setup
bundle exec rake db:generate_mock_data
bundle exec rake user:generate_test_users
- name: Install Dependencies (Server Only)
working-directory: ./packages/server
run: pnpm install --frozen-lockfile --filter ./packages/server... --prod=false --filter .
- name: Run Tests
working-directory: ./packages/server
run: |
make test-shared
make test-worker
make test-api
make test-admin-platform-client
- name: Test Production Build
working-directory: ./packages/server
run: pnpm run build
- name: Test API Production Start
working-directory: ./packages/server
run: make run-dist ARGS="-- --shutdown"
timeout-minutes: 1
- name: Test Worker Production Start
working-directory: ./packages/server
run: make run-dist ARGS="-- --shutdown"
timeout-minutes: 1
test-react-app:
name: Test React app
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v3
with:
version: 10.29.3
- uses: actions/setup-node@v4
with:
node-version: "24.13.1"
cache: "pnpm"
- name: Install dependencies
working-directory: ./packages/client
run: pnpm install --frozen-lockfile --prod=false
- name: Install Playwright browsers
working-directory: ./packages/client
run: pnpm exec playwright install chromium --with-deps
- name: Test
working-directory: ./packages/client
run: pnpm test:run
test-react-app-production:
name: Test React app production build
runs-on: ubuntu-latest
env:
NODE_ENV: production
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v3
with:
version: 10.29.3
- uses: actions/setup-node@v4
with:
node-version: "24.13.1"
cache: "pnpm"
- name: Install dependencies
working-directory: ./packages/client
run: pnpm install --frozen-lockfile --prod=false
- name: Build production
working-directory: ./packages/client
run: pnpm run build