Skip to content

Dev Infra

Dev Infra #1

name: Dev Deploy Infra
on:
workflow_dispatch:
permissions:
id-token: write
contents: write
jobs:
setup:
name: Discover Directories
uses: ./.github/workflows/get_directories.yml
code:
name: Prepare Infra Artifacts
uses: ./.github/workflows/infra_releases.yml
with:
environment: dev
infra_version: ${{ github.sha }}
infra:
name: Apply Infrastructure
needs:
- setup
- code
uses: ./.github/workflows/infra.yml
with:
environment: dev
infra_version: ${{ github.sha }}
code_bucket: ${{ needs.code.outputs.code_bucket }}
lambda_matrix: ${{ needs.setup.outputs.lambda_dirs }}
bootstrap_image_uri: ${{ needs.code.outputs.bootstrap_image_uri }}
service_matrix: ${{ needs.setup.outputs.ecs_service_dirs }}
build:
name: Build Artifacts
uses: ./.github/workflows/build.yml
needs:
- code
- setup
with:
environment: dev
lambda_version: ${{ github.sha }}
frontend_version: ${{ github.sha }}
ecs_version: ${{ github.sha }}
lambda_matrix: ${{ needs.setup.outputs.lambda_dirs }}
ecs_matrix: ${{ needs.setup.outputs.container_dirs }}
get_build:
name: Resolve Build Outputs
needs: build
uses: ./.github/workflows/build_get.yml
with:
environment: dev
lambda_version: ${{ github.sha }}
frontend_version: ${{ github.sha }}
ecs_version: ${{ github.sha }}
deploy:
name: Deploy Code
uses: ./.github/workflows/deploy.yml
needs:
- setup
- build
- get_build
- infra
with:
environment: dev
lambda_version: ${{ needs.build.outputs.lambda_version }}
frontend_version: ${{ needs.build.outputs.frontend_version }}
code_bucket: ${{ needs.get_build.outputs.code_bucket }}
lambda_matrix: ${{ needs.setup.outputs.lambda_dirs }}
task_matrix: ${{ needs.get_build.outputs.ecs_task_matrix }}
ecs_image_uris: ${{ needs.get_build.outputs.ecs_image_uris }}