Build & Unit Test #760
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: Deploy to AWS | ||
run-name: ${{ github.event_name == 'workflow_dispatch' && format('Deploy to {0}', github.event.inputs.environment) || (github.ref == 'refs/heads/main' && 'Deploy to Test-UAT-Prod' || 'Build & Unit Test') }} | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
environment: | ||
description: Which AWS Account to use | ||
type: choice | ||
required: true | ||
options: | ||
- dev | ||
- test | ||
- uat | ||
- prod | ||
run_performance_tests: | ||
required: false | ||
default: false | ||
type: boolean | ||
description: Run performance tests | ||
run_e2e_tests_assessment: | ||
required: false | ||
default: false | ||
type: boolean | ||
description: Run e2e tests (assessment) | ||
run_e2e_tests_application: | ||
required: false | ||
default: true | ||
type: boolean | ||
description: Run e2e tests (application) | ||
push: | ||
jobs: | ||
setup: | ||
uses: communitiesuk/funding-service-design-workflows/.github/workflows/determine-jobs.yml@main | ||
with: | ||
environment: ${{ inputs.environment }} | ||
pre_deploy_tests: | ||
secrets: | ||
GOV_NOTIFY_API_KEY: ${{ secrets.GOV_NOTIFY_API_KEY }} | ||
uses: communitiesuk/funding-service-design-workflows/.github/workflows/pre-deploy.yml@main | ||
with: | ||
postgres_unit_testing: false | ||
paketo_build: | ||
needs: [ setup ] | ||
permissions: | ||
packages: write | ||
uses: communitiesuk/funding-service-design-workflows/.github/workflows/package.yml@main | ||
with: | ||
version_to_build: sha-${{ github.sha }} | ||
owner: ${{ github.repository_owner }} | ||
application: funding-service-design-notification | ||
dev_deploy: | ||
needs: [ pre_deploy_tests, paketo_build, setup ] | ||
if: ${{ contains(fromJSON(needs.setup.outputs.jobs_to_run), 'dev') }} | ||
uses: communitiesuk/funding-service-design-workflows/.github/workflows/standard-deploy.yml@main | ||
Check failure on line 59 in .github/workflows/copilot_deploy.yml GitHub Actions / Deploy to AWSInvalid workflow file
|
||
secrets: | ||
AWS_ACCOUNT: ${{ secrets.AWS_ACCOUNT }} | ||
with: | ||
environment: dev | ||
app_name: notification | ||
image_location: ${{ needs.paketo_build.outputs.image_location }} | ||
post_dev_deploy_tests: | ||
needs: dev_deploy | ||
concurrency: | ||
group: 'fsd-preaward-dev' | ||
cancel-in-progress: false | ||
secrets: | ||
FSD_GH_APP_ID: ${{ secrets.FSD_GH_APP_ID }} | ||
FSD_GH_APP_KEY: ${{ secrets.FSD_GH_APP_KEY }} | ||
FS_BASIC_AUTH_USERNAME: ${{ secrets.FS_BASIC_AUTH_USERNAME }} | ||
FS_BASIC_AUTH_PASSWORD: ${{ secrets.FS_BASIC_AUTH_PASSWORD }} | ||
AWS_ACCOUNT: ${{ secrets.AWS_ACCOUNT }} | ||
uses: communitiesuk/funding-service-design-workflows/.github/workflows/post-deploy.yml@main | ||
with: | ||
run_performance_tests: ${{ inputs.run_performance_tests || true }} | ||
run_e2e_tests_assessment: ${{ inputs.run_e2e_tests_assessment || false }} | ||
run_e2e_tests_application: ${{ inputs.run_e2e_tests_application || false }} | ||
environment: dev | ||
app_name: notification | ||
test_deploy: | ||
needs: [ dev_deploy, post_dev_deploy_tests, paketo_build, setup ] | ||
if: ${{ always() && contains(fromJSON(needs.setup.outputs.jobs_to_run), 'test') && (! contains(needs.*.result, 'failure') ) && (! contains(needs.*.result, 'cancelled') )}} | ||
uses: communitiesuk/funding-service-design-workflows/.github/workflows/standard-deploy.yml@main | ||
secrets: | ||
AWS_ACCOUNT: ${{ secrets.AWS_ACCOUNT }} | ||
with: | ||
environment: test | ||
app_name: notification | ||
image_location: ${{ needs.paketo_build.outputs.image_location }} | ||
post_test_deploy_tests: | ||
needs: [ dev_deploy, post_dev_deploy_tests, test_deploy, paketo_build, setup ] | ||
if: ${{ always() && contains(fromJSON(needs.setup.outputs.jobs_to_run), 'test') && (! contains(needs.*.result, 'failure') ) && (! contains(needs.*.result, 'cancelled') )}} | ||
concurrency: | ||
group: 'fsd-preaward-test' | ||
cancel-in-progress: false | ||
secrets: | ||
FSD_GH_APP_ID: ${{ secrets.FSD_GH_APP_ID }} | ||
FSD_GH_APP_KEY: ${{ secrets.FSD_GH_APP_KEY }} | ||
FS_BASIC_AUTH_USERNAME: ${{ secrets.FS_BASIC_AUTH_USERNAME }} | ||
FS_BASIC_AUTH_PASSWORD: ${{ secrets.FS_BASIC_AUTH_PASSWORD }} | ||
AWS_ACCOUNT: ${{ secrets.AWS_ACCOUNT }} | ||
uses: communitiesuk/funding-service-design-workflows/.github/workflows/post-deploy.yml@main | ||
with: | ||
run_performance_tests: ${{ inputs.run_performance_tests || true }} | ||
run_e2e_tests_assessment: ${{ inputs.run_e2e_tests_assessment || false }} | ||
run_e2e_tests_application: ${{ inputs.run_e2e_tests_application || true }} | ||
environment: test | ||
app_name: notification | ||
uat_deploy: | ||
needs: [ dev_deploy, post_dev_deploy_tests, test_deploy, post_test_deploy_tests, paketo_build, setup ] | ||
if: ${{ always() && contains(fromJSON(needs.setup.outputs.jobs_to_run), 'uat') && (! contains(needs.*.result, 'failure') ) && (! contains(needs.*.result, 'cancelled') )}} | ||
uses: communitiesuk/funding-service-design-workflows/.github/workflows/standard-deploy.yml@main | ||
secrets: | ||
AWS_ACCOUNT: ${{ secrets.AWS_ACCOUNT }} | ||
with: | ||
environment: uat | ||
app_name: notification | ||
image_location: ${{ needs.paketo_build.outputs.image_location }} | ||
post_uat_deploy_tests: | ||
needs: [ dev_deploy, post_dev_deploy_tests, test_deploy, post_test_deploy_tests, uat_deploy, paketo_build, setup ] | ||
if: ${{ always() && contains(fromJSON(needs.setup.outputs.jobs_to_run), 'uat') && (! contains(needs.*.result, 'failure') ) && (! contains(needs.*.result, 'cancelled') )}} | ||
concurrency: | ||
group: 'fsd-preaward-uat' | ||
cancel-in-progress: false | ||
secrets: | ||
FSD_GH_APP_ID: ${{ secrets.FSD_GH_APP_ID }} | ||
FSD_GH_APP_KEY: ${{ secrets.FSD_GH_APP_KEY }} | ||
FS_BASIC_AUTH_USERNAME: ${{ secrets.FS_BASIC_AUTH_USERNAME }} | ||
FS_BASIC_AUTH_PASSWORD: ${{ secrets.FS_BASIC_AUTH_PASSWORD }} | ||
AWS_ACCOUNT: ${{ secrets.AWS_ACCOUNT }} | ||
uses: communitiesuk/funding-service-design-workflows/.github/workflows/post-deploy.yml@main | ||
with: | ||
run_performance_tests: ${{ inputs.run_performance_tests || false }} | ||
run_e2e_tests_assessment: ${{ inputs.run_e2e_tests_assessment || false }} | ||
run_e2e_tests_application: ${{ inputs.run_e2e_tests_application || true }} | ||
environment: uat | ||
app_name: notification | ||
prod_deploy: | ||
needs: [ dev_deploy, post_dev_deploy_tests, test_deploy, post_test_deploy_tests, uat_deploy, post_uat_deploy_tests, paketo_build, setup ] | ||
if: ${{ always() && contains(fromJSON(needs.setup.outputs.jobs_to_run), 'prod') && (! contains(needs.*.result, 'failure') ) && (! contains(needs.*.result, 'cancelled') )}} | ||
uses: communitiesuk/funding-service-design-workflows/.github/workflows/standard-deploy.yml@main | ||
secrets: | ||
AWS_ACCOUNT: ${{ secrets.AWS_ACCOUNT }} | ||
with: | ||
environment: prod | ||
app_name: notification | ||
image_location: ${{ needs.paketo_build.outputs.image_location }} |