Remove non-prod & optional dependencies when building frontend in ci (#1455)

Fixes #1454 

## Motivation

We've had a number of cases recently where a build dependency is added
to `devDependencies`, the PR passes the frontend build check
(`frontend-build-check.yaml`) in the branch, and then fails the cluster
run (`k3d-ci.yaml`) in `main` because the frontend build check installs
all dependencies, whereas the cluster run uses the frontend Dockerfile,
which skips everything but prod dependencies.

## Changes

This runs an additional step in the frontend build check, after running
unit tests and the l10n build but before doing the build, that re-runs
`yarn` with the same arguments as are in the frontend Dockerfile,
installing just prod dependencies.

This results in slightly longer frontend build check runtimes, but
should save us some wasted time fixing broken `main`.
This commit is contained in:
Emma Segal-Grossman 2024-01-10 14:46:17 -05:00 committed by GitHub
parent a6936299d3
commit 99dd9b4acb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -36,6 +36,9 @@ jobs:
- name: Localization build
working-directory: frontend
run: yarn localize:prepare
- name: Remove non-production dependencies
working-directory: frontend
run: yarn install --frozen-lockfile --ignore-optional --production
- name: Webpack build
working-directory: frontend
run: yarn build