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