1414
1515name : tests
1616on :
17+ # Add labeled type to defaults
1718 pull_request :
18- pull_request_target :
19- types : [labeled]
19+ types : [opened, synchronize, reopened, labeled]
2020# Declare default permissions as read only.
2121permissions : read-all
2222jobs :
2323 unit :
2424 if : " ${{ github.event.action != 'labeled' || github.event.label.name == 'tests: run' || github.event.label.name == 'tests: run-unit' }}"
2525 name : unit tests
2626 runs-on : ubuntu-latest
27- permissions :
28- issues : write
29- pull-requests : write
3027 steps :
31- - name : Remove PR Label
32- if : " ${{ github.event.action == 'labeled' && (github.event.label.name == 'tests: run' || github.event.label.name == 'tests: run-unit') }}"
33- uses : actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6.4.1
34- with :
35- github-token : ${{ secrets.GITHUB_TOKEN }}
36- script : |
37- try {
38- await github.rest.issues.removeLabel({
39- name: 'tests: run',
40- owner: context.repo.owner,
41- repo: context.repo.repo,
42- issue_number: context.payload.pull_request.number
43- });
44- } catch (e) {
45- console.log('Failed to remove label. Another job may have already removed it!');
46- }
47- try {
48- await github.rest.issues.removeLabel({
49- name: 'tests: run-unit',
50- owner: context.repo.owner,
51- repo: context.repo.repo,
52- issue_number: context.payload.pull_request.number
53- });
54- } catch (e) {
55- console.log('Failed to remove label. Another job may have already removed it!');
56- }
5728 - name : Setup Go
5829 uses : actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
5930 with :
@@ -73,41 +44,42 @@ jobs:
7344 name : e2e tests
7445 runs-on : ubuntu-latest
7546 permissions :
76- contents : ' read'
77- id-token : ' write'
78- issues : write
79- pull-requests : write
47+ contents : read
48+ id-token : write
8049 steps :
8150 - name : Checkout code
8251 uses : actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
83- with :
84- ref : ${{ github.event.pull_request.head.sha }}
85- repository : ${{ github.event.pull_request.head.repo.full_name }}
86- - id : ' auth'
52+ - id : auth
8753 name : Authenticate to Google Cloud
8854 uses : google-github-actions/auth@3a3c4c57d294ef65efaaee4ff17b22fa88dd3c69 # v1.3.0
8955 with :
90- workload_identity_provider : ${{ secrets .PROVIDER_NAME }}
91- service_account : ${{ secrets .SERVICE_ACCOUNT }}
56+ workload_identity_provider : ${{ vars .PROVIDER_NAME }}
57+ service_account : ${{ vars .SERVICE_ACCOUNT }}
9258 access_token_lifetime : 600s
93- project_id : ${{ secrets.GOOGLE_CLOUD_PROJECT }}
94- create_credentials_file : true
59+ - id : secrets
60+ name : Get secrets
61+ uses : google-github-actions/get-secretmanager-secrets@dc4a1392bad0fd60aee00bb2097e30ef07a1caae # v2.1.3
62+ with :
63+ secrets : |-
64+ NODEPOOL_SERVICEACCOUNT_EMAIL:${{ vars.GOOGLE_CLOUD_PROJECT }}/NODEPOOL_SERVICEACCOUNT_EMAIL
65+ TFSTATE_STORAGE_BUCKET:${{ vars.GOOGLE_CLOUD_PROJECT }}/TFSTATE_STORAGE_BUCKET
66+ WORKLOAD_ID_SERVICEACCOUNT_EMAIL:${{ vars.GOOGLE_CLOUD_PROJECT }}/WORKLOAD_ID_SERVICEACCOUNT_EMAIL
9567 - name : Set up Cloud SDK
9668 uses : google-github-actions/setup-gcloud@e30db14379863a8c79331b04a9969f4c1e225e0b # v1.1.1
97- - name : ' Setup Go'
69+ - name : Setup Go
9870 uses : actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
9971 with :
10072 go-version : " 1.22"
10173 - name : Set up QEMU
10274 uses : docker/setup-qemu-action@2b82ce82d56a2a04d2637cd93a637ae1b359c0a7 # v2.2.0
10375 - name : Set up Docker Buildx
10476 uses : docker/setup-buildx-action@885d1462b80bc1c1c7f0b00334ad271f09369c55 # v2.10.0
105- - id : ' e2e'
106- name : ' Run E2E Tests'
77+ - id : e2e
78+ name : " Run E2E Tests"
10779 run : " ./tools/e2e_test_job.sh"
10880 env :
10981 ENVIRONMENT_NAME : " ci-pr"
110- NODEPOOL_SERVICEACCOUNT_EMAIL : " ${{secrets.NODEPOOL_SERVICEACCOUNT_EMAIL}}"
111- WORKLOAD_ID_SERVICEACCOUNT_EMAIL : " ${{secrets.WORKLOAD_ID_SERVICEACCOUNT_EMAIL}}"
112- TFSTATE_STORAGE_BUCKET : " ${{secrets.TFSTATE_STORAGE_BUCKET}}"
113- E2E_PROJECT_ID : " ${{secrets .GOOGLE_CLOUD_PROJECT}}"
82+ NODEPOOL_SERVICEACCOUNT_EMAIL : " ${{ steps. secrets.outputs. NODEPOOL_SERVICEACCOUNT_EMAIL }}"
83+ WORKLOAD_ID_SERVICEACCOUNT_EMAIL : " ${{ steps. secrets.outputs. WORKLOAD_ID_SERVICEACCOUNT_EMAIL }}"
84+ TFSTATE_STORAGE_BUCKET : " ${{ steps. secrets.outputs. TFSTATE_STORAGE_BUCKET }}"
85+ E2E_PROJECT_ID : " ${{vars .GOOGLE_CLOUD_PROJECT}}"
0 commit comments