Skip to content

chore(deps): update dependency lint-staged to v15.2.10 #833

chore(deps): update dependency lint-staged to v15.2.10

chore(deps): update dependency lint-staged to v15.2.10 #833

name: Deploy to production
on:
push:
branches:
- main
concurrency: production_environment
jobs:
setup:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4.1.7
- name: Set Node version
uses: actions/setup-node@v4.0.3
with:
node-version-file: .nvmrc
cache: yarn
- name: Generate packages cache key
run: ./scripts/checksum.sh ./packages.txt packages
- name: Restore Node modules
id: node-modules
uses: actions/cache@v4.0.2
with:
path: |
./node_modules
./applications/*/*/node_modules
./packages/*/node_modules
key: ${{ runner.os }}-modules-v4-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Restore packages
id: packages
uses: actions/cache@v4.0.2
with:
path: ./packages/*/lib
key: ${{ runner.os }}-packages-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-packages-
- name: Install dependencies
if: steps.node-modules.outputs.cache-hit != 'true'
run: yarn install
- name: Build packages
if: steps.packages.outputs.cache-hit != 'true' || steps.node-modules.outputs.cache-hit != 'true'
run: yarn package
- name: Lint code
run: yarn lint
unit-test:
runs-on: ubuntu-latest
needs: setup
steps:
- name: Checkout code
uses: actions/checkout@v4.1.7
with:
fetch-depth: 0
- name: Set Node version
uses: actions/setup-node@v4.0.3
with:
node-version-file: .nvmrc
cache: yarn
- name: Generate packages cache key
run: ./scripts/checksum.sh ./packages.txt packages
- name: Restore Node modules
uses: actions/cache@v4.0.2
with:
path: |
./node_modules
./applications/*/*/node_modules
./packages/*/node_modules
key: ${{ runner.os }}-modules-v4-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Restore packages
uses: actions/cache@v4.0.2
with:
path: ./packages/*/lib
key: ${{ runner.os }}-packages-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-packages-
- name: Unit test
run: yarn test
- name: Fix paths for SonarCloud Scan
run: ./scripts/sonar-scanner-path-fix.sh
- name: SonarCloud Scan
uses: sonarsource/sonarcloud-github-action@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
deploy-storybook:
runs-on: ubuntu-latest
needs: unit-test
steps:
- name: Checkout code
uses: actions/checkout@v4.1.7
- name: Set Node version
uses: actions/setup-node@v4.0.3
with:
node-version-file: .nvmrc
cache: yarn
- name: Generate packages cache key
run: ./scripts/checksum.sh ./packages.txt packages
- name: Restore Node modules
uses: actions/cache@v4.0.2
with:
path: |
./node_modules
./applications/*/*/node_modules
./packages/*/node_modules
key: ${{ runner.os }}-modules-v4-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Restore packages
uses: actions/cache@v4.0.2
with:
path: ./packages/*/lib
key: ${{ runner.os }}-packages-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-packages-
- name: Build
run: yarn workspace @motech-development/breeze-ui deploy
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./packages/breeze-ui/storybook-static
deploy-auth0-tenant:
runs-on: ubuntu-latest
needs: unit-test
env:
AUTH0_CLIENT_ID: ${{ secrets.AUTH0_CLIENT_ID_PROD }}
AUTH0_CLIENT_SECRET: ${{ secrets.AUTH0_CLIENT_SECRET_PROD }}
AUTH0_DOMAIN: ${{ secrets.AUTH0_DOMAIN_PROD }}
AUTH0_SES_ACCESS_KEY_ID: ${{ secrets.AUTH0_SES_ACCESS_KEY_ID }}
AUTH0_SES_ACCESS_SECRET_KEY: ${{ secrets.AUTH0_SES_ACCESS_SECRET_KEY }}
AUTH0_SES_REGION: ${{ secrets.AUTH0_SES_REGION }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
PREFIX: id
PROD_DOMAIN: ${{ secrets.PROD_DOMAIN }}
PUBLIC_URL: https://id.${{ secrets.PROD_DOMAIN }}
REACT_APP_GA: ${{ secrets.GA_ID_PROD }}
STAGE: production
YARN_ENABLE_IMMUTABLE_INSTALLS: false
steps:
- name: Checkout code
uses: actions/checkout@v4.1.7
- name: Set Node version
uses: actions/setup-node@v4.0.3
with:
node-version-file: .nvmrc
cache: yarn
- name: Generate packages cache key
run: ./scripts/checksum.sh ./packages.txt packages
- name: Restore Node modules
uses: actions/cache@v4.0.2
with:
path: |
./node_modules
./applications/*/*/node_modules
./packages/*/node_modules
key: ${{ runner.os }}-modules-v4-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Restore packages
uses: actions/cache@v4.0.2
with:
path: ./packages/*/lib
key: ${{ runner.os }}-packages-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-packages-
- name: Restore application cache
uses: actions/cache@v4.0.2
with:
path: |
./applications/id/client/node_modules/.cache
./applications/id/client/.serverless
./applications/id/infrastructure/.serverless
key: ${{ runner.os }}-id-v4-${{ github.sha }}
restore-keys: |
${{ runner.os }}-id-v4-
- name: Deploy ID infrastructure
run: yarn workspace @id/infrastructure deploy --stage $STAGE
- name: Build ID client
run: yarn workspace @id/client build
- name: Build ID emails
run: yarn workspace @id/emails build
- name: Deploy client
run: yarn workspace @id/client deploy --stage $STAGE
- name: Deploy to Auth0
run: yarn workspace @id/tenant deploy -c config.json
deploy-anti-virus:
runs-on: ubuntu-latest
needs: unit-test
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN_CORE_BACKEND }}
STAGE: production
YARN_ENABLE_IMMUTABLE_INSTALLS: false
steps:
- name: Checkout code
uses: actions/checkout@v4.1.7
- name: Set Node version
uses: actions/setup-node@v4.0.3
with:
node-version-file: .nvmrc
cache: yarn
- name: Generate packages cache key
run: ./scripts/checksum.sh ./packages.txt packages
- name: Restore Node modules
uses: actions/cache@v4.0.2
with:
path: |
./node_modules
./applications/*/*/node_modules
./packages/*/node_modules
key: ${{ runner.os }}-modules-v4-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Restore packages
uses: actions/cache@v4.0.2
with:
path: ./packages/*/lib
key: ${{ runner.os }}-packages-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-packages-
- name: Restore application cache
uses: actions/cache@v4.0.2
with:
path: |
./applications/core/anti-virus/node_modules/.cache
./applications/core/anti-virus/.serverless
key: ${{ runner.os }}-core-anti-virus-v4-${{ github.sha }}
restore-keys: |
${{ runner.os }}-core-anti-virus-v4-
- name: Deploy
uses: nick-fields/retry@v3.0.0
with:
command: yarn workspace @core/anti-virus deploy --stage $STAGE
max_attempts: 3
on_retry_command: yarn workspace @core/anti-virus clean
retry_on: error
timeout_minutes: 15
deploy-infrastructure:
runs-on: ubuntu-latest
needs: unit-test
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
PROD_DOMAIN: ${{ secrets.PROD_DOMAIN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN_CORE_BACKEND }}
STAGE: production
YARN_ENABLE_IMMUTABLE_INSTALLS: false
steps:
- name: Checkout code
uses: actions/checkout@v4.1.7
- name: Set Node version
uses: actions/setup-node@v4.0.3
with:
node-version-file: .nvmrc
cache: yarn
- name: Generate packages cache key
run: ./scripts/checksum.sh ./packages.txt packages
- name: Restore Node modules
uses: actions/cache@v4.0.2
with:
path: |
./node_modules
./applications/*/*/node_modules
./packages/*/node_modules
key: ${{ runner.os }}-modules-v4-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Restore packages
uses: actions/cache@v4.0.2
with:
path: ./packages/*/lib
key: ${{ runner.os }}-packages-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-packages-
- name: Restore application cache
uses: actions/cache@v4.0.2
with:
path: |
./applications/core/comms/node_modules/.cache
./applications/core/comms/.serverless
./applications/core/infrastructure/.serverless
key: ${{ runner.os }}-core-v4-${{ github.sha }}
restore-keys: |
${{ runner.os }}-core-v4-
- name: Deploy core infrastructure
run: yarn workspace @core/infrastructure deploy --stage $STAGE
- name: Deploy comms infrastructure
run: yarn workspace @core/comms deploy --stage $STAGE
deploy-accounts-storage:
runs-on: ubuntu-latest
needs: deploy-anti-virus
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN_ACCOUNTS_BACKEND }}
STAGE: production
YARN_ENABLE_IMMUTABLE_INSTALLS: false
steps:
- name: Checkout code
uses: actions/checkout@v4.1.7
- name: Set Node version
uses: actions/setup-node@v4.0.3
with:
node-version-file: .nvmrc
cache: yarn
- name: Generate packages cache key
run: ./scripts/checksum.sh ./packages.txt packages
- name: Restore Node modules
uses: actions/cache@v4.0.2
with:
path: |
./node_modules
./applications/*/*/node_modules
./packages/*/node_modules
key: ${{ runner.os }}-modules-v4-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Restore packages
uses: actions/cache@v4.0.2
with:
path: ./packages/*/lib
key: ${{ runner.os }}-packages-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-packages-
- name: Restore application cache
uses: actions/cache@v4.0.2
with:
path: |
./applications/accounts/storage/node_modules/.cache
./applications/accounts/storage/.serverless
key: ${{ runner.os }}-accounts-storage-v4-${{ github.sha }}
restore-keys: |
${{ runner.os }}-accounts-storage-v4-
- name: Deploy
run: yarn workspace @accounts/storage deploy --stage $STAGE
deploy-accounts-queue:
runs-on: ubuntu-latest
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN_ACCOUNTS_BACKEND }}
STAGE: production
YARN_ENABLE_IMMUTABLE_INSTALLS: false
steps:
- name: Checkout code
uses: actions/checkout@v4.1.7
- name: Set Node version
uses: actions/setup-node@v4.0.3
with:
node-version-file: .nvmrc
cache: yarn
- name: Generate packages cache key
run: ./scripts/checksum.sh ./packages.txt packages
- name: Restore Node modules
uses: actions/cache@v4.0.2
with:
path: |
./node_modules
./applications/*/*/node_modules
./packages/*/node_modules
key: ${{ runner.os }}-modules-v4-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Restore packages
uses: actions/cache@v4.0.2
with:
path: ./packages/*/lib
key: ${{ runner.os }}-packages-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-packages-
- name: Restore application cache
uses: actions/cache@v4.0.2
with:
path: |
./applications/accounts/queue/node_modules/.cache
./applications/accounts/queue/.serverless
key: ${{ runner.os }}-accounts-queue-v4-${{ github.sha }}
restore-keys: |
${{ runner.os }}-accounts-queue-v4-
- name: Deploy
run: yarn workspace @accounts/queue deploy --stage $STAGE
deploy-accounts-data:
runs-on: ubuntu-latest
needs: deploy-accounts-storage
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN_ACCOUNTS_BACKEND }}
STAGE: production
YARN_ENABLE_IMMUTABLE_INSTALLS: false
steps:
- name: Checkout code
uses: actions/checkout@v4.1.7
- name: Set Node version
uses: actions/setup-node@v4.0.3
with:
node-version-file: .nvmrc
cache: yarn
- name: Generate packages cache key
run: ./scripts/checksum.sh ./packages.txt packages
- name: Restore Node modules
uses: actions/cache@v4.0.2
with:
path: |
./node_modules
./applications/*/*/node_modules
./packages/*/node_modules
key: ${{ runner.os }}-modules-v4-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Restore packages
uses: actions/cache@v4.0.2
with:
path: ./packages/*/lib
key: ${{ runner.os }}-packages-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-packages-
- name: Restore application cache
uses: actions/cache@v4.0.2
with:
path: |
./applications/accounts/data/node_modules/.cache
./applications/accounts/data/.serverless
key: ${{ runner.os }}-accounts-data-v4-${{ github.sha }}
restore-keys: |
${{ runner.os }}-accounts-data-v4-
- name: Deploy
run: yarn workspace @accounts/data deploy --stage $STAGE
deploy-accounts-warm-up:
runs-on: ubuntu-latest
needs: deploy-accounts-data
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN_ACCOUNTS_BACKEND }}
STAGE: production
YARN_ENABLE_IMMUTABLE_INSTALLS: false
steps:
- name: Checkout code
uses: actions/checkout@v4.1.7
- name: Set Node version
uses: actions/setup-node@v4.0.3
with:
node-version-file: .nvmrc
cache: yarn
- name: Generate packages cache key
run: ./scripts/checksum.sh ./packages.txt packages
- name: Restore Node modules
uses: actions/cache@v4.0.2
with:
path: |
./node_modules
./applications/*/*/node_modules
./packages/*/node_modules
key: ${{ runner.os }}-modules-v4-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Restore packages
uses: actions/cache@v4.0.2
with:
path: ./packages/*/lib
key: ${{ runner.os }}-packages-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-packages-
- name: Restore application cache
uses: actions/cache@v4.0.2
with:
path: |
./applications/accounts/warm-up/node_modules/.cache
./applications/accounts/warm-up/.serverless
key: ${{ runner.os }}-accounts-warm-up-v4-${{ github.sha }}
restore-keys: |
${{ runner.os }}-accounts-warm-up-v4-
- name: Deploy
run: yarn workspace @accounts/warm-up deploy --stage $STAGE
deploy-accounts-reports:
runs-on: ubuntu-latest
needs:
- deploy-accounts-data
- deploy-accounts-notifications
- deploy-accounts-storage
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN_ACCOUNTS_BACKEND }}
STAGE: production
YARN_ENABLE_IMMUTABLE_INSTALLS: false
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set Node version
uses: actions/setup-node@v4.0.3
with:
node-version-file: .nvmrc
cache: yarn
- name: Generate packages cache key
run: ./scripts/checksum.sh ./packages.txt packages
- name: Restore Node modules
uses: actions/cache@v4.0.2
with:
path: |
./node_modules
./applications/*/*/node_modules
./packages/*/node_modules
key: ${{ runner.os }}-modules-v4-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Restore packages
uses: actions/cache@v4.0.2
with:
path: ./packages/*/lib
key: ${{ runner.os }}-packages-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-packages-
- name: Restore application cache
uses: actions/cache@v4.0.2
with:
path: |
./applications/accounts/reports/node_modules/.cache
./applications/accounts/reports/.serverless
key: ${{ runner.os }}-accounts-reports-v4-${{ github.sha }}
restore-keys: |
${{ runner.os }}-accounts-reports-v4-
- name: Deploy
run: yarn workspace @accounts/reports deploy --stage $STAGE
deploy-accounts-api:
runs-on: ubuntu-latest
needs:
- deploy-accounts-data
- deploy-accounts-queue
- deploy-accounts-reports
- deploy-accounts-storage
env:
AUTH0_DOMAIN: ${{ secrets.AUTH0_DOMAIN_PROD }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN_ACCOUNTS_BACKEND }}
STAGE: production
YARN_ENABLE_IMMUTABLE_INSTALLS: false
steps:
- name: Checkout code
uses: actions/checkout@v4.1.7
- name: Set Node version
uses: actions/setup-node@v4.0.3
with:
node-version-file: .nvmrc
cache: yarn
- name: Generate packages cache key
run: ./scripts/checksum.sh ./packages.txt packages
- name: Restore Node modules
uses: actions/cache@v4.0.2
with:
path: |
./node_modules
./applications/*/*/node_modules
./packages/*/node_modules
key: ${{ runner.os }}-modules-v4-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Restore packages
uses: actions/cache@v4.0.2
with:
path: ./packages/*/lib
key: ${{ runner.os }}-packages-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-packages-
- name: Restore env vars
uses: actions/cache@v4.0.2
with:
path: ./applications/accounts/client/.env.production
key: ${{ runner.os }}-accounts-client-env-vars-deploy-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-accounts-client-env-vars-deploy-
- name: Restore application cache
uses: actions/cache@v4.0.2
with:
path: |
./applications/accounts/api/node_modules/.cache
./applications/accounts/api/.serverless
key: ${{ runner.os }}-accounts-api-v4-${{ github.sha }}
restore-keys: |
${{ runner.os }}-accounts-api-v4-
- name: Deploy
run: yarn workspace @accounts/api deploy --stage $STAGE
deploy-accounts-infrastructure:
runs-on: ubuntu-latest
needs: deploy-infrastructure
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
PROD_DOMAIN: ${{ secrets.PROD_DOMAIN }}
STAGE: production
YARN_ENABLE_IMMUTABLE_INSTALLS: false
steps:
- name: Checkout code
uses: actions/checkout@v4.1.7
- name: Set Node version
uses: actions/setup-node@v4.0.3
with:
node-version-file: .nvmrc
cache: yarn
- name: Generate packages cache key
run: ./scripts/checksum.sh ./packages.txt packages
- name: Restore Node modules
uses: actions/cache@v4.0.2
with:
path: |
./node_modules
./applications/*/*/node_modules
./packages/*/node_modules
key: ${{ runner.os }}-modules-v4-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Restore packages
uses: actions/cache@v4.0.2
with:
path: ./packages/*/lib
key: ${{ runner.os }}-packages-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-packages-
- name: Restore application cache
uses: actions/cache@v4.0.2
with:
path: |
./applications/accounts/infrastructure/.serverless
key: ${{ runner.os }}-accounts-infrastructure-v4-${{ github.sha }}
restore-keys: |
${{ runner.os }}-accounts-infrastructure-v4-
- name: Deploy
run: yarn workspace @accounts/infrastructure deploy --stage $STAGE
deploy-accounts-notifications:
runs-on: ubuntu-latest
needs: deploy-accounts-data
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
STAGE: production
YARN_ENABLE_IMMUTABLE_INSTALLS: false
steps:
- name: Checkout code
uses: actions/checkout@v4.1.7
- name: Set Node version
uses: actions/setup-node@v4.0.3
with:
node-version-file: .nvmrc
cache: yarn
- name: Generate packages cache key
run: ./scripts/checksum.sh ./packages.txt packages
- name: Restore Node modules
uses: actions/cache@v4.0.2
with:
path: |
./node_modules
./applications/*/*/node_modules
./packages/*/node_modules
key: ${{ runner.os }}-modules-v4-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Restore packages
uses: actions/cache@v4.0.2
with:
path: ./packages/*/lib
key: ${{ runner.os }}-packages-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-packages-
- name: Restore application cache
uses: actions/cache@v4.0.2
with:
path: |
./applications/accounts/notifications/node_modules/.cache
./applications/accounts/notifications/.serverless
key: ${{ runner.os }}-accounts-notifications-v4-${{ github.sha }}
restore-keys: |
${{ runner.os }}-accounts-notifications-v4-
- name: Deploy
run: yarn workspace @accounts/notifications deploy --stage $STAGE
build-accounts-client:
runs-on: ubuntu-latest
needs:
- deploy-accounts-api
- deploy-accounts-infrastructure
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
PROD_DOMAIN: ${{ secrets.PROD_DOMAIN }}
REACT_APP_AUTH0_AUDIENCE: ${{ secrets.ACCOUNTS_APP_AUDIENCE }}
REACT_APP_AUTH0_CLIENT_ID: ${{ secrets.ACCOUNTS_APP_CLIENT_ID_PROD }}
REACT_APP_AUTH0_DOMAIN: ${{ secrets.AUTH0_DOMAIN_PROD }}
REACT_APP_GA: ${{ secrets.GA_ACCOUNTS_PROD }}
REACT_APP_SENTRY_DSN: ${{ secrets.SENTRY_DSN_ACCOUNTS_CLIENT }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
STAGE: production
YARN_ENABLE_IMMUTABLE_INSTALLS: false
environment:
name: Accounts
url: https://accounts.motechdevelopment.co.uk # TODO: Find a way to do this using env var or output
steps:
- name: Checkout code
uses: actions/checkout@v4.1.7
- name: Set Node version
uses: actions/setup-node@v4.0.3
with:
node-version-file: .nvmrc
cache: yarn
- name: Generate packages cache key
run: ./scripts/checksum.sh ./packages.txt packages
- name: Restore Node modules
uses: actions/cache@v4.0.2
with:
path: |
./node_modules
./applications/*/*/node_modules
./packages/*/node_modules
key: ${{ runner.os }}-modules-v4-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Restore packages
uses: actions/cache@v4.0.2
with:
path: ./packages/*/lib
key: ${{ runner.os }}-packages-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-packages-
- name: Restore env vars
uses: actions/cache@v4.0.2
with:
path: ./applications/accounts/client/.env.production
key: ${{ runner.os }}-accounts-client-env-vars-deploy-v4-${{ hashFiles('**/packages.txt') }}
restore-keys: |
${{ runner.os }}-accounts-client-env-vars-deploy-
- name: Restore application cache
uses: actions/cache@v4.0.2
with:
path: |
./applications/accounts/client/node_modules/.cache
./applications/accounts/client/.serverless
key: ${{ runner.os }}-accounts-client-v4-${{ github.sha }}
restore-keys: |
${{ runner.os }}-accounts-client-v4-
- name: Build client
run: yarn workspace @accounts/client build
- name: Deploy
run: yarn workspace @accounts/client deploy --stage $STAGE