1414 description : The target environment [mock, integ, prod]
1515 type : string
1616 default : mock
17- operator_shutdown :
17+ delay_operator_shutdown :
1818 description : If true, will automatically shut down operators after E2E tests. Defaults to true.
1919 type : boolean
2020 default : true
6464 type : string
6565
6666 aws_region :
67- description : The AWS region [us-east-1, us-west-1, ca-central-1, eu-central-1]
67+ description : The AWS region
6868 type : string
6969 aws_ami :
7070 description : The AWS AMI ID
7676env :
7777 REGISTRY : ghcr.io
7878
79+ E2E_UID2_INTEG_GCP_ARGS_JSON : ${{ secrets.E2E_UID2_INTEG_GCP_ARGS_JSON }}
80+ E2E_UID2_INTEG_AWS_ARGS_JSON : ${{ secrets.E2E_UID2_INTEG_AWS_ARGS_JSON }}
81+ E2E_UID2_INTEG_AZURE_ARGS_JSON : ${{ secrets.E2E_UID2_INTEG_AZURE_ARGS_JSON }}
7982 E2E_UID2_INTEG_GCP_OPERATOR_API_KEY : ${{ secrets.E2E_UID2_INTEG_GCP_OPERATOR_API_KEY }}
8083 E2E_UID2_INTEG_AWS_OPERATOR_API_KEY : ${{ secrets.E2E_UID2_INTEG_AWS_OPERATOR_API_KEY }}
8184
85+ E2E_UID2_PROD_GCP_ARGS_JSON : ${{ secrets.E2E_UID2_PROD_GCP_ARGS_JSON }}
86+ E2E_UID2_PROD_AZURE_ARGS_JSON : ${{ secrets.E2E_UID2_PROD_AZURE_ARGS_JSON }}
87+ E2E_UID2_PROD_AWS_ARGS_JSON : ${{ secrets.E2E_UID2_PROD_AWS_ARGS_JSON }}
8288 E2E_UID2_PROD_GCP_OPERATOR_API_KEY : ${{ secrets.E2E_UID2_PROD_GCP_OPERATOR_API_KEY }}
8389 E2E_UID2_PROD_AWS_OPERATOR_API_KEY : ${{ secrets.E2E_UID2_PROD_AWS_OPERATOR_API_KEY }}
8490
91+ E2E_EUID_INTEG_AWS_ARGS_JSON : ${{ secrets.E2E_EUID_INTEG_AWS_ARGS_JSON }}
8592 E2E_EUID_INTEG_AWS_OPERATOR_API_KEY : ${{ secrets.E2E_EUID_INTEG_AWS_OPERATOR_API_KEY }}
93+
94+ E2E_EUID_PROD_AWS_ARGS_JSON : ${{ secrets.E2E_EUID_PROD_AWS_ARGS_JSON }}
8695 E2E_EUID_PROD_AWS_OPERATOR_API_KEY : ${{ secrets.E2E_EUID_PROD_AWS_OPERATOR_API_KEY }}
8796
8897jobs :
@@ -93,6 +102,10 @@ jobs:
93102 contents : write
94103 packages : read
95104 id-token : write
105+ outputs :
106+ gcp_instance_name : ${{ steps.start_gcp_private_operator.outputs.gcp_instance_name }}
107+ azure_container_group_name : ${{ steps.start_azure_private_operator.outputs.azure_container_group_name }}
108+ aws_stack_name : ${{ steps.start_aws_private_operator.outputs.aws_stack_name }}
96109 steps :
97110 - name : Log in to the Docker container registry
98111 uses : docker/login-action@v3
@@ -265,15 +278,14 @@ jobs:
265278 shell : bash
266279 env :
267280 OPERATOR_TYPE : ${{ inputs.operator_type }}
268- OPERATOR_URL : ${{ steps.start_gcp_private_operator.outputs.uid2_e2e_pipeline_operator_url }}
269281 IDENTITY_SCOPE : ${{ inputs.identity_scope }}
270282 TARGET_ENVIRONMENT : ${{ inputs.target_environment }}
271283 BORE_URL_CORE : ${{ steps.bore.outputs.bore_url_core }}
272284 BORE_URL_OPTOUT : ${{ steps.bore.outputs.bore_url_optout }}
273- GCP_OPERATOR_URL : ${{ steps.start_gcp_private_operator.outputs.uid2_e2e_pipeline_operator_url }}
274- AZURE_OPERATOR_URL : ${{ steps.start_azure_private_operator.outputs.uid2_e2e_pipeline_operator_url }}
275- AWS_OPERATOR_URL : ${{ steps.start_aws_private_operator.outputs.uid2_e2e_pipeline_operator_url }}
276- AKS_OPERATOR_URL : ${{ steps.start_aks_private_operator.outputs.uid2_e2e_pipeline_operator_url }}
285+ GCP_OPERATOR_URL : ${{ steps.start_gcp_private_operator.outputs.uid2_pipeline_e2e_operator_url }}
286+ AZURE_OPERATOR_URL : ${{ steps.start_azure_private_operator.outputs.uid2_pipeline_e2e_operator_url }}
287+ AWS_OPERATOR_URL : ${{ steps.start_aws_private_operator.outputs.uid2_pipeline_e2e_operator_url }}
288+ AKS_OPERATOR_URL : ${{ steps.start_aks_private_operator.outputs.uid2_pipeline_e2e_operator_url }}
277289 run : |
278290 bash uid2-shared-actions/scripts/decide_e2e_env.sh
279291
@@ -283,16 +295,20 @@ jobs:
283295 with :
284296 e2e_network : ${{ steps.decide_env_var.outputs.e2e_network }}
285297 e2e_image_version : ${{ inputs.e2e_image_version }}
286- uid2_e2e_identity_scope : ${{ inputs.identity_scope }}
287- uid2_e2e_pipeline_operator_url : ${{ steps.decide_env_var.outputs.uid2_e2e_pipeline_operator_url }}
288- uid2_e2e_pipeline_operator_type : ${{ steps.decide_env_var.outputs.uid2_e2e_pipeline_operator_type }}
289- uid2_e2e_pipeline_operator_cloud_provider : ${{ steps.decide_env_var.outputs.uid2_e2e_pipeline_operator_cloud_provider }}
290- uid2_e2e_phone_support : ${{ steps.decide_env_var.outputs.uid2_e2e_phone_support }}
291- uid2_e2e_pipeline_core_url : ${{ steps.decide_env_var.outputs.uid2_e2e_pipeline_core_url }}
292- uid2_e2e_pipeline_optout_url : ${{ steps.decide_env_var.outputs.uid2_e2e_pipeline_optout_url }}
298+ e2e_suites : ${{ steps.decide_env_var.outputs.e2e_suites }}
299+ e2e_args_json : ${{ steps.decide_env_var.outputs.e2e_args_json }}
300+ e2e_env : ${{ steps.decide_env_var.outputs.e2e_env }}
301+ e2e_identity_scope : ${{ inputs.identity_scope }}
302+ e2e_phone_support : ${{ steps.decide_env_var.outputs.e2e_phone_support }}
303+ uid2_core_e2e_core_url : ${{ steps.decide_env_var.outputs.uid2_core_e2e_core_url }}
304+ uid2_core_e2e_optout_url : ${{ steps.decide_env_var.outputs.uid2_core_e2e_optout_url }}
305+ uid2_pipeline_e2e_core_url : ${{ steps.decide_env_var.outputs.uid2_pipeline_e2e_core_url }}
306+ uid2_pipeline_e2e_operator_url : ${{ steps.decide_env_var.outputs.uid2_pipeline_e2e_operator_url }}
307+ uid2_pipeline_e2e_operator_type : ${{ steps.decide_env_var.outputs.uid2_pipeline_e2e_operator_type }}
308+ uid2_pipeline_e2e_operator_cloud_provider : ${{ steps.decide_env_var.outputs.uid2_pipeline_e2e_operator_cloud_provider }}
293309
294310 - name : Stop GCP private operator
295- if : ${{ always() && inputs.operator_shutdown && inputs.operator_type == 'gcp' }}
311+ if : ${{ always() && ! inputs.delay_operator_shutdown && inputs.operator_type == 'gcp' }}
296312 env :
297313 GCP_PROJECT : ${{ inputs.gcp_project }}
298314 SERVICE_ACCOUNT : ${{ inputs.gcp_service_account }}
@@ -301,21 +317,68 @@ jobs:
301317 bash uid2-shared-actions/scripts/gcp/stop_gcp_enclave.sh
302318
303319 - name : Stop Azure private operator
304- if : ${{ always() && inputs.operator_shutdown && inputs.operator_type == 'azure' }}
320+ if : ${{ always() && ! inputs.delay_operator_shutdown && inputs.operator_type == 'azure' }}
305321 env :
306322 AZURE_CONTAINER_GROUP_NAME : ${{ steps.start_azure_private_operator.outputs.azure_container_group_name }}
307323 run : |
308324 bash uid2-shared-actions/scripts/azure/stop_azure_enclave.sh
309325
310326 - name : Stop AWS private operator
311- if : ${{ always() && inputs.operator_shutdown && inputs.operator_type == 'aws' }}
327+ if : ${{ always() && ! inputs.delay_operator_shutdown && inputs.operator_type == 'aws' }}
312328 env :
313329 AWS_STACK_NAME : ${{ steps.start_aws_private_operator.outputs.aws_stack_name }}
314330 AWS_REGION : ${{ inputs.aws_region }}
315331 run : |
316332 bash uid2-shared-actions/scripts/aws/stop_aws_enclave.sh
317333
318334 - name : Stop AKS operator
319- if : ${{ always() && inputs.operator_shutdown && inputs.operator_type == 'aks' }}
335+ if : ${{ always() && ! inputs.delay_operator_shutdown && inputs.operator_type == 'aks' }}
320336 run : |
321337 bash uid2-shared-actions/scripts/aks/stop_aks_enclave.sh
338+
339+ e2e-test-cleanup :
340+ name : E2E Test Cleanup (Delayed Operator Shutdown)
341+ if : ${{ always() && inputs.delay_operator_shutdown && inputs.operator_type != 'public' }}
342+ needs : [e2e-test]
343+ runs-on : ubuntu-latest
344+ environment : ' e2e-test-cleanup'
345+ permissions :
346+ contents : write
347+ packages : read
348+ id-token : write
349+ steps :
350+ - name : Checkout uid2-shared-actions repo
351+ uses : actions/checkout@v4
352+ with :
353+ ref : v3
354+ repository : IABTechLab/uid2-shared-actions
355+ path : uid2-shared-actions
356+
357+ - name : Stop GCP private operator
358+ if : ${{ inputs.operator_type == 'gcp' }}
359+ uses : IABTechLab/uid2-shared-actions/actions/stop_gcp_private_operator@v3
360+ with :
361+ gcp_project : ${{ inputs.gcp_project }}
362+ gcp_service_account : ${{ inputs.gcp_service_account }}
363+ gcp_workload_identity_provider_id : ${{ inputs.gcp_workload_identity_provider_id }}
364+ gcp_instance_name : ${{ needs.e2e-test.outputs.gcp_instance_name }}
365+
366+ - name : Stop Azure private operator
367+ if : ${{ inputs.operator_type == 'azure' }}
368+ uses : IABTechLab/uid2-shared-actions/actions/stop_azure_private_operator@v3
369+ with :
370+ azure_credentials : ${{ secrets.AZURE_CREDENTIALS }}
371+ azure_container_group_name : ${{ needs.e2e-test.outputs.azure_container_group_name }}
372+
373+ - name : Stop AWS private operator
374+ if : ${{ inputs.operator_type == 'aws' }}
375+ uses : IABTechLab/uid2-shared-actions/actions/stop_aws_private_operator@v3
376+ with :
377+ aws_stack_name : ${{ needs.e2e-test.outputs.aws_stack_name }}
378+ aws_region : ${{ inputs.aws_region }}
379+
380+ - name : Stop AKS operator
381+ if : ${{ inputs.operator_type == 'aks' }}
382+ uses : IABTechLab/uid2-shared-actions/actions/stop_aks_private_operator@v3
383+ with :
384+ azure_credentials : ${{ secrets.AZURE_CREDENTIALS }}
0 commit comments