diff --git a/.github/workflows/build-client.yml b/.github/workflows/build-client.yml index 7d114fbe..bbe90d89 100644 --- a/.github/workflows/build-client.yml +++ b/.github/workflows/build-client.yml @@ -31,6 +31,8 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ env.node-version }} + cache: npm + cache-dependency-path: client/package-lock.json - name: Install run: npm ci @@ -55,9 +57,14 @@ jobs: test: runs-on: ubuntu-latest + needs: + - translations defaults: run: working-directory: client + permissions: + contents: write # For commiting changes back to the current PR. + pull-requests: write # For commenting on the PR. steps: - uses: actions/checkout@v4 @@ -65,12 +72,50 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ env.node-version }} + cache: npm + cache-dependency-path: client/package-lock.json - name: Install run: npm ci + # We want to know if this branch has changed the english strings, not + # just if the `translations` job had to update it, so we need this check. + - uses: dorny/paths-filter@v3 + id: changes + with: + filters: | + english: + - client/src/i18n/en.json + - name: Unit tests - run: npm test + env: + update_snapshots: ${{ github.event_name == 'pull_request' && steps.changes.outputs.english == 'true' }} + run: | + if [ "${update_snapshots}" == 'true' ]; then + npm run test:update + else + npm test + fi + + - name: Commit changes to Snapshots + uses: stefanzweifel/git-auto-commit-action@v5 + id: commit + if: github.event_name == 'pull_request' + with: + commit_message: 'Auto-update snapshot tests' + file_pattern: '*.snap' + + - name: Comment on the PR about changes + uses: thollander/actions-comment-pull-request@v3 + if: steps.commit.outputs.changes_detected == 'true' + env: + commit_url: 'https://github.com/${{ github.repository }}/commit/${{ steps.commit.outputs.commit_hash }}' + with: + message: > + 🚨 The "snapshot" tests in your PR have been automatically updated + because you changed some text in the app! **Make sure [the changes + to `.snap` files](${{ env.commit_url }}) are correct** and don’t + include other things that should *not* have changed. lint: runs-on: ubuntu-latest @@ -84,6 +129,8 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ env.node-version }} + cache: npm + cache-dependency-path: client/package-lock.json - name: Install run: npm ci @@ -116,6 +163,8 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ env.node-version }} + cache: npm + cache-dependency-path: client/package-lock.json - name: Install run: npm ci @@ -124,14 +173,16 @@ jobs: if: github.event_name == 'pull_request' run: npm run intl:extract - - uses: stefanzweifel/git-auto-commit-action@v5 + - name: Commit changes to English strings + uses: stefanzweifel/git-auto-commit-action@v5 id: commit-strings if: github.event_name == 'pull_request' with: commit_message: 'Auto-update en.json from component source code' file_pattern: 'client/src/intl/en.json' - - uses: thollander/actions-comment-pull-request@v3 + - name: Comment on the PR about changes + uses: thollander/actions-comment-pull-request@v3 if: steps.commit-strings.outputs.changes_detected == 'true' with: message: > diff --git a/client/src/data/copy/common.tsx b/client/src/data/copy/common.tsx index 5633b92a..a139d181 100644 --- a/client/src/data/copy/common.tsx +++ b/client/src/data/copy/common.tsx @@ -56,7 +56,7 @@ export const UPDATE_BANNER_CONTENT_LARGE = This is an unofficial copy of the CEJST Tool. We are working on an overhaul, but in the meantime some links and text may incorrectly suggest that this site is affiliated with the US Government.`} + defaultMessage={`This is an unofficial copy of the CEJST Tool!!!! We are working on an overhaul, but in the meantime some links and text may incorrectly suggest that this site is affiliated with the US Government.`} description={`Alert body that appears at the top of pages.`} values={{ bold: boldFn,