@@ -442,11 +442,79 @@ jobs:
442
442
autoAcceptChanges : true
443
443
exitOnceUploaded : true
444
444
445
- frontend-test :
445
+ # In case of self-hosted EC2 errors, remove this block.
446
+ stop-frontend-runner :
447
+ name : " Frontend: Stop Runner"
448
+ timeout-minutes : 10
449
+ needs :
450
+ - start-frontend-runner # required to get output from the start-runner job
451
+ - frontend-build # required to wait when then build job is done
452
+ runs-on : ubuntu-latest
453
+ # Always is required to stop the runner even if the previous job has errors. However always() runs even if the previous step is skipped.
454
+ # Thus, we check for skipped here.
455
+ if : ${{ always() && needs.start-frontend-runner.result != 'skipped'}}
456
+ steps :
457
+ - name : Configure AWS credentials
458
+ uses : aws-actions/configure-aws-credentials@v1
459
+ with :
460
+ aws-access-key-id : ${{ secrets.SELF_RUNNER_AWS_ACCESS_KEY_ID }}
461
+ aws-secret-access-key : ${{ secrets.SELF_RUNNER_AWS_SECRET_ACCESS_KEY }}
462
+ aws-region : us-east-2
463
+ - name : Checkout Airbyte
464
+ uses : actions/checkout@v3
465
+ - name : Check PAT rate limits
466
+ run : |
467
+ ./tools/bin/find_non_rate_limited_PAT \
468
+ ${{ secrets.AIRBYTEIO_PAT }} \
469
+ ${{ secrets.OSS_BUILD_RUNNER_GITHUB_PAT }} \
470
+ ${{ secrets.SUPERTOPHER_PAT }} \
471
+ ${{ secrets.DAVINCHIA_PAT }}
472
+ - name : Stop EC2 runner
473
+ uses :
supertopher/[email protected]
474
+ with :
475
+ mode : stop
476
+ github-token : ${{ env.PAT }}
477
+ label : ${{ needs.start-frontend-runner.outputs.label }}
478
+ ec2-instance-id : ${{ needs.start-frontend-runner.outputs.ec2-instance-id }}
479
+
480
+ # # Frontend Test
481
+ # In case of self-hosted EC2 errors, remove this block.
482
+ start-frontend-e2e-runner :
483
+ name : " Frontend E2E Tests: Start EC2 Runner"
484
+ needs :
485
+ - changes
486
+ # Because scheduled builds on master require us to skip the changes job. Use always() to force this to run on master.
487
+ if : |
488
+ needs.changes.outputs.frontend == 'true' || needs.changes.outputs.build == 'true' || github.ref == 'refs/heads/master'
489
+ || (always() && needs.changes.outputs.backend == 'true')
490
+ timeout-minutes : 10
491
+ runs-on : ubuntu-latest
492
+ outputs :
493
+ label : ${{ steps.start-ec2-runner.outputs.label }}
494
+ ec2-instance-id : ${{ steps.start-ec2-runner.outputs.ec2-instance-id }}
495
+ steps :
496
+ - name : Checkout Airbyte
497
+ uses : actions/checkout@v3
498
+ - name : Check PAT rate limits
499
+ run : |
500
+ ./tools/bin/find_non_rate_limited_PAT \
501
+ ${{ secrets.AIRBYTEIO_PAT }} \
502
+ ${{ secrets.OSS_BUILD_RUNNER_GITHUB_PAT }} \
503
+ ${{ secrets.SUPERTOPHER_PAT }} \
504
+ ${{ secrets.DAVINCHIA_PAT }}
505
+ - name : Start AWS Runner
506
+ id : start-ec2-runner
507
+ uses : ./.github/actions/start-aws-runner
508
+ with :
509
+ aws-access-key-id : ${{ secrets.SELF_RUNNER_AWS_ACCESS_KEY_ID }}
510
+ aws-secret-access-key : ${{ secrets.SELF_RUNNER_AWS_SECRET_ACCESS_KEY }}
511
+ github-token : ${{ env.PAT }}
512
+
513
+ frontend-e2e-test :
446
514
name : " Frontend: Run End-to-End Tests"
447
515
needs :
448
- - start-frontend-runner # required to have runner started
449
- runs-on : ${{ needs.start-frontend-runner.outputs.label }} # run the job on the newly created runner
516
+ - start-frontend-e2e- runner # required to have runner started
517
+ runs-on : ${{ needs.start-frontend-e2e- runner.outputs.label }} # run the job on the newly created runner
450
518
timeout-minutes : 120
451
519
steps :
452
520
- name : Checkout Airbyte
@@ -505,18 +573,18 @@ jobs:
505
573
command : ./tools/bin/e2e_test.sh
506
574
attempt_limit : 3
507
575
attempt_delay : 5000 # in ms
576
+
508
577
# In case of self-hosted EC2 errors, remove this block.
509
- stop-frontend-runner :
510
- name : " Frontend: Stop Runner"
578
+ stop-frontend-e2e- runner :
579
+ name : " Frontend E2E Tests : Stop Runner"
511
580
timeout-minutes : 10
512
581
needs :
513
- - start-frontend-runner # required to get output from the start-runner job
514
- - frontend-test # required to wait when the e2e-test job is done
515
- - frontend-build # required to wait when then build job is done
582
+ - start-frontend-e2e-runner # required to get output from the start-runner job
583
+ - frontend-e2e-test # required to wait when the e2e-test job is done
516
584
runs-on : ubuntu-latest
517
585
# Always is required to stop the runner even if the previous job has errors. However always() runs even if the previous step is skipped.
518
586
# Thus, we check for skipped here.
519
- if : ${{ always() && needs.start-frontend-runner.result != 'skipped'}}
587
+ if : ${{ always() && needs.start-frontend-e2e- runner.result != 'skipped'}}
520
588
steps :
521
589
- name : Configure AWS credentials
522
590
uses : aws-actions/configure-aws-credentials@v1
@@ -538,8 +606,8 @@ jobs:
538
606
with :
539
607
mode : stop
540
608
github-token : ${{ env.PAT }}
541
- label : ${{ needs.start-frontend-runner.outputs.label }}
542
- ec2-instance-id : ${{ needs.start-frontend-runner.outputs.ec2-instance-id }}
609
+ label : ${{ needs.start-frontend-e2e- runner.outputs.label }}
610
+ ec2-instance-id : ${{ needs.start-frontend-e2e- runner.outputs.ec2-instance-id }}
543
611
544
612
# # FOLLOWING BUILDS ARE ALL PLATFORM BUILDS.
545
613
0 commit comments