[DRAFT] Automated Preprod Deploy workflow #1412
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Bundlewatch Github Action" | |
on: | |
push: | |
# Required so that baseline for comparison is pushed to bundlewatch service. | |
branches: | |
- edge | |
paths: | |
- .github/workflows/bundlewatch.yml | |
- client-admin/** | |
- client-participation/** | |
- client-report/** | |
pull_request: | |
types: ["opened", "reopened", "synchronize"] | |
paths: | |
- .github/workflows/bundlewatch.yml | |
- client-admin/** | |
- client-participation/** | |
- client-report/** | |
jobs: | |
bundlewatch: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
# Client components all use this version | |
- name: Use Node version for app builds | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Get npm cache directory | |
id: npm-cache | |
run: | | |
echo "dir=$(npm config get cache)" >> $GITHUB_OUTPUT | |
- name: Restore npm cache directory | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.npm-cache.outputs.dir }} | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: "Install & Build: client-admin" | |
working-directory: client-admin | |
run: | | |
npm install | |
npm run build:prod | |
- name: "Install & Build: client-participation" | |
working-directory: client-participation | |
run: | | |
npm install | |
npm run build:prod | |
- name: "Install & Build: client-report" | |
working-directory: client-report | |
run: | | |
npm install | |
npm run build:prod | |
- name: Install Bundlewatch | |
run: npm install -g bundlewatch@0.3.3 | |
- name: "Run Bundlewatch" | |
uses: jackyef/bundlewatch-gh-action@master | |
with: | |
bundlewatch-github-token: ${{ secrets.GITHUB_TOKEN }} | |
bundlewatch-config: .bundlewatch.config.js |