1
+ permissions : write-all # Equivalent to default permissions plus id-token: write
1
2
on :
2
3
pull_request :
3
4
paths-ignore :
24
25
25
26
env :
26
27
PULUMI_API : https://api.pulumi-staging.io
27
- PULUMI_ACCESS_TOKEN : ${{ secrets.PULUMI_ACCESS_TOKEN }}
28
28
AWS_REGION : us-west-2
29
29
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
30
30
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL :
[email protected]
31
31
GOOGLE_CI_WORKLOAD_IDENTITY_POOL : pulumi-ci
32
32
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER : pulumi-ci
33
33
GOOGLE_PROJECT_NUMBER : 895284651812
34
34
GOLANGCI_LINT_VERSION : v1.64.4
35
+ ESC_ACTION_OIDC_AUTH : true
36
+ ESC_ACTION_OIDC_ORGANIZATION : pulumi
37
+ ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE : urn:pulumi:token-type:access_token:organization
38
+ ESC_ACTION_ENVIRONMENT : imports/github-secrets
39
+ ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES : PULUMI_ACCESS_TOKEN
35
40
36
41
jobs :
37
42
41
46
outputs :
42
47
gotcloudcreds : ${{ steps.gotcloudcreds.outputs.gotcloudcreds }}
43
48
steps :
49
+ - name : Fetch secrets from ESC
50
+ id : esc-secrets
51
+ uses : pulumi/esc-action@v1
44
52
- uses : actions/checkout@v3
45
53
with :
46
54
submodules : recursive
93
101
uses : codecov/codecov-action@v5
94
102
with :
95
103
directory : sdk/java/pulumi/build/reports/jacoco/allTests
96
- token : ${{ secrets.CODECOV_TOKEN }}
104
+ token : ${{ steps.esc- secrets.outputs .CODECOV_TOKEN }}
97
105
- run : make build_go
98
106
- run : make bin/pulumi-java-gen
99
107
- run : make bin/pulumi-language-java
@@ -133,6 +141,9 @@ jobs:
133
141
strategy :
134
142
fail-fast : false
135
143
steps :
144
+ - name : Fetch secrets from ESC
145
+ id : esc-secrets
146
+ uses : pulumi/esc-action@v1
136
147
- uses : actions/checkout@v3
137
148
with :
138
149
submodules : recursive
@@ -219,6 +230,9 @@ jobs:
219
230
contents : read
220
231
id-token : write
221
232
steps :
233
+ - name : Fetch secrets from ESC
234
+ id : esc-secrets
235
+ uses : pulumi/esc-action@v1
222
236
- uses : actions/checkout@v3
223
237
with :
224
238
submodules : recursive
@@ -274,33 +288,33 @@ jobs:
274
288
aws-secret-access-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
275
289
role-duration-seconds : 3600
276
290
role-session-name : ${{ env.PROVIDER }}@githubActions
277
- role-to-assume : ${{ secrets.AWS_CI_ROLE_ARN }}
291
+ role-to-assume : ${{ steps.esc- secrets.outputs .AWS_CI_ROLE_ARN }}
278
292
- name : Authenticate to Google Cloud
279
293
uses : google-github-actions/auth@v2
280
294
with :
281
- workload_identity_provider : projects/${{ env.GOOGLE_PROJECT_NUMBER
282
- }}/locations/global/workloadIdentityPools/${{
283
- env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{
284
- env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
295
+ workload_identity_provider : projects/${{ env.GOOGLE_PROJECT_NUMBER }}/locations/global/workloadIdentityPools/${{ env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
285
296
service_account : ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
286
297
- name : Setup gcloud auth
287
298
uses : google-github-actions/setup-gcloud@v2
288
299
with :
289
300
install_components : gke-gcloud-auth-plugin
290
301
- name : Run ${{ matrix.example }} example
291
302
env :
292
- PULUMI_ACCESS_TOKEN : ${{ secrets.PULUMI_ACCESS_TOKEN }}
293
- ARM_CLIENT_ID : ${{ secrets.ARM_CLIENT_ID }}
294
- ARM_CLIENT_SECRET : ${{ secrets.ARM_CLIENT_SECRET }}
295
- ARM_SUBSCRIPTION_ID : ${{ secrets.ARM_SUBSCRIPTION_ID }}
296
- ARM_TENANT_ID : ${{ secrets.ARM_TENANT_ID }}
303
+ PULUMI_ACCESS_TOKEN : ${{ steps.esc- secrets.outputs .PULUMI_ACCESS_TOKEN }}
304
+ ARM_CLIENT_ID : ${{ steps.esc- secrets.outputs .ARM_CLIENT_ID }}
305
+ ARM_CLIENT_SECRET : ${{ steps.esc- secrets.outputs .ARM_CLIENT_SECRET }}
306
+ ARM_SUBSCRIPTION_ID : ${{ steps.esc- secrets.outputs .ARM_SUBSCRIPTION_ID }}
307
+ ARM_TENANT_ID : ${{ steps.esc- secrets.outputs .ARM_TENANT_ID }}
297
308
run : make test_example.${{ matrix.example }}
298
309
299
310
go-lint :
300
311
runs-on : ubuntu-latest
301
312
timeout-minutes : 10
302
313
name : Lint pkg
303
314
steps :
315
+ - name : Fetch secrets from ESC
316
+ id : esc-secrets
317
+ uses : pulumi/esc-action@v1
304
318
- name : Checkout Repo
305
319
uses : actions/checkout@v3
306
320
with :
@@ -338,6 +352,9 @@ jobs:
338
352
- provider-maven
339
353
- provider-gradle
340
354
steps :
355
+ - name : Fetch secrets from ESC
356
+ id : esc-secrets
357
+ uses : pulumi/esc-action@v1
341
358
- uses : actions/checkout@v3
342
359
with :
343
360
submodules : recursive
@@ -386,7 +403,7 @@ jobs:
386
403
path : ~/.m2/repository/com/pulumi
387
404
- name : Run ${{ matrix.integration }} integration
388
405
env :
389
- PULUMI_ACCESS_TOKEN : ${{ secrets.PULUMI_ACCESS_TOKEN }}
406
+ PULUMI_ACCESS_TOKEN : ${{ steps.esc- secrets.outputs .PULUMI_ACCESS_TOKEN }}
390
407
run : make test_integration.${{ matrix.integration }}
391
408
392
409
test_templates :
@@ -398,6 +415,9 @@ jobs:
398
415
contents : read
399
416
id-token : write
400
417
steps :
418
+ - name : Fetch secrets from ESC
419
+ id : esc-secrets
420
+ uses : pulumi/esc-action@v1
401
421
- uses : actions/checkout@v3
402
422
with :
403
423
submodules : recursive
@@ -449,25 +469,22 @@ jobs:
449
469
aws-secret-access-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
450
470
role-duration-seconds : 3600
451
471
role-session-name : ${{ env.PROVIDER }}@githubActions
452
- role-to-assume : ${{ secrets.AWS_CI_ROLE_ARN }}
472
+ role-to-assume : ${{ steps.esc- secrets.outputs .AWS_CI_ROLE_ARN }}
453
473
- name : Authenticate to Google Cloud
454
474
uses : google-github-actions/auth@v2
455
475
with :
456
- workload_identity_provider : projects/${{ env.GOOGLE_PROJECT_NUMBER
457
- }}/locations/global/workloadIdentityPools/${{
458
- env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{
459
- env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
476
+ workload_identity_provider : projects/${{ env.GOOGLE_PROJECT_NUMBER }}/locations/global/workloadIdentityPools/${{ env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
460
477
service_account : ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
461
478
- name : Setup gcloud auth
462
479
uses : google-github-actions/setup-gcloud@v2
463
480
with :
464
481
install_components : gke-gcloud-auth-plugin
465
482
- env :
466
- PULUMI_ACCESS_TOKEN : ${{ secrets.PULUMI_ACCESS_TOKEN }}
467
- ARM_CLIENT_ID : ${{ secrets.ARM_CLIENT_ID }}
468
- ARM_CLIENT_SECRET : ${{ secrets.ARM_CLIENT_SECRET }}
469
- ARM_SUBSCRIPTION_ID : ${{ secrets.ARM_SUBSCRIPTION_ID }}
470
- ARM_TENANT_ID : ${{ secrets.ARM_TENANT_ID }}
483
+ PULUMI_ACCESS_TOKEN : ${{ steps.esc- secrets.outputs .PULUMI_ACCESS_TOKEN }}
484
+ ARM_CLIENT_ID : ${{ steps.esc- secrets.outputs .ARM_CLIENT_ID }}
485
+ ARM_CLIENT_SECRET : ${{ steps.esc- secrets.outputs .ARM_CLIENT_SECRET }}
486
+ ARM_SUBSCRIPTION_ID : ${{ steps.esc- secrets.outputs .ARM_SUBSCRIPTION_ID }}
487
+ ARM_TENANT_ID : ${{ steps.esc- secrets.outputs .ARM_TENANT_ID }}
471
488
run : make test_templates
472
489
473
490
ci-ok :
@@ -476,6 +493,9 @@ jobs:
476
493
if : always()
477
494
runs-on : ubuntu-latest
478
495
steps :
496
+ - name : Fetch secrets from ESC
497
+ id : esc-secrets
498
+ uses : pulumi/esc-action@v1
479
499
- name : CI failed
480
500
if : ${{ needs.go-tests.result != 'success' || needs.examples.result != 'success' || needs.go-lint.result != 'success' || needs.test_integrations.result != 'success' || needs.test_templates.result != 'success' }}
481
501
run : exit 1
0 commit comments