Skip to content

Dop 4334

Dop 4334 #757

on:
pull_request:
branches:
- main
types:
- synchronize
concurrency:
group: environment-dotcomstg-feature-${{ github.ref }}
cancel-in-progress: true
name: Update Feature Branch Infrastructure
jobs:
prep-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '18.x'
cache: 'npm'
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
dependencies:
- 'package-lock.json'
- 'cdk-infra/package-lock.json'
- name: Install dependencies
if: steps.filter.outputs.dependencies == 'true'
run: |
npm ci
cd cdk-infra/
npm ci
- name: Cache root node_modules
id: cache-root
uses: actions/cache/save@v4
with:
path: |
node_modules
cdk-infra/node_modules
key: ${{ github.head_ref }}
build-webhooks:
needs: prep-build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-2
- uses: actions/setup-node@v4
with:
node-version: '18.x'
- uses: actions/cache/restore@v4
id: cache-restore
with:
path: |
node_modules
cdk-infra/node_modules
key: ${{ github.head_ref }}
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
webhooks:
- 'api/**'
- 'cdk-infra/lib/constructs/api/**'
- 'cdk-infra/utils/**'
- name: Update Webhook Stack
if: steps.filter.outputs.webhooks == 'true'
run: |
cd cdk-infra/
npm run deploy:feature:stack -- --hotswap -c isFeatureBranch=true -c env=dotcomstg -c customFeatureName=enhancedApp-dotcomstg-${{github.head_ref}} \
auto-builder-stack-enhancedApp-dotcomstg-${{github.head_ref}}-webhooks
build-worker:
needs: prep-build
runs-on: ubuntu-latest
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
version: latest
- uses: actions/checkout@v4
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-2
- uses: actions/setup-node@v4
with:
node-version: '18.x'
- uses: actions/cache/restore@v3
id: cache-restore
with:
path: |
node_modules
cdk-infra/node_modules
key: ${{ github.head_ref }}
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
worker:
- 'src/!(cache-updater/**)/**'
- 'cdk-infra/lib/constructs/worker/**'
- 'Dockerfile'
- 'modules/**'
# - uses: docker/build-push-action@v5
# if: steps.filter.outputs.worker == 'true'
# name: build Docker image
# with:
# context: .
# tags: autobuilder/enhanced:latest
# build-args: |
# NPM_EMAIL=${{ secrets.NPM_EMAIL }}
# NPM_BASE_64_AUTH=${{ secrets.NPM_BASE64_AUTH }}
# cache-from: type=gha,ref=autobuilder/enhanced:latest
# cache-to: type=gha,mode=max
# outputs: type=tar,dest=cdk-infra/image.tar.gz
- name: Update Worker Stack
if: steps.filter.outputs.worker == 'true'
run: |
cd cdk-infra/
npm run deploy:feature:stack -- -c isFeatureBranch=true -c env=dotcomstg -c customFeatureName=enhancedApp-dotcomstg-${{github.head_ref}} \
auto-builder-stack-enhancedApp-dotcomstg-${{github.head_ref}}-worker