Skip to content

SANDBOX Full- Deploy feature branch to sandbox #239

SANDBOX Full- Deploy feature branch to sandbox

SANDBOX Full- Deploy feature branch to sandbox #239

Manually triggered September 18, 2024 09:02
Status Failure
Total duration 15m 52s
Artifacts 1

full-deploy-to-sandbox.yml

on: workflow_dispatch
Build UI version for E2E Tests  /  install-cypress-build
12m 10s
Build UI version for E2E Tests / install-cypress-build
Publish all Lambda Layers  /  View Deploy all input variables
3s
Publish all Lambda Layers / View Deploy all input variables
Publish all Lambda Layers  /  ...  /  Deploy lambda layer core_lambda_layer
42s
Publish all Lambda Layers / Deploy core_lambda_layer / Deploy lambda layer core_lambda_layer
Publish all Lambda Layers  /  ...  /  Deploy lambda layer data_lambda_layer
38s
Publish all Lambda Layers / Deploy data_lambda_layer / Deploy lambda layer data_lambda_layer
View input params
3s
View input params
Run Lambda Unit Tests  /  View input params
3s
Run Lambda Unit Tests / View input params
Run Lambda Unit Tests  /  Run Python unit tests
1m 18s
Run Lambda Unit Tests / Run Python unit tests
Deploy UI  /  react_build_and_deploy_docker_image
1m 48s
Deploy UI / react_build_and_deploy_docker_image
Matrix: Run UI Unit Tests / jest_testing_job
Run Cypress E2E Tests  /  View input params
3s
Run Cypress E2E Tests / View input params
Run Cypress E2E Tests  /  ...  /  View input params
2s
Run Cypress E2E Tests / cypress_test_chrome / View input params
Run Cypress E2E Tests  /  ...  /  cypress-run-job
3m 19s
Run Cypress E2E Tests / cypress_test_chrome / cypress-run-job
Run Cypress E2E Tests  /  ...  /  View input params
4s
Run Cypress E2E Tests / cypress_test_edge / View input params
Run Cypress E2E Tests  /  ...  /  cypress-run-job
3m 9s
Run Cypress E2E Tests / cypress_test_edge / cypress-run-job
Run Cypress E2E Tests  /  ...  /  View input params
2s
Run Cypress E2E Tests / cypress_test_firefox / View input params
Run Cypress E2E Tests  /  ...  /  cypress-run-job
3m 14s
Run Cypress E2E Tests / cypress_test_firefox / cypress-run-job
Deploy all Lambdas  /  View Deploy all input variables
2s
Deploy all Lambdas / View Deploy all input variables
Deploy all Lambdas  /  ...  /  Deploy lambda create_document_reference_handler to ndrb
26s
Deploy all Lambdas / Deploy create_document_reference_lambda / Deploy lambda create_document_reference_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda search_patient_details_handler to ndrb
32s
Deploy all Lambdas / Deploy search_patient_details_lambda / Deploy lambda search_patient_details_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda document_reference_search_handler to ndrb
27s
Deploy all Lambdas / Deploy document_reference_search_lambda / Deploy lambda document_reference_search_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda delete_document_reference_handler to ndrb
30s
Deploy all Lambdas / Deploy delete_document_reference_handler / Deploy lambda delete_document_reference_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda document_manifest_job_handler to ndrb
30s
Deploy all Lambdas / Deploy document_manifest_job_lambda / Deploy lambda document_manifest_job_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda bulk_upload_metadata_handler to ndrb
31s
Deploy all Lambdas / Deploy bulk_upload_metadata_lambda / Deploy lambda bulk_upload_metadata_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda token_handler to ndrb
32s
Deploy all Lambdas / Deploy TokenRequestHandler / Deploy lambda token_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda login_redirect_handler to ndrb
38s
Deploy all Lambdas / Deploy LoginRedirectHandler / Deploy lambda login_redirect_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda authoriser_handler to ndrb
28s
Deploy all Lambdas / Deploy AuthoriserLambda / Deploy lambda authoriser_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda lloyd_george_record_stitch_handler to ndrb
32s
Deploy all Lambdas / Deploy LloydGeorgeStitchLambda / Deploy lambda lloyd_george_record_stitch_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda logout_handler to ndrb
4m 34s
Deploy all Lambdas / Deploy LogoutHandler / Deploy lambda logout_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda bulk_upload_handler to ndrb
32s
Deploy all Lambdas / Deploy bulk_upload_lambda / Deploy lambda bulk_upload_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda bulk_upload_report_handler to ndrb
27s
Deploy all Lambdas / Deploy report_bulk_upload_lambda / Deploy lambda bulk_upload_report_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda back_channel_logout_handler to ndrb
32s
Deploy all Lambdas / Deploy back_channel_logout_lambda / Deploy lambda back_channel_logout_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda send_feedback_handler to ndrb
26s
Deploy all Lambdas / Deploy send_feedback_lambda / Deploy lambda send_feedback_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda nems_message_handler to ndrb
27s
Deploy all Lambdas / Deploy nems_message_lambda / Deploy lambda nems_message_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda feature_flags_handler to ndrb
27s
Deploy all Lambdas / Deploy feature flags lambda / Deploy lambda feature_flags_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda virus_scan_result_handler to ndrb
26s
Deploy all Lambdas / Deploy virus scan result lambda / Deploy lambda virus_scan_result_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda upload_confirm_result_handler to ndrb
24s
Deploy all Lambdas / Deploy upload confirm result lambda / Deploy lambda upload_confirm_result_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda update_upload_state_handler to ndrb
31s
Deploy all Lambdas / Deploy update upload state lambda / Deploy lambda update_upload_state_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda data_collection_handler to ndrb
31s
Deploy all Lambdas / Deploy data collection lambda / Deploy lambda data_collection_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda statistical_report_handler to ndrb
32s
Deploy all Lambdas / Deploy statistical report lambda / Deploy lambda statistical_report_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda generate_document_manifest_handler to ndrb
31s
Deploy all Lambdas / Deploy generate document manifest lambda / Deploy lambda generate_document_manifest_handler to ndrb
Deploy all Lambdas  /  ...  /  Deploy lambda edge_presign_handler to ndrb
53s
Deploy all Lambdas / Deploy edge presign cloudfront lambda / Deploy lambda edge_presign_handler to ndrb
Fit to window
Zoom out
Zoom in

