DDLS-7: New pages to add: Has there been any money into the client's account during the reporting period? (Money In) #1568
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: "[Workflow] All branch based pushes" | |
concurrency: | |
group: ${{ github.ref }}-${{ github.workflow }} | |
defaults: | |
run: | |
shell: bash | |
on: | |
pull_request: | |
branches: | |
- main | |
permissions: | |
contents: write | |
security-events: write | |
pull-requests: write | |
actions: none | |
checks: none | |
deployments: none | |
issues: none | |
packages: none | |
repository-projects: none | |
statuses: none | |
jobs: | |
workflow_variables: | |
runs-on: ubuntu-latest | |
name: output workflow variables | |
outputs: | |
parsed_branch: ${{ steps.variables.outputs.branch_formatted }} | |
build_identifier: ${{ steps.variables.outputs.build_identifier }} | |
short_sha: ${{ steps.variables.outputs.short_sha }} | |
steps: | |
- uses: actions/checkout@7cdaf2fbc075e6f3b9ca94cfd6cec5adc8a75622 # pin@v3 | |
- name: extract variables for workflow | |
id: variables | |
env: | |
PR_NUMBER: ${{ github.event.pull_request.number }} | |
run: | | |
export BRANCH=$(echo ${GITHUB_HEAD_REF:-${GITHUB_REF##*/}} | awk -F'_' '{print $1}' | tr -cd '[:alnum:]' | tr '[:upper:]' '[:lower:]' | cut -c1-8) | |
echo "branch_formatted=$(echo ${BRANCH})" >> $GITHUB_OUTPUT | |
echo "build_identifier=$(echo ${BRANCH}${PR_NUMBER})" >> $GITHUB_OUTPUT | |
echo "short_sha=$(echo ${GITHUB_SHA:0:7})" >> $GITHUB_OUTPUT | |
echo ${build_identifier} | |
- uses: actions/labeler@main | |
if: github.event_name == 'pull_request' | |
with: | |
configuration-path: ".github/labeller.yml" | |
repo-token: "${{ secrets.GITHUB_TOKEN }}" | |
sync-labels: true | |
build_web_resources: | |
name: build web resources | |
uses: ./.github/workflows/_web-resources.yml | |
secrets: inherit | |
terraform_lint: | |
name: lint terraform code | |
uses: ./.github/workflows/_lint-terraform.yml | |
needs: | |
- workflow_variables | |
with: | |
workspace: ${{ needs.workflow_variables.outputs.build_identifier }} | |
secrets: inherit | |
test_js: | |
name: test javascript code | |
uses: ./.github/workflows/_test-js.yml | |
needs: | |
- workflow_variables | |
docker_build_scan_push: | |
name: build, scan and push | |
uses: ./.github/workflows/_build-and-push.yml | |
needs: | |
- workflow_variables | |
- build_web_resources | |
with: | |
tag: ${{ needs.workflow_variables.outputs.build_identifier }}-${{ needs.workflow_variables.outputs.short_sha }} | |
branch_name: ${{ needs.workflow_variables.outputs.build_identifier }} | |
push_to_ecr: true | |
secrets: inherit | |
api_unit_tests_1: | |
name: api unit tests 1 | |
uses: ./.github/workflows/_unit-tests-api.yml | |
with: | |
selection: selection-1 | |
branch_name: ${{ needs.workflow_variables.outputs.build_identifier }} | |
needs: | |
- workflow_variables | |
api_unit_tests_2: | |
name: api unit tests 2 | |
uses: ./.github/workflows/_unit-tests-api.yml | |
with: | |
selection: selection-2 | |
branch_name: ${{ needs.workflow_variables.outputs.build_identifier }} | |
needs: | |
- workflow_variables | |
api_unit_tests_3: | |
name: api unit tests 3 | |
uses: ./.github/workflows/_unit-tests-api.yml | |
with: | |
selection: selection-3 | |
branch_name: ${{ needs.workflow_variables.outputs.build_identifier }} | |
needs: | |
- workflow_variables | |
client_unit_tests: | |
name: client unit tests | |
uses: ./.github/workflows/_unit-tests-client.yml | |
needs: | |
- workflow_variables | |
- build_web_resources | |
codecov: | |
name: upload to codecov | |
uses: ./.github/workflows/_codecov.yml | |
needs: | |
- client_unit_tests | |
- api_unit_tests_1 | |
- api_unit_tests_2 | |
- api_unit_tests_3 | |
secrets: inherit | |
synchronisation_unit_tests: | |
name: client unit tests | |
uses: ./.github/workflows/_unit-tests-synchronise-lambda.yml | |
needs: | |
- workflow_variables | |
- docker_build_scan_push | |
terraform_plan_account_development: | |
name: account plan terraform development | |
uses: ./.github/workflows/_run-terraform.yml | |
needs: | |
- workflow_variables | |
- terraform_lint | |
with: | |
workspace: development | |
terraform_path: account | |
container_version: ${{ needs.workflow_variables.outputs.build_identifier }}-${{ needs.workflow_variables.outputs.short_sha }} | |
secrets: inherit | |
terraform_apply_environment: | |
name: environment apply terraform | |
uses: ./.github/workflows/_run-terraform.yml | |
needs: | |
- docker_build_scan_push | |
- terraform_lint | |
- workflow_variables | |
with: | |
workspace: ${{ needs.workflow_variables.outputs.build_identifier }} | |
terraform_path: environment | |
apply: true | |
container_version: ${{ needs.workflow_variables.outputs.build_identifier }}-${{ needs.workflow_variables.outputs.short_sha }} | |
secrets: inherit | |
ecr_scan_results: | |
name: ecr scan results | |
uses: ./.github/workflows/_ecr-scanning.yml | |
with: | |
tag: ${{ needs.workflow_variables.outputs.build_identifier }}-${{ needs.workflow_variables.outputs.short_sha }} | |
needs: | |
- terraform_apply_environment | |
- workflow_variables | |
secrets: inherit | |
scale_services_up: | |
name: scale up services | |
uses: ./.github/workflows/_scale-services.yml | |
needs: | |
- workflow_variables | |
- terraform_apply_environment | |
with: | |
replicas: 10 | |
acu: 16 | |
account: 248804316466 | |
workspace: ${{ needs.workflow_variables.outputs.build_identifier }} | |
secrets: inherit | |
reset_database: | |
name: reset database | |
uses: ./.github/workflows/_run-task.yml | |
needs: | |
- workflow_variables | |
- terraform_apply_environment | |
with: | |
workspace: ${{ needs.workflow_variables.outputs.build_identifier }} | |
task_name: "integration_test_v2" | |
timeout: "500" | |
override: "sh,./tests/Behat/reset-db.sh" | |
secrets: inherit | |
integration_tests_1: | |
name: integration tests frontend 1 | |
uses: ./.github/workflows/_run-task.yml | |
needs: | |
- workflow_variables | |
- reset_database | |
- scale_services_up | |
with: | |
workspace: ${{ needs.workflow_variables.outputs.build_identifier }} | |
task_name: "integration_test_v2" | |
timeout: "1200" | |
override: "sh,./tests/Behat/run-tests-parallel.sh,--tags,@v2_reporting_1,--profile,v2-tests-browserkit" | |
secrets: inherit | |
integration_tests_2: | |
name: integration tests frontend 2 | |
uses: ./.github/workflows/_run-task.yml | |
needs: | |
- workflow_variables | |
- reset_database | |
- scale_services_up | |
with: | |
workspace: ${{ needs.workflow_variables.outputs.build_identifier }} | |
task_name: "integration_test_v2" | |
timeout: "1200" | |
override: "sh,./tests/Behat/run-tests-parallel.sh,--tags,@v2_reporting_2,--profile,v2-tests-browserkit" | |
secrets: inherit | |
integration_tests_admin: | |
name: integration tests admin | |
uses: ./.github/workflows/_run-task.yml | |
needs: | |
- workflow_variables | |
- reset_database | |
- scale_services_up | |
with: | |
workspace: ${{ needs.workflow_variables.outputs.build_identifier }} | |
task_name: "integration_test_v2" | |
timeout: "1200" | |
override: "sh,./tests/Behat/run-tests-parallel.sh,--tags,@v2_admin,--profile,v2-tests-browserkit" | |
secrets: inherit | |
integration_tests_sequential_1: | |
name: integration tests sequential 1 | |
uses: ./.github/workflows/_run-task.yml | |
needs: | |
- workflow_variables | |
- reset_database | |
- scale_services_up | |
with: | |
workspace: ${{ needs.workflow_variables.outputs.build_identifier }} | |
task_name: "integration_test_v2" | |
timeout: "1200" | |
override: "sh,./tests/Behat/run-tests.sh,--tags,@v2_sequential_1,--profile,v2-tests-browserkit" | |
secrets: inherit | |
integration_tests_sequential_2: | |
name: integration tests sequential 2 | |
uses: ./.github/workflows/_run-task.yml | |
needs: | |
- workflow_variables | |
- reset_database | |
- scale_services_up | |
with: | |
workspace: ${{ needs.workflow_variables.outputs.build_identifier }} | |
task_name: "integration_test_v2" | |
timeout: "1200" | |
override: "sh,./tests/Behat/run-tests.sh,--tags,@v2_sequential_2,--profile,v2-tests-browserkit" | |
secrets: inherit | |
integration_tests_sequential_3: | |
name: integration tests sequential 3 | |
uses: ./.github/workflows/_run-task.yml | |
needs: | |
- workflow_variables | |
- reset_database | |
- scale_services_up | |
with: | |
workspace: ${{ needs.workflow_variables.outputs.build_identifier }} | |
task_name: "integration_test_v2" | |
timeout: "1200" | |
override: "sh,./tests/Behat/run-tests.sh,--tags,@v2_sequential_3,--profile,v2-tests-browserkit" | |
secrets: inherit | |
scale_services_down: | |
if: always() | |
name: scale down services | |
uses: ./.github/workflows/_scale-services.yml | |
needs: | |
- workflow_variables | |
- integration_tests_sequential_1 | |
- integration_tests_sequential_2 | |
- integration_tests_sequential_3 | |
- integration_tests_admin | |
- integration_tests_1 | |
- integration_tests_2 | |
with: | |
replicas: 1 | |
acu: 4 | |
account: 248804316466 | |
workspace: ${{ needs.workflow_variables.outputs.build_identifier }} | |
secrets: inherit | |
end_of_workflow: | |
name: end of workflow | |
runs-on: ubuntu-latest | |
needs: | |
- scale_services_down | |
- codecov | |
- workflow_variables | |
steps: | |
- name: workflow ended successfully | |
run: | | |
echo "${{ needs.workflow_variables.outputs.build_identifier }} PR environment tested, built and deployed" | |
echo "Tag Used: ${{ needs.workflow_variables.outputs.build_identifier }}-${{ needs.workflow_variables.outputs.short_sha }}" | |
echo "URL: https://${{ needs.workflow_variables.outputs.build_identifier }}.complete-deputy-report.service.gov.uk" | |
slack_notify_success: | |
name: notify of result | |
uses: ./.github/workflows/_slack-notification.yml | |
needs: | |
- workflow_variables | |
- end_of_workflow | |
with: | |
success: True | |
branch: ${{ needs.workflow_variables.outputs.build_identifier }} | |
account: 248804316466 | |
secrets: inherit | |
slack_notify_failure: | |
name: notify of result | |
uses: ./.github/workflows/_slack-notification.yml | |
if: ${{ failure() }} | |
needs: | |
- workflow_variables | |
- end_of_workflow | |
with: | |
success: false | |
branch: ${{ needs.workflow_variables.outputs.build_identifier }} | |
account: 248804316466 | |
secrets: inherit |