-
Notifications
You must be signed in to change notification settings - Fork 360
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WX-1307 Azure E2E test #7239
WX-1307 Azure E2E test #7239
Changes from 81 commits
fdca4a2
27b4031
5445798
69914ca
474f485
cca2f44
3cfd3ad
98031a3
ce6a0e9
98b9786
49ced65
82f6904
06596c1
d9b135f
1987a6f
fd98f28
a111fa9
3dbd77f
e5bb442
4ea80f6
e5f0b10
970d24d
b1f0276
06f7724
fcf95d3
c29520a
2a020bd
d66a859
77bc1f6
052cbb1
30f972f
cf02d48
642cec6
7c7fa2d
a79f958
98babd2
f345cb0
92b0f2a
5f8dd88
2a2964a
44a8cf8
50d6a0d
ff83308
4703ed9
0039523
c07be2f
2ecbd53
4ac1c03
40690b6
f2ddfc2
6d9be20
9672bee
857f3b7
360b819
7fe4cab
e59b352
ec43d25
d30c61d
21d8898
1525d9e
0d2db59
428517d
25da780
72fcd8a
74ed4cb
b2e6c63
8ae75a4
e1e0c2f
131b541
ac62878
987fd3a
23817c0
6cd34e2
f2f12a0
44ab50d
e537275
9df8f80
9fffafc
abd7372
1ead0b9
86771d7
2190700
a756df2
1b6f5b2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
name: 'Azure e2e - Run Workflow' | ||
on: | ||
schedule: | ||
- cron: '0 16 * * *' # UTC 4pm, EST 11am, EDT 12pm | ||
workflow_dispatch: | ||
inputs: | ||
target-branch: | ||
description: 'Branch name of dsp-reusable-workflows repo to run tests on' | ||
required: true | ||
default: 'main' | ||
type: string | ||
# Replace user data with seeded data provided by devOps (once available) | ||
owner-subject: | ||
description: 'Owner of billing project' | ||
required: true | ||
default: '[email protected]' | ||
type: string | ||
service-account: | ||
description: 'Email address or unique identifier of the Google Cloud service account for which to generate credentials' | ||
required: true | ||
default: '[email protected]' | ||
type: string | ||
|
||
env: | ||
BROADBOT_TOKEN: '${{ secrets.BROADBOT_GITHUB_TOKEN }}' # github token for access to kick off a job in the private repo | ||
RUN_NAME_SUFFIX: '${{ github.event.repository.name }}-${{ github.run_id }}-${{ github.run_attempt }}' | ||
|
||
jobs: | ||
|
||
# This job provisions useful parameters for e2e tests | ||
params-gen: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: 'read' | ||
id-token: 'write' | ||
outputs: | ||
project-name: ${{ steps.gen.outputs.project_name }} | ||
bee-name: '${{ github.event.repository.name }}-${{ github.run_id }}-${{ github.run_attempt}}-dev' | ||
steps: | ||
- name: Generate a random billing project name | ||
id: 'gen' | ||
run: | | ||
project_name=$(echo "tmp-billing-project-$(uuidgen)" | cut -c -30) | ||
echo "project_name=${project_name}" >> $GITHUB_OUTPUT | ||
|
||
create-bee-workflow: | ||
runs-on: ubuntu-latest | ||
needs: [params-gen] | ||
permissions: | ||
contents: 'read' | ||
id-token: 'write' | ||
steps: | ||
- name: Dispatch to terra-github-workflows | ||
uses: broadinstitute/workflow-dispatch@v3 | ||
with: | ||
workflow: bee-create | ||
repo: broadinstitute/terra-github-workflows | ||
ref: refs/heads/main | ||
token: ${{ env.BROADBOT_TOKEN }} | ||
# NOTE: Opting to use "prod" instead of custom tag since I specifically want to test against the current prod state | ||
# NOTE: For testing/development purposes I'm using dev | ||
inputs: '{ "bee-name": "${{ needs.params-gen.outputs.bee-name }}", "version-template": "dev", "bee-template-name": "rawls-e2e-azure-tests"}' | ||
|
||
create-and-attach-billing-project-to-landing-zone-workflow: | ||
runs-on: ubuntu-latest | ||
needs: [create-bee-workflow, params-gen] | ||
steps: | ||
- name: dispatch to terra-github-workflows | ||
uses: broadinstitute/workflow-dispatch@v3 | ||
with: | ||
workflow: attach-billing-project-to-landing-zone.yaml | ||
repo: broadinstitute/terra-github-workflows | ||
ref: refs/heads/main | ||
token: ${{ env.BROADBOT_TOKEN }} | ||
inputs: '{ | ||
"run-name": "attach-billing-project-to-landing-zone-${{ env.RUN_NAME_SUFFIX }}", | ||
"bee-name": "${{ needs.params-gen.outputs.bee-name }}", | ||
"billing-project": "${{ needs.params-gen.outputs.project-name }}", | ||
"billing-project-creator": "${{ inputs.owner-subject }}", | ||
"service-account": "${{inputs.service-account}}" }' | ||
|
||
run-cromwell-az-e2e: | ||
needs: [params-gen, create-and-attach-billing-project-to-landing-zone-workflow] | ||
permissions: | ||
contents: read | ||
id-token: write | ||
uses: "broadinstitute/dsp-reusable-workflows/.github/workflows/cromwell-az-e2e-test.yaml@${{ inputs.target-branch }}" | ||
with: | ||
branch: "${{ inputs.target-branch }}" | ||
bee-name: "${{ needs.params-gen.outputs.bee-name }}" | ||
billing-project-name: "${{ needs.params-gen.outputs.project-name }}" | ||
|
||
delete-billing-project-v2-from-bee-workflow: | ||
continue-on-error: true | ||
runs-on: ubuntu-latest | ||
needs: [run-cromwell-az-e2e, create-and-attach-billing-project-to-landing-zone-workflow, params-gen] | ||
if: always() | ||
steps: | ||
- name: dispatch to terra-github-workflows | ||
uses: broadinstitute/workflow-dispatch@v3 | ||
with: | ||
workflow: .github/workflows/delete-billing-project-v2-from-bee.yaml | ||
repo: broadinstitute/terra-github-workflows | ||
ref: refs/heads/main | ||
token: ${{ env.BROADBOT_TOKEN }} | ||
inputs: '{ | ||
"run-name": "delete-billing-project-v2-from-bee-${{ env.RUN_NAME_SUFFIX }}", | ||
"bee-name": "${{ needs.params-gen.outputs.bee-name }}", | ||
"billing-project": "${{ needs.params-gen.outputs.project-name }}", | ||
"billing-project-owner": "${{ inputs.owner-subject }}", | ||
"service-account": "${{ inputs.service-account }}", | ||
"silent-on-failure": "false" }' | ||
|
||
destroy-bee-workflow: | ||
runs-on: ubuntu-latest | ||
needs: [params-gen, create-bee-workflow, delete-billing-project-v2-from-bee-workflow] | ||
if: always() | ||
permissions: | ||
contents: 'read' | ||
id-token: 'write' | ||
steps: | ||
- name: dispatch to terra-github-workflows | ||
uses: broadinstitute/workflow-dispatch@v3 | ||
with: | ||
workflow: bee-destroy.yaml | ||
repo: broadinstitute/terra-github-workflows | ||
ref: refs/heads/main | ||
token: ${{ env.BROADBOT_TOKEN }} | ||
inputs: '{ "bee-name": "${{ needs.params-gen.outputs.bee-name }}" }' | ||
wait-for-completion: true | ||
|
||
report-workflow: | ||
uses: broadinstitute/sherlock/.github/workflows/client-report-workflow.yaml@main | ||
with: | ||
notify-slack-channels-upon-workflow-failure: "#cromwell_jenkins_ci_errors" | ||
permissions: | ||
id-token: write |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -23,6 +23,9 @@ console_output.txt | |
expected.json | ||
run_mode_metadata.json | ||
|
||
#bloop files | ||
/.bloop | ||
|
||
# custom config | ||
cromwell-executions | ||
cromwell-test-executions | ||
|
@@ -55,3 +58,6 @@ tesk_application.conf | |
**/venv/ | ||
exome_germline_single_sample_v1.3/ | ||
**/*.pyc | ||
|
||
# GHA credentials | ||
gha-creds-*.json | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is this and There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think some folks on the team use bloop for Scala builds. I assume gha-creds is for being able to test things locally? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not used in this PR directly, I assume Justin added these during his development work. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
small nit: Can this comment be removed now?