Annotations

1 error and 48 warnings
Deploy UI / react_build_and_deploy_docker_image
The container ndrb-container-app-cluster does not exist in the task definition.
Publish all Lambda Layers / Deploy data_lambda_layer / Deploy lambda layer data_lambda_layer
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Publish all Lambda Layers / Deploy core_lambda_layer / Deploy lambda layer core_lambda_layer
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Run UI Unit Tests / jest_testing_job (18.x)
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-node@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Run Lambda Unit Tests / Run Python unit tests
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy create_document_reference_lambda / Deploy lambda create_document_reference_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy AuthoriserLambda / Deploy lambda authoriser_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy document_reference_search_lambda / Deploy lambda document_reference_search_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy feature flags lambda / Deploy lambda feature_flags_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy nems_message_lambda / Deploy lambda nems_message_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy document_manifest_job_lambda / Deploy lambda document_manifest_job_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy data collection lambda / Deploy lambda data_collection_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy delete_document_reference_handler / Deploy lambda delete_document_reference_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy bulk_upload_lambda / Deploy lambda bulk_upload_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy back_channel_logout_lambda / Deploy lambda back_channel_logout_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy generate document manifest lambda / Deploy lambda generate_document_manifest_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy bulk_upload_metadata_lambda / Deploy lambda bulk_upload_metadata_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy LloydGeorgeStitchLambda / Deploy lambda lloyd_george_record_stitch_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy UI / react_build_and_deploy_docker_image
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Deploy UI / react_build_and_deploy_docker_image
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v2, aws-actions/configure-aws-credentials@v2, aws-actions/amazon-ecr-login@v1, dkershner6/aws-ssm-getparameters-action@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy UI / react_build_and_deploy_docker_image
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Deploy UI / react_build_and_deploy_docker_image
Ignoring property 'compatibilities' in the task definition file. This property is returned by the Amazon ECS DescribeTaskDefinition API and may be shown in the ECS console, but it is not a valid field when registering a new task definition. This field can be safely removed from your task definition file.
Deploy UI / react_build_and_deploy_docker_image
Ignoring property 'taskDefinitionArn' in the task definition file. This property is returned by the Amazon ECS DescribeTaskDefinition API and may be shown in the ECS console, but it is not a valid field when registering a new task definition. This field can be safely removed from your task definition file.
Deploy UI / react_build_and_deploy_docker_image
Ignoring property 'requiresAttributes' in the task definition file. This property is returned by the Amazon ECS DescribeTaskDefinition API and may be shown in the ECS console, but it is not a valid field when registering a new task definition. This field can be safely removed from your task definition file.
Deploy UI / react_build_and_deploy_docker_image
Ignoring property 'revision' in the task definition file. This property is returned by the Amazon ECS DescribeTaskDefinition API and may be shown in the ECS console, but it is not a valid field when registering a new task definition. This field can be safely removed from your task definition file.
Deploy UI / react_build_and_deploy_docker_image
Ignoring property 'status' in the task definition file. This property is returned by the Amazon ECS DescribeTaskDefinition API and may be shown in the ECS console, but it is not a valid field when registering a new task definition. This field can be safely removed from your task definition file.
Deploy UI / react_build_and_deploy_docker_image
Ignoring property 'registeredAt' in the task definition file. This property is returned by the Amazon ECS DescribeTaskDefinition API and may be shown in the ECS console, but it is not a valid field when registering a new task definition. This field can be safely removed from your task definition file.
Deploy UI / react_build_and_deploy_docker_image
Ignoring property 'registeredBy' in the task definition file. This property is returned by the Amazon ECS DescribeTaskDefinition API and may be shown in the ECS console, but it is not a valid field when registering a new task definition. This field can be safely removed from your task definition file.
Deploy UI / react_build_and_deploy_docker_image
Your docker password is not masked. See https://github.com/aws-actions/amazon-ecr-login#docker-credentials for more information.
Deploy all Lambdas / Deploy edge presign cloudfront lambda / Deploy lambda edge_presign_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy LoginRedirectHandler / Deploy lambda login_redirect_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy report_bulk_upload_lambda / Deploy lambda bulk_upload_report_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy upload confirm result lambda / Deploy lambda upload_confirm_result_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy send_feedback_lambda / Deploy lambda send_feedback_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy virus scan result lambda / Deploy lambda virus_scan_result_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy search_patient_details_lambda / Deploy lambda search_patient_details_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy statistical report lambda / Deploy lambda statistical_report_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy update upload state lambda / Deploy lambda update_upload_state_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy TokenRequestHandler / Deploy lambda token_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy LogoutHandler / Deploy lambda logout_handler to ndrb
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-python@v4, aws-actions/configure-aws-credentials@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deploy all Lambdas / Deploy LogoutHandler / Deploy lambda logout_handler to ndrb
Failed to download action 'https://api.github.com/repos/aws-actions/configure-aws-credentials/tarball/5fd3084fc36e372ff1fff382a39b10d03659f355'. Error: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.
Deploy all Lambdas / Deploy LogoutHandler / Deploy lambda logout_handler to ndrb
Back off 26.806 seconds before retry.
Deploy all Lambdas / Deploy LogoutHandler / Deploy lambda logout_handler to ndrb
Failed to download action 'https://api.github.com/repos/aws-actions/configure-aws-credentials/tarball/5fd3084fc36e372ff1fff382a39b10d03659f355'. Error: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.
Deploy all Lambdas / Deploy LogoutHandler / Deploy lambda logout_handler to ndrb
Back off 18.981 seconds before retry.
Build UI version for E2E Tests / install-cypress-build
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, cypress-io/github-action@v5, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Run Cypress E2E Tests / cypress_test_edge / cypress-run-job
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/download-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Run Cypress E2E Tests / cypress_test_firefox / cypress-run-job
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/download-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Run Cypress E2E Tests / cypress_test_chrome / cypress-run-job
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/download-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deprecation notice: v1, v2, and v3 of the artifact actions
The following artifacts were uploaded using a version of actions/upload-artifact that is scheduled for deprecation: "build". Please update your workflow to use v4 of the artifact actions. Learn more: https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/

Artifacts

Produced during runtime
Name Size
build Expired
2.99 MB