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