Compare commits

..

1 Commits

Author SHA1 Message Date
Pulumi Bot
613dffd366 [internal] Update GitHub Actions workflow files 2025-09-01 05:35:15 +00:00
29 changed files with 372 additions and 787 deletions

View File

@@ -4,12 +4,9 @@ major-version: 0
providerDefaultBranch: main providerDefaultBranch: main
providerVersion: github.com/pulumi/pulumi-docker-build/provider.Version providerVersion: github.com/pulumi/pulumi-docker-build/provider.Version
aws: true aws: true
modulePath: .
gcp: true gcp: true
sdkModuleDir: sdk/go/dockerbuild sdkModuleDir: sdk/go/dockerbuild
parallel: 3 parallel: 3
esc:
enabled: true
envOverride: envOverride:
AWS_REGION: us-west-2 AWS_REGION: us-west-2
PULUMI_API: "https://api.pulumi-staging.io" PULUMI_API: "https://api.pulumi-staging.io"

View File

@@ -1,45 +0,0 @@
[[tools.dotnet]]
version = "8.0.414"
backend = "asdf:dotnet"
[[tools."github:pulumi/pulumictl"]]
version = "0.0.50"
backend = "github:pulumi/pulumictl"
[tools."github:pulumi/pulumictl".platforms.linux-x64]
checksum = "blake3:c128dd74993f779c613296fe7cd21c20cbd323f24e59cb76e007620660b60348"
size = 27744219
url = "https://github.com/pulumi/pulumictl/releases/download/v0.0.50/pulumictl-v0.0.50-linux-amd64.tar.gz"
[[tools."github:pulumi/schema-tools"]]
version = "0.6.0"
backend = "github:pulumi/schema-tools"
[tools."github:pulumi/schema-tools".platforms.linux-x64]
checksum = "blake3:82dfe616fee18b4258f6e3d2dc3c4e9f14afd43a0a4cc33eff2d2a04088d6ca3"
size = 14282746
url = "https://github.com/pulumi/schema-tools/releases/download/v0.6.0/schema-tools-v0.6.0-linux-amd64.tar.gz"
[[tools.go]]
version = "1.21.13"
backend = "core:go"
[[tools.gradle]]
version = "7.6.6"
backend = "aqua:gradle/gradle"
[[tools.java]]
version = "corretto-11.0.28.6.1"
backend = "core:java"
[[tools.node]]
version = "20.19.5"
backend = "core:node"
[[tools.pulumi]]
version = "3.198.0"
backend = "aqua:pulumi/pulumi"
[[tools.python]]
version = "3.11.8"
backend = "core:python"

View File

@@ -1,7 +0,0 @@
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
# Overrides tool versions for test workflows
[tools]
# always use pulumi latest for tests
pulumi = "latest"

View File

@@ -1,26 +0,0 @@
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
# You can create your own root-level mise.toml file to override/augment this. See https://mise.jdx.dev/configuration.html
[env]
_.source = "{{config_root}}/scripts/get-versions.sh"
[tools]
# Runtimes
# TODO: we may not need `get_env` once https://github.com/jdx/mise/discussions/6339 is fixed
go = "{{ get_env(name='MISE_GO_VERSION', default='latest') }}"
node = '20'
python = '3.11.8'
dotnet = '8.0'
# Corretto version used as Java SE/OpenJDK version no longer offered
java = 'corretto-11'
# Executable tools
pulumi = "{{ get_env(name='MISE_PULUMI_VERSION', default='latest') }}"
"github:pulumi/pulumictl" = 'latest'
"github:pulumi/schema-tools" = "latest"
gradle = '7.6'
[settings]
experimental = true # Required for Go binaries (e.g. pulumictl).
lockfile = true

View File

@@ -5,7 +5,7 @@ var stream = fs.createWriteStream(file, { flags: "a" });
for (const [name, value] of Object.entries(process.env)) { for (const [name, value] of Object.entries(process.env)) {
try { try {
stream.write(`${name}<<EEEOOOFFF\n${value}\nEEEOOOFFF\n`); // << syntax accommodates multiline strings. stream.write(`${name}=${value}\n`);
} catch (err) { } catch (err) {
console.log(`error: failed to set output for ${name}: ${err.message}`); console.log(`error: failed to set output for ${name}: ${err.message}`);
} }

View File

@@ -25,10 +25,13 @@ env:
DOTNETVERSION: "8.0.x" DOTNETVERSION: "8.0.x"
JAVAVERSION: "11" JAVAVERSION: "11"
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1 ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7 ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
AWS_REGION: us-west-2 AWS_REGION: us-west-2
AZURE_LOCATION: westus AZURE_LOCATION: westus
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
@@ -37,28 +40,15 @@ env:
GOOGLE_REGION: us-central1 GOOGLE_REGION: us-central1
GOOGLE_ZONE: us-central1-a GOOGLE_ZONE: us-central1-a
PULUMI_API: https://api.pulumi-staging.io PULUMI_API: https://api.pulumi-staging.io
jobs: jobs:
prerequisites: prerequisites:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: prerequisites name: prerequisites
permissions:
id-token: write # For ESC secrets.
pull-requests: write # For schema check comment.
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -76,7 +66,7 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- if: github.event_name == 'pull_request' - if: github.event_name == 'pull_request'
name: Install Schema Tools name: Install Schema Tools
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0 uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
@@ -97,7 +87,7 @@ jobs:
echo 'EOF'; echo 'EOF';
} >> "$GITHUB_ENV" } >> "$GITHUB_ENV"
env: env:
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }} GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
- if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' - if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
name: Comment on PR with Details of Schema Check name: Comment on PR with Details of Schema Check
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1 uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
@@ -172,7 +162,7 @@ jobs:
# workflow. https://github.com/orgs/community/discussions/25702 # workflow. https://github.com/orgs/community/discussions/25702
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF" git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
env: env:
HEAD_REF: ${{ github.head_ref }} HEAD_REF: ${{ github.head_ref }}
- run: git status --porcelain - run: git status --porcelain
@@ -187,15 +177,10 @@ jobs:
path: ${{ github.workspace }}/bin/provider.tar.gz path: ${{ github.workspace }}/bin/provider.tar.gz
- name: Test Provider Library - name: Test Provider Library
run: make test_provider run: make test_provider
env:
ARM_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.ARM_CLIENT_SECRET }}
DIGITALOCEAN_TOKEN: ${{ steps.esc-secrets.outputs.DIGITALOCEAN_TOKEN }}
DOCKER_HUB_PASSWORD: ${{ steps.esc-secrets.outputs.DOCKER_HUB_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload coverage reports to Codecov - name: Upload coverage reports to Codecov
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1 uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
env: env:
CODECOV_TOKEN: ${{ steps.esc-secrets.outputs.CODECOV_TOKEN }} CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- if: failure() && github.event_name == 'push' - if: failure() && github.event_name == 'push'
name: Notify Slack name: Notify Slack
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0 uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
@@ -204,7 +189,7 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
build_sdks: build_sdks:
needs: prerequisites needs: prerequisites
runs-on: pulumi-ubuntu-8core runs-on: pulumi-ubuntu-8core
@@ -218,23 +203,11 @@ jobs:
- go - go
- java - java
name: build_sdks name: build_sdks
permissions:
pull-requests: write # For Renovate SDK updates.
id-token: write # For ESC secrets.
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -252,18 +225,18 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Setup Node - name: Setup Node
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with: with:
node-version: ${{ env.NODEVERSION }} node-version: ${{ env.NODEVERSION }}
registry-url: https://registry.npmjs.org registry-url: https://registry.npmjs.org
- name: Setup DotNet - name: Setup DotNet
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0 uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
with: with:
dotnet-version: ${{ env.DOTNETVERSION }} dotnet-version: ${{ env.DOTNETVERSION }}
- name: Setup Python - name: Setup Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with: with:
python-version: ${{ env.PYTHONVERSION }} python-version: ${{ env.PYTHONVERSION }}
- name: Setup Java - name: Setup Java
@@ -273,7 +246,7 @@ jobs:
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3 uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download provider - name: Download provider
@@ -347,7 +320,7 @@ jobs:
# workflow. https://github.com/orgs/community/discussions/25702 # workflow. https://github.com/orgs/community/discussions/25702
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF" git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
env: env:
HEAD_REF: ${{ github.head_ref }} HEAD_REF: ${{ github.head_ref }}
- run: git status --porcelain - run: git status --porcelain
@@ -367,29 +340,13 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
tag_release_if_labeled_needs_release: tag_release_if_labeled_needs_release:
name: Tag release if labeled as needs-release name: Tag release if labeled as needs-release
needs: publish needs: publish
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
contents: read
id-token: write # For ESC secrets.
steps: steps:
- name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- name: check if this commit needs release - name: check if this commit needs release
if: ${{ env.RELEASE_BOT_ENDPOINT != '' }} if: ${{ env.RELEASE_BOT_ENDPOINT != '' }}
uses: pulumi/action-release-by-pr-label@main uses: pulumi/action-release-by-pr-label@main
@@ -397,10 +354,10 @@ jobs:
command: "release-if-needed" command: "release-if-needed"
repo: ${{ github.repository }} repo: ${{ github.repository }}
commit: ${{ github.sha }} commit: ${{ github.sha }}
slack_channel: C02MGR8JVST slack_channel: ${{ secrets.RELEASE_OPS_SLACK_CHANNEL }}
env: env:
RELEASE_BOT_ENDPOINT: ${{ steps.esc-secrets.outputs.RELEASE_BOT_ENDPOINT }} RELEASE_BOT_ENDPOINT: ${{ secrets.RELEASE_BOT_ENDPOINT }}
RELEASE_BOT_KEY: ${{ steps.esc-secrets.outputs.RELEASE_BOT_KEY }} RELEASE_BOT_KEY: ${{ secrets.RELEASE_BOT_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
test: test:
@@ -420,21 +377,12 @@ jobs:
name: test name: test
permissions: permissions:
contents: read contents: read
id-token: write # For ESC secrets and Pulumi access token OIDC. id-token: write
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -452,18 +400,18 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Setup Node - name: Setup Node
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with: with:
node-version: ${{ env.NODEVERSION }} node-version: ${{ env.NODEVERSION }}
registry-url: https://registry.npmjs.org registry-url: https://registry.npmjs.org
- name: Setup DotNet - name: Setup DotNet
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0 uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
with: with:
dotnet-version: ${{ env.DOTNETVERSION }} dotnet-version: ${{ env.DOTNETVERSION }}
- name: Setup Python - name: Setup Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with: with:
python-version: ${{ env.PYTHONVERSION }} python-version: ${{ env.PYTHONVERSION }}
- name: Setup Java - name: Setup Java
@@ -473,7 +421,7 @@ jobs:
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3 uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download provider - name: Download provider
@@ -523,7 +471,7 @@ jobs:
with: with:
environment: logins/pulumi-ci environment: logins/pulumi-ci
- name: Authenticate to Google Cloud - name: Authenticate to Google Cloud
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0 uses: google-github-actions/auth@b7593ed2efd1c1617e1b0254da33b86225adb2a5 # v2.1.12
with: with:
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
}}/locations/global/workloadIdentityPools/${{ }}/locations/global/workloadIdentityPools/${{
@@ -531,7 +479,7 @@ jobs:
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
- name: Setup gcloud auth - name: Setup gcloud auth
uses: google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # v3.0.1 uses: google-github-actions/setup-gcloud@26f734c2779b00b7dda794207734c511110a4368 # v3.0.0
with: with:
install_components: gke-gcloud-auth-plugin install_components: gke-gcloud-auth-plugin
- name: Install gotestfmt - name: Install gotestfmt
@@ -544,8 +492,6 @@ jobs:
set -euo pipefail set -euo pipefail
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 . cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: failure() && github.event_name == 'push' - if: failure() && github.event_name == 'push'
name: Notify Slack name: Notify Slack
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0 uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
@@ -554,28 +500,16 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
publish: publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: test needs: test
name: publish name: publish
permissions:
contents: read
id-token: write # For ESC secrets.
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -602,27 +536,27 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Configure AWS Credentials - name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v5.0.0 uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4.3.1
with: with:
aws-access-key-id: ${{ steps.esc-secrets.outputs.AWS_ACCESS_KEY_ID }} aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-region: us-east-2 aws-region: us-east-2
aws-secret-access-key: ${{ steps.esc-secrets.outputs.AWS_SECRET_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
role-duration-seconds: 7200 role-duration-seconds: 7200
role-session-name: ${{ env.PROVIDER }}@githubActions role-session-name: ${{ env.PROVIDER }}@githubActions
role-external-id: upload-pulumi-release role-external-id: upload-pulumi-release
role-to-assume: ${{ steps.esc-secrets.outputs.AWS_UPLOAD_ROLE_ARN }} role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
- name: Run GoReleaser - name: Run GoReleaser
uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0 uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
env: env:
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }} GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
AZURE_SIGNING_CLIENT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID }} GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
AZURE_SIGNING_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET }} AZURE_SIGNING_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
AZURE_SIGNING_TENANT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID }} AZURE_SIGNING_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
AZURE_SIGNING_KEY_VAULT_URI: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI }} AZURE_SIGNING_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
SKIP_SIGNING: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET == '' && steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI == '' }} AZURE_SIGNING_KEY_VAULT_URI: ${{ secrets.AZURE_SIGNING_KEY_VAULT_URI }}
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }} SKIP_SIGNING: ${{ secrets.AZURE_SIGNING_CLIENT_ID == '' && secrets.AZURE_SIGNING_CLIENT_SECRET == '' && secrets.AZURE_SIGNING_TENANT_ID == '' && secrets.AZURE_SIGNING_KEY_VAULT_URI == '' }}
with: with:
args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s
version: latest version: latest
@@ -634,28 +568,16 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
publish_sdk: publish_sdk:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: publish needs: publish
name: publish_sdk name: publish_sdk
permissions:
contents: read
id-token: write # For ESC secrets.
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -679,18 +601,18 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Setup Node - name: Setup Node
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with: with:
node-version: ${{ env.NODEVERSION }} node-version: ${{ env.NODEVERSION }}
registry-url: https://registry.npmjs.org registry-url: https://registry.npmjs.org
- name: Setup DotNet - name: Setup DotNet
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0 uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
with: with:
dotnet-version: ${{ env.DOTNETVERSION }} dotnet-version: ${{ env.DOTNETVERSION }}
- name: Setup Python - name: Setup Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with: with:
python-version: ${{ env.PYTHONVERSION }} python-version: ${{ env.PYTHONVERSION }}
- name: Download python SDK - name: Download python SDK
@@ -722,16 +644,16 @@ jobs:
- name: Publish SDKs - name: Publish SDKs
run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }} run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }}
env: env:
NUGET_PUBLISH_KEY: ${{ steps.esc-secrets.outputs.NUGET_PUBLISH_KEY }} NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
NODE_AUTH_TOKEN: ${{ steps.esc-secrets.outputs.NPM_TOKEN }} NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
PYPI_PUBLISH_ARTIFACTS: all PYPI_PUBLISH_ARTIFACTS: all
PYPI_USERNAME: __token__ PYPI_USERNAME: __token__
PYPI_PASSWORD: ${{ steps.esc-secrets.outputs.PYPI_API_TOKEN }} PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
SIGNING_KEY_ID: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY_ID }} SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
SIGNING_KEY: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY }} SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
SIGNING_PASSWORD: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_PASSWORD }} SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
PUBLISH_REPO_USERNAME: ${{ steps.esc-secrets.outputs.OSSRH_USERNAME }} PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
PUBLISH_REPO_PASSWORD: ${{ steps.esc-secrets.outputs.OSSRH_PASSWORD }} PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
- if: failure() && github.event_name == 'push' - if: failure() && github.event_name == 'push'
name: Notify Slack name: Notify Slack
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0 uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
@@ -740,7 +662,7 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
lint: lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:

View File

@@ -2,10 +2,13 @@
env: env:
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1 ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7 ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
AWS_REGION: us-west-2 AWS_REGION: us-west-2
AZURE_LOCATION: westus AZURE_LOCATION: westus
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
@@ -14,28 +17,15 @@ env:
GOOGLE_REGION: us-central1 GOOGLE_REGION: us-central1
GOOGLE_ZONE: us-central1-a GOOGLE_ZONE: us-central1-a
PULUMI_API: https://api.pulumi-staging.io PULUMI_API: https://api.pulumi-staging.io
jobs: jobs:
command-dispatch-for-testing: command-dispatch-for-testing:
name: command-dispatch-for-testing name: command-dispatch-for-testing
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
contents: read
id-token: write # For ESC secrets.
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
persist-credentials: false persist-credentials: false
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- uses: peter-evans/slash-command-dispatch@13bc09769d122a64f75aa5037256f6f2d78be8c4 # v4 - uses: peter-evans/slash-command-dispatch@13bc09769d122a64f75aa5037256f6f2d78be8c4 # v4
with: with:
commands: | commands: |
@@ -45,7 +35,7 @@ jobs:
permission: write permission: write
reaction-token: ${{ secrets.GITHUB_TOKEN }} reaction-token: ${{ secrets.GITHUB_TOKEN }}
repository: pulumi/pulumi-docker-build repository: pulumi/pulumi-docker-build
token: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }} token: ${{ secrets.PULUMI_BOT_TOKEN }}
name: command-dispatch name: command-dispatch
on: on:
issue_comment: issue_comment:

View File

@@ -1,5 +1,7 @@
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt # WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs: jobs:
warn_codegen: warn_codegen:
name: warn_codegen name: warn_codegen

View File

@@ -13,7 +13,7 @@ jobs:
app-id: 1256780 # Export Secrets GitHub App app-id: 1256780 # Export Secrets GitHub App
private-key: ${{ secrets.EXPORT_SECRETS_PRIVATE_KEY }} private-key: ${{ secrets.EXPORT_SECRETS_PRIVATE_KEY }}
- name: Export secrets to ESC - name: Export secrets to ESC
uses: pulumi/esc-export-secrets-action@9d6485759b6adff2538ae91f1b77cc96265c9dad # v1 uses: pulumi/esc-export-secrets-action@v1
with: with:
organization: pulumi organization: pulumi
org-environment: imports/github-secrets org-environment: imports/github-secrets

View File

@@ -16,10 +16,13 @@ env:
DOTNETVERSION: "8.0.x" DOTNETVERSION: "8.0.x"
JAVAVERSION: "11" JAVAVERSION: "11"
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1 ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7 ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
AWS_REGION: us-west-2 AWS_REGION: us-west-2
AZURE_LOCATION: westus AZURE_LOCATION: westus
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
@@ -29,7 +32,6 @@ env:
GOOGLE_ZONE: us-central1-a GOOGLE_ZONE: us-central1-a
PULUMI_API: https://api.pulumi-staging.io PULUMI_API: https://api.pulumi-staging.io
IS_PRERELEASE: true IS_PRERELEASE: true
jobs: jobs:
prerequisites: prerequisites:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -39,15 +41,6 @@ jobs:
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -65,7 +58,7 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- if: github.event_name == 'pull_request' - if: github.event_name == 'pull_request'
name: Install Schema Tools name: Install Schema Tools
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0 uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
@@ -86,7 +79,7 @@ jobs:
echo 'EOF'; echo 'EOF';
} >> "$GITHUB_ENV" } >> "$GITHUB_ENV"
env: env:
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }} GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
- if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' - if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
name: Comment on PR with Details of Schema Check name: Comment on PR with Details of Schema Check
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1 uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
@@ -161,7 +154,7 @@ jobs:
# workflow. https://github.com/orgs/community/discussions/25702 # workflow. https://github.com/orgs/community/discussions/25702
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF" git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
env: env:
HEAD_REF: ${{ github.head_ref }} HEAD_REF: ${{ github.head_ref }}
- run: git status --porcelain - run: git status --porcelain
@@ -176,15 +169,10 @@ jobs:
path: ${{ github.workspace }}/bin/provider.tar.gz path: ${{ github.workspace }}/bin/provider.tar.gz
- name: Test Provider Library - name: Test Provider Library
run: make test_provider run: make test_provider
env:
ARM_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.ARM_CLIENT_SECRET }}
DIGITALOCEAN_TOKEN: ${{ steps.esc-secrets.outputs.DIGITALOCEAN_TOKEN }}
DOCKER_HUB_PASSWORD: ${{ steps.esc-secrets.outputs.DOCKER_HUB_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload coverage reports to Codecov - name: Upload coverage reports to Codecov
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1 uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
env: env:
CODECOV_TOKEN: ${{ steps.esc-secrets.outputs.CODECOV_TOKEN }} CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- if: failure() && github.event_name == 'push' - if: failure() && github.event_name == 'push'
name: Notify Slack name: Notify Slack
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0 uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
@@ -193,7 +181,7 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
build_sdks: build_sdks:
needs: prerequisites needs: prerequisites
runs-on: pulumi-ubuntu-8core runs-on: pulumi-ubuntu-8core
@@ -207,23 +195,11 @@ jobs:
- go - go
- java - java
name: build_sdks name: build_sdks
permissions:
pull-requests: write # For Renovate SDK updates.
id-token: write # For ESC secrets.
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -241,18 +217,18 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Setup Node - name: Setup Node
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with: with:
node-version: ${{ env.NODEVERSION }} node-version: ${{ env.NODEVERSION }}
registry-url: https://registry.npmjs.org registry-url: https://registry.npmjs.org
- name: Setup DotNet - name: Setup DotNet
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0 uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
with: with:
dotnet-version: ${{ env.DOTNETVERSION }} dotnet-version: ${{ env.DOTNETVERSION }}
- name: Setup Python - name: Setup Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with: with:
python-version: ${{ env.PYTHONVERSION }} python-version: ${{ env.PYTHONVERSION }}
- name: Setup Java - name: Setup Java
@@ -262,7 +238,7 @@ jobs:
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3 uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download provider - name: Download provider
@@ -336,7 +312,7 @@ jobs:
# workflow. https://github.com/orgs/community/discussions/25702 # workflow. https://github.com/orgs/community/discussions/25702
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF" git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
env: env:
HEAD_REF: ${{ github.head_ref }} HEAD_REF: ${{ github.head_ref }}
- run: git status --porcelain - run: git status --porcelain
@@ -355,7 +331,7 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
test: test:
runs-on: pulumi-ubuntu-8core runs-on: pulumi-ubuntu-8core
needs: needs:
@@ -373,21 +349,12 @@ jobs:
name: test name: test
permissions: permissions:
contents: read contents: read
id-token: write # For ESC secrets and Pulumi access token OIDC. id-token: write
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -405,18 +372,18 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Setup Node - name: Setup Node
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with: with:
node-version: ${{ env.NODEVERSION }} node-version: ${{ env.NODEVERSION }}
registry-url: https://registry.npmjs.org registry-url: https://registry.npmjs.org
- name: Setup DotNet - name: Setup DotNet
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0 uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
with: with:
dotnet-version: ${{ env.DOTNETVERSION }} dotnet-version: ${{ env.DOTNETVERSION }}
- name: Setup Python - name: Setup Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with: with:
python-version: ${{ env.PYTHONVERSION }} python-version: ${{ env.PYTHONVERSION }}
- name: Setup Java - name: Setup Java
@@ -426,7 +393,7 @@ jobs:
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3 uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download provider - name: Download provider
@@ -476,7 +443,7 @@ jobs:
with: with:
environment: logins/pulumi-ci environment: logins/pulumi-ci
- name: Authenticate to Google Cloud - name: Authenticate to Google Cloud
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0 uses: google-github-actions/auth@b7593ed2efd1c1617e1b0254da33b86225adb2a5 # v2.1.12
with: with:
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
}}/locations/global/workloadIdentityPools/${{ }}/locations/global/workloadIdentityPools/${{
@@ -484,7 +451,7 @@ jobs:
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
- name: Setup gcloud auth - name: Setup gcloud auth
uses: google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # v3.0.1 uses: google-github-actions/setup-gcloud@26f734c2779b00b7dda794207734c511110a4368 # v3.0.0
with: with:
install_components: gke-gcloud-auth-plugin install_components: gke-gcloud-auth-plugin
- name: Install gotestfmt - name: Install gotestfmt
@@ -497,8 +464,6 @@ jobs:
set -euo pipefail set -euo pipefail
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 . cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: failure() && github.event_name == 'push' - if: failure() && github.event_name == 'push'
name: Notify Slack name: Notify Slack
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0 uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
@@ -507,28 +472,16 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
publish: publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: test needs: test
name: publish name: publish
permissions:
contents: read
id-token: write # For ESC secrets.
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -555,27 +508,27 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Configure AWS Credentials - name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v5.0.0 uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4.3.1
with: with:
aws-access-key-id: ${{ steps.esc-secrets.outputs.AWS_ACCESS_KEY_ID }} aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-region: us-east-2 aws-region: us-east-2
aws-secret-access-key: ${{ steps.esc-secrets.outputs.AWS_SECRET_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
role-duration-seconds: 7200 role-duration-seconds: 7200
role-session-name: ${{ env.PROVIDER }}@githubActions role-session-name: ${{ env.PROVIDER }}@githubActions
role-external-id: upload-pulumi-release role-external-id: upload-pulumi-release
role-to-assume: ${{ steps.esc-secrets.outputs.AWS_UPLOAD_ROLE_ARN }} role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
- name: Run GoReleaser - name: Run GoReleaser
uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0 uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
env: env:
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }} GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
AZURE_SIGNING_CLIENT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID }} GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
AZURE_SIGNING_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET }} AZURE_SIGNING_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
AZURE_SIGNING_TENANT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID }} AZURE_SIGNING_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
AZURE_SIGNING_KEY_VAULT_URI: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI }} AZURE_SIGNING_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
SKIP_SIGNING: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET == '' && steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI == '' }} AZURE_SIGNING_KEY_VAULT_URI: ${{ secrets.AZURE_SIGNING_KEY_VAULT_URI }}
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }} SKIP_SIGNING: ${{ secrets.AZURE_SIGNING_CLIENT_ID == '' && secrets.AZURE_SIGNING_CLIENT_SECRET == '' && secrets.AZURE_SIGNING_TENANT_ID == '' && secrets.AZURE_SIGNING_KEY_VAULT_URI == '' }}
with: with:
args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s
version: latest version: latest
@@ -587,28 +540,16 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
publish_sdk: publish_sdk:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: publish needs: publish
name: publish_sdk name: publish_sdk
permissions:
contents: read
id-token: write # For ESC secrets.
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -632,18 +573,18 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Setup Node - name: Setup Node
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with: with:
node-version: ${{ env.NODEVERSION }} node-version: ${{ env.NODEVERSION }}
registry-url: https://registry.npmjs.org registry-url: https://registry.npmjs.org
- name: Setup DotNet - name: Setup DotNet
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0 uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
with: with:
dotnet-version: ${{ env.DOTNETVERSION }} dotnet-version: ${{ env.DOTNETVERSION }}
- name: Setup Python - name: Setup Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with: with:
python-version: ${{ env.PYTHONVERSION }} python-version: ${{ env.PYTHONVERSION }}
- name: Download python SDK - name: Download python SDK
@@ -675,11 +616,11 @@ jobs:
- name: Publish SDKs - name: Publish SDKs
run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }} run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }}
env: env:
NUGET_PUBLISH_KEY: ${{ steps.esc-secrets.outputs.NUGET_PUBLISH_KEY }} NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
NODE_AUTH_TOKEN: ${{ steps.esc-secrets.outputs.NPM_TOKEN }} NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
PYPI_PUBLISH_ARTIFACTS: all PYPI_PUBLISH_ARTIFACTS: all
PYPI_USERNAME: __token__ PYPI_USERNAME: __token__
PYPI_PASSWORD: ${{ steps.esc-secrets.outputs.PYPI_API_TOKEN }} PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
- if: failure() && github.event_name == 'push' - if: failure() && github.event_name == 'push'
name: Notify Slack name: Notify Slack
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0 uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
@@ -688,29 +629,17 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
publish_java_sdk: publish_java_sdk:
runs-on: ubuntu-latest runs-on: ubuntu-latest
continue-on-error: true continue-on-error: true
needs: publish needs: publish
name: publish_java_sdk name: publish_java_sdk
permissions:
contents: read
id-token: write # For ESC secrets.
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -728,7 +657,7 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Setup Java - name: Setup Java
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
with: with:
@@ -736,7 +665,7 @@ jobs:
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3 uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download java SDK - name: Download java SDK
@@ -748,18 +677,18 @@ jobs:
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
${{github.workspace}}/sdk/java ${{github.workspace}}/sdk/java
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3 uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Publish Java SDK - name: Publish Java SDK
run: gradle -p ./sdk/java publishToSonatype closeAndReleaseSonatypeStagingRepository run: gradle -p ./sdk/java publishToSonatype closeAndReleaseSonatypeStagingRepository
env: env:
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }} PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
SIGNING_KEY_ID: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY_ID }} SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
SIGNING_KEY: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY }} SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
SIGNING_PASSWORD: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_PASSWORD }} SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
PUBLISH_REPO_PASSWORD: ${{ steps.esc-secrets.outputs.OSSRH_PASSWORD }} PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
PUBLISH_REPO_USERNAME: ${{ steps.esc-secrets.outputs.OSSRH_USERNAME }} PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
publish_go_sdk: publish_go_sdk:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: publish-go-sdk name: publish-go-sdk

View File

@@ -3,7 +3,33 @@
name: pull-request name: pull-request
on: on:
pull_request_target: {} pull_request_target: {}
env:
PROVIDER: docker-build
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
TRAVIS_OS_NAME: linux
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
GOVERSION: "1.21.x"
NODEVERSION: "20.x"
PYTHONVERSION: "3.11.8"
DOTNETVERSION: "8.0.x"
JAVAVERSION: "11"
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
AWS_REGION: us-west-2
AZURE_LOCATION: westus
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
GOOGLE_PROJECT: pulumi-ci-gcp-provider
GOOGLE_PROJECT_NUMBER: "895284651812"
GOOGLE_REGION: us-central1
GOOGLE_ZONE: us-central1-a
PULUMI_API: https://api.pulumi-staging.io
jobs: jobs:
comment-on-pr: comment-on-pr:
runs-on: ubuntu-latest runs-on: ubuntu-latest

View File

@@ -17,10 +17,13 @@ env:
DOTNETVERSION: "8.0.x" DOTNETVERSION: "8.0.x"
JAVAVERSION: "11" JAVAVERSION: "11"
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1 ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7 ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
AWS_REGION: us-west-2 AWS_REGION: us-west-2
AZURE_LOCATION: westus AZURE_LOCATION: westus
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
@@ -29,28 +32,15 @@ env:
GOOGLE_REGION: us-central1 GOOGLE_REGION: us-central1
GOOGLE_ZONE: us-central1-a GOOGLE_ZONE: us-central1-a
PULUMI_API: https://api.pulumi-staging.io PULUMI_API: https://api.pulumi-staging.io
jobs: jobs:
prerequisites: prerequisites:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: prerequisites name: prerequisites
permissions:
id-token: write # For ESC secrets.
pull-requests: write # For schema check comment.
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -68,7 +58,7 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- if: github.event_name == 'pull_request' - if: github.event_name == 'pull_request'
name: Install Schema Tools name: Install Schema Tools
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0 uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
@@ -89,7 +79,7 @@ jobs:
echo 'EOF'; echo 'EOF';
} >> "$GITHUB_ENV" } >> "$GITHUB_ENV"
env: env:
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }} GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
- if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' - if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
name: Comment on PR with Details of Schema Check name: Comment on PR with Details of Schema Check
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1 uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
@@ -164,7 +154,7 @@ jobs:
# workflow. https://github.com/orgs/community/discussions/25702 # workflow. https://github.com/orgs/community/discussions/25702
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF" git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
env: env:
HEAD_REF: ${{ github.head_ref }} HEAD_REF: ${{ github.head_ref }}
- run: git status --porcelain - run: git status --porcelain
@@ -179,15 +169,10 @@ jobs:
path: ${{ github.workspace }}/bin/provider.tar.gz path: ${{ github.workspace }}/bin/provider.tar.gz
- name: Test Provider Library - name: Test Provider Library
run: make test_provider run: make test_provider
env:
ARM_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.ARM_CLIENT_SECRET }}
DIGITALOCEAN_TOKEN: ${{ steps.esc-secrets.outputs.DIGITALOCEAN_TOKEN }}
DOCKER_HUB_PASSWORD: ${{ steps.esc-secrets.outputs.DOCKER_HUB_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload coverage reports to Codecov - name: Upload coverage reports to Codecov
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1 uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
env: env:
CODECOV_TOKEN: ${{ steps.esc-secrets.outputs.CODECOV_TOKEN }} CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- if: failure() && github.event_name == 'push' - if: failure() && github.event_name == 'push'
name: Notify Slack name: Notify Slack
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0 uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
@@ -196,7 +181,7 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
build_sdks: build_sdks:
needs: prerequisites needs: prerequisites
runs-on: pulumi-ubuntu-8core runs-on: pulumi-ubuntu-8core
@@ -210,23 +195,11 @@ jobs:
- go - go
- java - java
name: build_sdks name: build_sdks
permissions:
contents: read
id-token: write # For ESC secrets.
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -244,18 +217,18 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Setup Node - name: Setup Node
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with: with:
node-version: ${{ env.NODEVERSION }} node-version: ${{ env.NODEVERSION }}
registry-url: https://registry.npmjs.org registry-url: https://registry.npmjs.org
- name: Setup DotNet - name: Setup DotNet
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0 uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
with: with:
dotnet-version: ${{ env.DOTNETVERSION }} dotnet-version: ${{ env.DOTNETVERSION }}
- name: Setup Python - name: Setup Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with: with:
python-version: ${{ env.PYTHONVERSION }} python-version: ${{ env.PYTHONVERSION }}
- name: Setup Java - name: Setup Java
@@ -265,7 +238,7 @@ jobs:
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3 uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download provider - name: Download provider
@@ -339,7 +312,7 @@ jobs:
# workflow. https://github.com/orgs/community/discussions/25702 # workflow. https://github.com/orgs/community/discussions/25702
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF" git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
env: env:
HEAD_REF: ${{ github.head_ref }} HEAD_REF: ${{ github.head_ref }}
- run: git status --porcelain - run: git status --porcelain
@@ -358,7 +331,7 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
test: test:
runs-on: pulumi-ubuntu-8core runs-on: pulumi-ubuntu-8core
needs: needs:
@@ -376,21 +349,12 @@ jobs:
name: test name: test
permissions: permissions:
contents: read contents: read
id-token: write # For ESC secrets. id-token: write
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -408,18 +372,18 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Setup Node - name: Setup Node
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with: with:
node-version: ${{ env.NODEVERSION }} node-version: ${{ env.NODEVERSION }}
registry-url: https://registry.npmjs.org registry-url: https://registry.npmjs.org
- name: Setup DotNet - name: Setup DotNet
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0 uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
with: with:
dotnet-version: ${{ env.DOTNETVERSION }} dotnet-version: ${{ env.DOTNETVERSION }}
- name: Setup Python - name: Setup Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with: with:
python-version: ${{ env.PYTHONVERSION }} python-version: ${{ env.PYTHONVERSION }}
- name: Setup Java - name: Setup Java
@@ -429,7 +393,7 @@ jobs:
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3 uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download provider - name: Download provider
@@ -479,7 +443,7 @@ jobs:
with: with:
environment: logins/pulumi-ci environment: logins/pulumi-ci
- name: Authenticate to Google Cloud - name: Authenticate to Google Cloud
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0 uses: google-github-actions/auth@b7593ed2efd1c1617e1b0254da33b86225adb2a5 # v2.1.12
with: with:
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
}}/locations/global/workloadIdentityPools/${{ }}/locations/global/workloadIdentityPools/${{
@@ -487,7 +451,7 @@ jobs:
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
- name: Setup gcloud auth - name: Setup gcloud auth
uses: google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # v3.0.1 uses: google-github-actions/setup-gcloud@26f734c2779b00b7dda794207734c511110a4368 # v3.0.0
with: with:
install_components: gke-gcloud-auth-plugin install_components: gke-gcloud-auth-plugin
- name: Install gotestfmt - name: Install gotestfmt
@@ -500,8 +464,6 @@ jobs:
set -euo pipefail set -euo pipefail
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 . cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
env:
GTIHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: failure() && github.event_name == 'push' - if: failure() && github.event_name == 'push'
name: Notify Slack name: Notify Slack
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0 uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
@@ -510,28 +472,16 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
publish: publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: test needs: test
name: publish name: publish
permissions:
contents: read
id-token: write # For ESC secrets.
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -558,27 +508,27 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Configure AWS Credentials - name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v5.0.0 uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4.3.1
with: with:
aws-access-key-id: ${{ steps.esc-secrets.outputs.AWS_ACCESS_KEY_ID }} aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-region: us-east-2 aws-region: us-east-2
aws-secret-access-key: ${{ steps.esc-secrets.outputs.AWS_SECRET_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
role-duration-seconds: 7200 role-duration-seconds: 7200
role-session-name: ${{ env.PROVIDER }}@githubActions role-session-name: ${{ env.PROVIDER }}@githubActions
role-external-id: upload-pulumi-release role-external-id: upload-pulumi-release
role-to-assume: ${{ steps.esc-secrets.outputs.AWS_UPLOAD_ROLE_ARN }} role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
- name: Run GoReleaser - name: Run GoReleaser
uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0 uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
env: env:
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }} GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
AZURE_SIGNING_CLIENT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID }} GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
AZURE_SIGNING_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET }} AZURE_SIGNING_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
AZURE_SIGNING_TENANT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID }} AZURE_SIGNING_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
AZURE_SIGNING_KEY_VAULT_URI: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI }} AZURE_SIGNING_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
SKIP_SIGNING: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET == '' && steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI == '' }} AZURE_SIGNING_KEY_VAULT_URI: ${{ secrets.AZURE_SIGNING_KEY_VAULT_URI }}
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }} SKIP_SIGNING: ${{ secrets.AZURE_SIGNING_CLIENT_ID == '' && secrets.AZURE_SIGNING_CLIENT_SECRET == '' && secrets.AZURE_SIGNING_TENANT_ID == '' && secrets.AZURE_SIGNING_KEY_VAULT_URI == '' }}
with: with:
args: -p 3 release --clean --timeout 60m0s args: -p 3 release --clean --timeout 60m0s
version: latest version: latest
@@ -590,28 +540,16 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
publish_sdk: publish_sdk:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: publish needs: publish
name: publish_sdks name: publish_sdks
permissions:
contents: read
id-token: write # For ESC secrets.
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -635,18 +573,18 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Setup Node - name: Setup Node
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with: with:
node-version: ${{ env.NODEVERSION }} node-version: ${{ env.NODEVERSION }}
registry-url: https://registry.npmjs.org registry-url: https://registry.npmjs.org
- name: Setup DotNet - name: Setup DotNet
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0 uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
with: with:
dotnet-version: ${{ env.DOTNETVERSION }} dotnet-version: ${{ env.DOTNETVERSION }}
- name: Setup Python - name: Setup Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with: with:
python-version: ${{ env.PYTHONVERSION }} python-version: ${{ env.PYTHONVERSION }}
- name: Download python SDK - name: Download python SDK
@@ -678,11 +616,11 @@ jobs:
- name: Publish SDKs - name: Publish SDKs
run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }} run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }}
env: env:
NUGET_PUBLISH_KEY: ${{ steps.esc-secrets.outputs.NUGET_PUBLISH_KEY }} NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
NODE_AUTH_TOKEN: ${{ steps.esc-secrets.outputs.NPM_TOKEN }} NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
PYPI_PUBLISH_ARTIFACTS: all PYPI_PUBLISH_ARTIFACTS: all
PYPI_USERNAME: __token__ PYPI_USERNAME: __token__
PYPI_PASSWORD: ${{ steps.esc-secrets.outputs.PYPI_API_TOKEN }} PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
- if: failure() && github.event_name == 'push' - if: failure() && github.event_name == 'push'
name: Notify Slack name: Notify Slack
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0 uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
@@ -691,29 +629,17 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
publish_java_sdk: publish_java_sdk:
runs-on: ubuntu-latest runs-on: ubuntu-latest
continue-on-error: true continue-on-error: true
needs: publish needs: publish
name: publish_java_sdk name: publish_java_sdk
permissions:
contents: read
id-token: write # For ESC secrets.
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -731,7 +657,7 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Setup Java - name: Setup Java
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
with: with:
@@ -739,7 +665,7 @@ jobs:
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3 uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download java SDK - name: Download java SDK
@@ -751,18 +677,18 @@ jobs:
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
${{github.workspace}}/sdk/java ${{github.workspace}}/sdk/java
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3 uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Publish Java SDK - name: Publish Java SDK
run: gradle -p ./sdk/java publishToSonatype closeAndReleaseSonatypeStagingRepository run: gradle -p ./sdk/java publishToSonatype closeAndReleaseSonatypeStagingRepository
env: env:
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }} PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
SIGNING_KEY_ID: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY_ID }} SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
SIGNING_KEY: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY }} SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
SIGNING_PASSWORD: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_PASSWORD }} SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
PUBLISH_REPO_PASSWORD: ${{ steps.esc-secrets.outputs.OSSRH_PASSWORD }} PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
PUBLISH_REPO_USERNAME: ${{ steps.esc-secrets.outputs.OSSRH_USERNAME }} PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
publish_go_sdk: publish_go_sdk:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: publish-go-sdk name: publish-go-sdk
@@ -800,23 +726,7 @@ jobs:
dispatch_docs_build: dispatch_docs_build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: publish_go_sdk needs: publish_go_sdk
permissions:
contents: read
id-token: write # For ESC secrets.
steps: steps:
- name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- name: Install pulumictl - name: Install pulumictl
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0 uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
with: with:
@@ -825,5 +735,5 @@ jobs:
run: pulumictl create docs-build pulumi-${{ env.PROVIDER }} run: pulumictl create docs-build pulumi-${{ env.PROVIDER }}
"${GITHUB_REF#refs/tags/}" "${GITHUB_REF#refs/tags/}"
env: env:
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }} GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
name: dispatch_docs_build name: dispatch_docs_build

View File

@@ -14,15 +14,6 @@ jobs:
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
persist-credentials: false persist-credentials: false
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- name: Should release PR - name: Should release PR
uses: pulumi/action-release-by-pr-label@main uses: pulumi/action-release-by-pr-label@main
with: with:
@@ -30,10 +21,10 @@ jobs:
repo: ${{ github.repository }} repo: ${{ github.repository }}
pr: ${{ github.event.client_payload.pull_request.number }} pr: ${{ github.event.client_payload.pull_request.number }}
version: ${{ github.event.client_payload.slash_command.args.all }} version: ${{ github.event.client_payload.slash_command.args.all }}
slack_channel: ${{ steps.esc-secrets.outputs.RELEASE_OPS_STAGING_SLACK_CHANNEL }} slack_channel: ${{ secrets.RELEASE_OPS_STAGING_SLACK_CHANNEL }}
env: env:
RELEASE_BOT_ENDPOINT: ${{ steps.esc-secrets.outputs.RELEASE_BOT_ENDPOINT }} RELEASE_BOT_ENDPOINT: ${{ secrets.RELEASE_BOT_ENDPOINT }}
RELEASE_BOT_KEY: ${{ steps.esc-secrets.outputs.RELEASE_BOT_KEY }} RELEASE_BOT_KEY: ${{ secrets.RELEASE_BOT_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: failure() - if: failure()
name: Notify failure name: Notify failure

View File

@@ -20,10 +20,13 @@ env:
DOTNETVERSION: "8.0.x" DOTNETVERSION: "8.0.x"
JAVAVERSION: "11" JAVAVERSION: "11"
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1 ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7 ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
AWS_REGION: us-west-2 AWS_REGION: us-west-2
AZURE_LOCATION: westus AZURE_LOCATION: westus
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
@@ -35,16 +38,9 @@ env:
PR_COMMIT_SHA: ${{ github.event.client_payload.pull_request.head.sha }} PR_COMMIT_SHA: ${{ github.event.client_payload.pull_request.head.sha }}
jobs: jobs:
comment-notification: comment-notification:
if: github.event_name == 'repository_dispatch'
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: comment-notification name: comment-notification
steps: steps:
- name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
lfs: true
persist-credentials: false
ref: ${{ env.PR_COMMIT_SHA }}
- name: Create URL to the run output - name: Create URL to the run output
id: vars id: vars
run: echo run: echo
@@ -53,16 +49,14 @@ jobs:
- name: Update with Result - name: Update with Result
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.PULUMI_BOT_TOKEN }}
repository: ${{ github.event.client_payload.github.payload.repository.full_name }} repository: ${{ github.event.client_payload.github.payload.repository.full_name }}
issue-number: ${{ github.event.client_payload.github.payload.issue.number }} issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
body: "Please view the PR build: ${{ steps.vars.outputs.run-url }}" body: "Please view the PR build: ${{ steps.vars.outputs.run-url }}"
if: github.event_name == 'repository_dispatch'
prerequisites: prerequisites:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: prerequisites name: prerequisites
permissions:
id-token: write # For ESC secrets.
pull-requests: write # For schema check comment.
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
@@ -70,15 +64,6 @@ jobs:
lfs: true lfs: true
persist-credentials: false persist-credentials: false
ref: ${{ env.PR_COMMIT_SHA }} ref: ${{ env.PR_COMMIT_SHA }}
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -96,7 +81,7 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- if: github.event_name == 'pull_request' - if: github.event_name == 'pull_request'
name: Install Schema Tools name: Install Schema Tools
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0 uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
@@ -117,7 +102,7 @@ jobs:
echo 'EOF'; echo 'EOF';
} >> "$GITHUB_ENV" } >> "$GITHUB_ENV"
env: env:
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }} GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
- if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' - if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
name: Comment on PR with Details of Schema Check name: Comment on PR with Details of Schema Check
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1 uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
@@ -192,7 +177,7 @@ jobs:
# workflow. https://github.com/orgs/community/discussions/25702 # workflow. https://github.com/orgs/community/discussions/25702
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF" git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
env: env:
HEAD_REF: ${{ github.head_ref }} HEAD_REF: ${{ github.head_ref }}
- run: git status --porcelain - run: git status --porcelain
@@ -207,15 +192,10 @@ jobs:
path: ${{ github.workspace }}/bin/provider.tar.gz path: ${{ github.workspace }}/bin/provider.tar.gz
- name: Test Provider Library - name: Test Provider Library
run: make test_provider run: make test_provider
env:
ARM_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.ARM_CLIENT_SECRET }}
DIGITALOCEAN_TOKEN: ${{ steps.esc-secrets.outputs.DIGITALOCEAN_TOKEN }}
DOCKER_HUB_PASSWORD: ${{ steps.esc-secrets.outputs.DOCKER_HUB_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload coverage reports to Codecov - name: Upload coverage reports to Codecov
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1 uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
env: env:
CODECOV_TOKEN: ${{ steps.esc-secrets.outputs.CODECOV_TOKEN }} CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- if: failure() && github.event_name == 'push' - if: failure() && github.event_name == 'push'
name: Notify Slack name: Notify Slack
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0 uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
@@ -224,7 +204,7 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
if: github.event_name == 'repository_dispatch' || if: github.event_name == 'repository_dispatch' ||
github.event.pull_request.head.repo.full_name == github.repository github.event.pull_request.head.repo.full_name == github.repository
build_sdks: build_sdks:
@@ -240,9 +220,6 @@ jobs:
- go - go
- java - java
name: build_sdks name: build_sdks
permissions:
contents: read
id-token: write # For ESC secrets.
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
@@ -250,15 +227,6 @@ jobs:
lfs: true lfs: true
persist-credentials: false persist-credentials: false
ref: ${{ env.PR_COMMIT_SHA }} ref: ${{ env.PR_COMMIT_SHA }}
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -276,18 +244,18 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Setup Node - name: Setup Node
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with: with:
node-version: ${{ env.NODEVERSION }} node-version: ${{ env.NODEVERSION }}
registry-url: https://registry.npmjs.org registry-url: https://registry.npmjs.org
- name: Setup DotNet - name: Setup DotNet
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0 uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
with: with:
dotnet-version: ${{ env.DOTNETVERSION }} dotnet-version: ${{ env.DOTNETVERSION }}
- name: Setup Python - name: Setup Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with: with:
python-version: ${{ env.PYTHONVERSION }} python-version: ${{ env.PYTHONVERSION }}
- name: Setup Java - name: Setup Java
@@ -297,7 +265,7 @@ jobs:
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3 uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download provider - name: Download provider
@@ -370,7 +338,7 @@ jobs:
# workflow. https://github.com/orgs/community/discussions/25702 # workflow. https://github.com/orgs/community/discussions/25702
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF" git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
env: env:
HEAD_REF: ${{ github.head_ref }} HEAD_REF: ${{ github.head_ref }}
- run: git status --porcelain - run: git status --porcelain
@@ -390,7 +358,7 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
if: github.event_name == 'repository_dispatch' || if: github.event_name == 'repository_dispatch' ||
github.event.pull_request.head.repo.full_name == github.repository github.event.pull_request.head.repo.full_name == github.repository
test: test:
@@ -418,15 +386,6 @@ jobs:
lfs: true lfs: true
persist-credentials: false persist-credentials: false
ref: ${{ env.PR_COMMIT_SHA }} ref: ${{ env.PR_COMMIT_SHA }}
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- id: version - id: version
name: Set Provider Version name: Set Provider Version
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
@@ -444,18 +403,18 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Setup Node - name: Setup Node
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with: with:
node-version: ${{ env.NODEVERSION }} node-version: ${{ env.NODEVERSION }}
registry-url: https://registry.npmjs.org registry-url: https://registry.npmjs.org
- name: Setup DotNet - name: Setup DotNet
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0 uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
with: with:
dotnet-version: ${{ env.DOTNETVERSION }} dotnet-version: ${{ env.DOTNETVERSION }}
- name: Setup Python - name: Setup Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with: with:
python-version: ${{ env.PYTHONVERSION }} python-version: ${{ env.PYTHONVERSION }}
- name: Setup Java - name: Setup Java
@@ -465,7 +424,7 @@ jobs:
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3 uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download provider - name: Download provider
@@ -515,7 +474,7 @@ jobs:
with: with:
environment: logins/pulumi-ci environment: logins/pulumi-ci
- name: Authenticate to Google Cloud - name: Authenticate to Google Cloud
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0 uses: google-github-actions/auth@b7593ed2efd1c1617e1b0254da33b86225adb2a5 # v2.1.12
with: with:
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
}}/locations/global/workloadIdentityPools/${{ }}/locations/global/workloadIdentityPools/${{
@@ -523,7 +482,7 @@ jobs:
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
- name: Setup gcloud auth - name: Setup gcloud auth
uses: google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # v3.0.1 uses: google-github-actions/setup-gcloud@26f734c2779b00b7dda794207734c511110a4368 # v3.0.0
with: with:
install_components: gke-gcloud-auth-plugin install_components: gke-gcloud-auth-plugin
- name: Install gotestfmt - name: Install gotestfmt
@@ -536,8 +495,6 @@ jobs:
set -euo pipefail set -euo pipefail
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 . cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: failure() && github.event_name == 'push' - if: failure() && github.event_name == 'push'
name: Notify Slack name: Notify Slack
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0 uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
@@ -546,28 +503,13 @@ jobs:
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env: env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
if: github.event_name == 'repository_dispatch' || if: github.event_name == 'repository_dispatch' ||
github.event.pull_request.head.repo.full_name == github.repository github.event.pull_request.head.repo.full_name == github.repository
sentinel: sentinel:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: sentinel name: sentinel
steps: steps:
- name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
lfs: true
persist-credentials: false
ref: ${{ env.PR_COMMIT_SHA }}
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- name: Mark workflow as successful - name: Mark workflow as successful
uses: guibranco/github-status-action-v2@0849440ec82c5fa69b2377725b9b7852a3977e76 # v1.1.13 uses: guibranco/github-status-action-v2@0849440ec82c5fa69b2377725b9b7852a3977e76 # v1.1.13
with: with:
@@ -578,7 +520,6 @@ jobs:
sha: ${{ github.event.pull_request.head.sha || github.sha }} sha: ${{ github.event.pull_request.head.sha || github.sha }}
permissions: permissions:
statuses: write statuses: write
id-token: write # For ESC secrets.
if: github.event_name == 'repository_dispatch' || if: github.event_name == 'repository_dispatch' ||
github.event.pull_request.head.repo.full_name == github.repository github.event.pull_request.head.repo.full_name == github.repository
needs: needs:

View File

@@ -17,10 +17,13 @@ env:
DOTNETVERSION: "8.0.x" DOTNETVERSION: "8.0.x"
JAVAVERSION: "11" JAVAVERSION: "11"
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1 ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7 ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
AWS_REGION: us-west-2 AWS_REGION: us-west-2
AZURE_LOCATION: westus AZURE_LOCATION: westus
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
@@ -29,25 +32,14 @@ env:
GOOGLE_REGION: us-central1 GOOGLE_REGION: us-central1
GOOGLE_ZONE: us-central1-a GOOGLE_ZONE: us-central1-a
PULUMI_API: https://api.pulumi-staging.io PULUMI_API: https://api.pulumi-staging.io
jobs: jobs:
weekly-pulumi-update: weekly-pulumi-update:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: write-all
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
ESC_ACTION_OIDC_AUTH: "true"
ESC_ACTION_OIDC_ORGANIZATION: pulumi
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
id: esc-secrets
name: Fetch secrets from ESC
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -58,18 +50,18 @@ jobs:
with: with:
repo: pulumi/pulumictl repo: pulumi/pulumictl
- name: Install Pulumi CLI - name: Install Pulumi CLI
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0 uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
- name: Setup DotNet - name: Setup DotNet
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0 uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
with: with:
dotnet-version: ${{ env.DOTNETVERSION }} dotnet-version: ${{ env.DOTNETVERSION }}
- name: Setup Node - name: Setup Node
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with: with:
node-version: ${{ env.NODEVERSION }} node-version: ${{ env.NODEVERSION }}
registry-url: https://registry.npmjs.org registry-url: https://registry.npmjs.org
- name: Setup Python - name: Setup Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with: with:
python-version: ${{ env.PYTHONVERSION }} python-version: ${{ env.PYTHONVERSION }}
- name: Setup Java - name: Setup Java
@@ -79,7 +71,7 @@ jobs:
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3 uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Update Pulumi/Pulumi - name: Update Pulumi/Pulumi
@@ -140,5 +132,5 @@ jobs:
gh pr create -t "$msg" -b "$msg" --head "$(git branch --show-current)" gh pr create -t "$msg" -b "$msg" --head "$(git branch --show-current)"
env: env:
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }} GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
name: weekly-pulumi-update name: weekly-pulumi-update

View File

@@ -1 +1 @@
3.192.0 3.187.0

View File

@@ -6,7 +6,7 @@ toolchain go1.24.5
require ( require (
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.12 github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.12
github.com/pulumi/pulumi/sdk/v3 v3.192.0 github.com/pulumi/pulumi/sdk/v3 v3.187.0
) )
require ( require (
@@ -62,7 +62,7 @@ require (
github.com/pkg/errors v0.9.1 // indirect github.com/pkg/errors v0.9.1 // indirect
github.com/pkg/term v1.1.0 // indirect github.com/pkg/term v1.1.0 // indirect
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
github.com/pulumi/esc v0.17.0 // indirect github.com/pulumi/esc v0.14.3 // indirect
github.com/rivo/uniseg v0.4.7 // indirect github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect

View File

@@ -159,12 +159,12 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0= github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0=
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
github.com/pulumi/esc v0.17.0 h1:oaVOIyFTENlYDuqc3pW75lQT9jb2cd6ie/4/Twxn66w= github.com/pulumi/esc v0.14.3 h1:Zli+9LiSDT/W+Fsfr8tITxCo+5wn969tLrE4KLv44G8=
github.com/pulumi/esc v0.17.0/go.mod h1:XnSxlt5NkmuAj304l/gK4pRErFbtqq6XpfX1tYT9Jbc= github.com/pulumi/esc v0.14.3/go.mod h1:XnSxlt5NkmuAj304l/gK4pRErFbtqq6XpfX1tYT9Jbc=
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.12 h1:uzmw+0iic764m0Yvh4I/jRV1x3q49dVh5Ctq9RllsQ8= github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.12 h1:uzmw+0iic764m0Yvh4I/jRV1x3q49dVh5Ctq9RllsQ8=
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.12/go.mod h1:6zFMe786NvFDO03BVJwdw1R/Yms4F6vAU49iBHo8zbQ= github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.12/go.mod h1:6zFMe786NvFDO03BVJwdw1R/Yms4F6vAU49iBHo8zbQ=
github.com/pulumi/pulumi/sdk/v3 v3.192.0 h1:sfHuR3P02wSbV3xdSMEQ0+uC/HzlMz0YfKrVAXy1hSQ= github.com/pulumi/pulumi/sdk/v3 v3.187.0 h1:BflBBeD/qaoKN4Tov11g4aHzJ7pTXBSb8otgmteRer0=
github.com/pulumi/pulumi/sdk/v3 v3.192.0/go.mod h1:aV0+c5xpSYccWKmOjTZS9liYCqh7+peu3cQgSXu7CJw= github.com/pulumi/pulumi/sdk/v3 v3.187.0/go.mod h1:BnpKxUc6QlxqoCqobHNZsUuIuY27H6ZFUk0Cp+0JN5U=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=

View File

@@ -183,7 +183,6 @@ func TestConfig(t *testing.T) {
test := integration.ProgramTestOptions{ test := integration.ProgramTestOptions{
Dir: path.Join(cwd, "tests", "config"), Dir: path.Join(cwd, "tests", "config"),
Dependencies: []string{"@pulumi/docker-build"}, Dependencies: []string{"@pulumi/docker-build"},
SkipEmptyPreviewUpdate: true,
} }
integration.ProgramTest(t, &test) integration.ProgramTest(t, &test)

4
go.mod
View File

@@ -19,11 +19,11 @@ require (
github.com/pulumi/pulumi-go-provider v1.1.1 github.com/pulumi/pulumi-go-provider v1.1.1
github.com/pulumi/pulumi-java/pkg v1.16.0 github.com/pulumi/pulumi-java/pkg v1.16.0
github.com/pulumi/pulumi-yaml v1.21.2 github.com/pulumi/pulumi-yaml v1.21.2
github.com/pulumi/pulumi/pkg/v3 v3.192.0 github.com/pulumi/pulumi/pkg/v3 v3.187.0
github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20250806165243-bee5e4fa4815 github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20250806165243-bee5e4fa4815
github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20250806165243-bee5e4fa4815 github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20250806165243-bee5e4fa4815
github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20250806165243-bee5e4fa4815 github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20250806165243-bee5e4fa4815
github.com/pulumi/pulumi/sdk/v3 v3.192.0 github.com/pulumi/pulumi/sdk/v3 v3.187.0
github.com/regclient/regclient v0.7.1 github.com/regclient/regclient v0.7.1
github.com/sirupsen/logrus v1.9.3 github.com/sirupsen/logrus v1.9.3
github.com/spf13/afero v1.14.0 github.com/spf13/afero v1.14.0

8
go.sum
View File

@@ -902,16 +902,16 @@ github.com/pulumi/pulumi-java/pkg v1.16.0 h1:8KCiIXWv2uxfIks0SdgOezyXg4HZIoPfHID
github.com/pulumi/pulumi-java/pkg v1.16.0/go.mod h1:VeMZ1s9LfXBypao4A1tRF3EB7fYnYZ1LwImyg6FBX0c= github.com/pulumi/pulumi-java/pkg v1.16.0/go.mod h1:VeMZ1s9LfXBypao4A1tRF3EB7fYnYZ1LwImyg6FBX0c=
github.com/pulumi/pulumi-yaml v1.21.2 h1:czqC5AazinfX6Bj0nqAAQ6x/Cr8/3oUz3HUjJg6tJ4o= github.com/pulumi/pulumi-yaml v1.21.2 h1:czqC5AazinfX6Bj0nqAAQ6x/Cr8/3oUz3HUjJg6tJ4o=
github.com/pulumi/pulumi-yaml v1.21.2/go.mod h1:KOqDnuJksfIq8belFVFN3IEI4r0NgW69M0QPSj54On4= github.com/pulumi/pulumi-yaml v1.21.2/go.mod h1:KOqDnuJksfIq8belFVFN3IEI4r0NgW69M0QPSj54On4=
github.com/pulumi/pulumi/pkg/v3 v3.192.0 h1:gZRMPaNpW+VN3ng3h9r8De8wI0keWC9fIP0rcUDatMA= github.com/pulumi/pulumi/pkg/v3 v3.187.0 h1:VTbireKCxG/wKPX3slHNb3Zk3xKMr5CvcvjH8194H2I=
github.com/pulumi/pulumi/pkg/v3 v3.192.0/go.mod h1:+Zp3EzjzGW4PlcW8oITZgeOfFzIVbLWvHtUVixvGQcs= github.com/pulumi/pulumi/pkg/v3 v3.187.0/go.mod h1:3y5nyMg62dd+DBzYW/P4d+Ye9pJ/zhJd+aGzMzfUL1g=
github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20250806165243-bee5e4fa4815 h1:tipGG4aEPejP424igQYxJ6TOtWVtZJa0z679oIv00ho= github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20250806165243-bee5e4fa4815 h1:tipGG4aEPejP424igQYxJ6TOtWVtZJa0z679oIv00ho=
github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20250806165243-bee5e4fa4815/go.mod h1:V2MMs29cFeGBdZyFKxNqTGVfBgDLhIOGfrXOxheieuI= github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20250806165243-bee5e4fa4815/go.mod h1:V2MMs29cFeGBdZyFKxNqTGVfBgDLhIOGfrXOxheieuI=
github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20250806165243-bee5e4fa4815 h1:+QJTFK7UcOFTYCg3XaSTrRZHWJ6Hqza8w9oADa4pPcM= github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20250806165243-bee5e4fa4815 h1:+QJTFK7UcOFTYCg3XaSTrRZHWJ6Hqza8w9oADa4pPcM=
github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20250806165243-bee5e4fa4815/go.mod h1:0kA9b5LsaXLEKQzo0o9UUsHtZkACthHYLyBVUDUVMxc= github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20250806165243-bee5e4fa4815/go.mod h1:0kA9b5LsaXLEKQzo0o9UUsHtZkACthHYLyBVUDUVMxc=
github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20250806165243-bee5e4fa4815 h1:bkvtySMos0ij3fWZWZaU5sVrvGvU0dZCusoxpgEtX6I= github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20250806165243-bee5e4fa4815 h1:bkvtySMos0ij3fWZWZaU5sVrvGvU0dZCusoxpgEtX6I=
github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20250806165243-bee5e4fa4815/go.mod h1:SJtr0N/XFyelI7M7U0UbJXr15pgEdSmpN40cglTsRTA= github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20250806165243-bee5e4fa4815/go.mod h1:SJtr0N/XFyelI7M7U0UbJXr15pgEdSmpN40cglTsRTA=
github.com/pulumi/pulumi/sdk/v3 v3.192.0 h1:sfHuR3P02wSbV3xdSMEQ0+uC/HzlMz0YfKrVAXy1hSQ= github.com/pulumi/pulumi/sdk/v3 v3.187.0 h1:BflBBeD/qaoKN4Tov11g4aHzJ7pTXBSb8otgmteRer0=
github.com/pulumi/pulumi/sdk/v3 v3.192.0/go.mod h1:aV0+c5xpSYccWKmOjTZS9liYCqh7+peu3cQgSXu7CJw= github.com/pulumi/pulumi/sdk/v3 v3.187.0/go.mod h1:BnpKxUc6QlxqoCqobHNZsUuIuY27H6ZFUk0Cp+0JN5U=
github.com/quasilyte/go-ruleguard v0.4.2 h1:htXcXDK6/rO12kiTHKfHuqR4kr3Y4M0J0rOL6CH/BYs= github.com/quasilyte/go-ruleguard v0.4.2 h1:htXcXDK6/rO12kiTHKfHuqR4kr3Y4M0J0rOL6CH/BYs=
github.com/quasilyte/go-ruleguard v0.4.2/go.mod h1:GJLgqsLeo4qgavUoL8JeGFNS7qcisx3awV/w9eWTmNI= github.com/quasilyte/go-ruleguard v0.4.2/go.mod h1:GJLgqsLeo4qgavUoL8JeGFNS7qcisx3awV/w9eWTmNI=
github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE= github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE=

19
mise.toml Normal file
View File

@@ -0,0 +1,19 @@
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
[tools]
# Runtimes
go = '1.21'
node = '20'
python = '3.11.8'
dotnet = '8.0'
# Corretto version used as Java SE/OpenJDK version no longer offered
java = 'corretto-11'
# Executable tools
pulumi = 'latest'
"go:github.com/pulumi/pulumictl/cmd/pulumictl" = 'latest'
gradle = '7.6'
[settings]
experimental = true # Required for Go binaries (e.g. pulumictl).

View File

@@ -1,55 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
# This script can be simplified to use go when https://github.com/jdx/mise/discussions/6374 is fixed
# e.g. go list -m -f '{{.GoVersion}}'
module_path="github.com/pulumi/pulumi/pkg/v3"
go_mod_path="."
gomod="go.mod"
if [[ "$go_mod_path" != "" && "$go_mod_path" != "." ]]; then
gomod="$go_mod_path/$gomod"
fi
if [[ ! -f "$gomod" ]]; then
echo "missing $gomod" >&2
exit 1
fi
raw_version=$(awk -v module="$module_path" '
$1 == module || $2 == module {
for (i = 1; i <= NF; i++) {
if ($i ~ /^v[0-9]/) {
sub(/^v/, "", $i)
print $i
exit
}
}
}
' "$gomod")
if [[ -z "${raw_version:-}" ]]; then
echo "failed to determine Pulumi version from $gomod" >&2
exit 1
fi
echo "MISE_PULUMI_VERSION=$raw_version"
export MISE_PULUMI_VERSION=$raw_version
# Prefer the toolchain directive if present, otherwise fall back to the `go` version line
go_toolchain=$(awk '/^toolchain[[:space:]]+go[0-9]/{ print $2; exit }' "$gomod")
if [[ -n "${go_toolchain:-}" ]]; then
go_version=${go_toolchain#go}
else
go_version=$(awk '/^go[[:space:]]+[0-9]/{ print $2; exit }' "$gomod")
fi
if [[ -z "${go_version:-}" ]]; then
echo "failed to determine Go version from $gomod" >&2
exit 1
fi
echo "MISE_GO_VERSION=$go_version"
export MISE_GO_VERSION=$go_version

View File

@@ -4,7 +4,7 @@ go 1.24.1
require ( require (
github.com/blang/semver v3.5.1+incompatible github.com/blang/semver v3.5.1+incompatible
github.com/pulumi/pulumi/sdk/v3 v3.192.0 github.com/pulumi/pulumi/sdk/v3 v3.187.0
) )
require ( require (

View File

@@ -164,8 +164,8 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
github.com/pulumi/esc v0.17.0 h1:oaVOIyFTENlYDuqc3pW75lQT9jb2cd6ie/4/Twxn66w= github.com/pulumi/esc v0.17.0 h1:oaVOIyFTENlYDuqc3pW75lQT9jb2cd6ie/4/Twxn66w=
github.com/pulumi/esc v0.17.0/go.mod h1:XnSxlt5NkmuAj304l/gK4pRErFbtqq6XpfX1tYT9Jbc= github.com/pulumi/esc v0.17.0/go.mod h1:XnSxlt5NkmuAj304l/gK4pRErFbtqq6XpfX1tYT9Jbc=
github.com/pulumi/pulumi/sdk/v3 v3.192.0 h1:sfHuR3P02wSbV3xdSMEQ0+uC/HzlMz0YfKrVAXy1hSQ= github.com/pulumi/pulumi/sdk/v3 v3.187.0 h1:BflBBeD/qaoKN4Tov11g4aHzJ7pTXBSb8otgmteRer0=
github.com/pulumi/pulumi/sdk/v3 v3.192.0/go.mod h1:aV0+c5xpSYccWKmOjTZS9liYCqh7+peu3cQgSXu7CJw= github.com/pulumi/pulumi/sdk/v3 v3.187.0/go.mod h1:BnpKxUc6QlxqoCqobHNZsUuIuY27H6ZFUk0Cp+0JN5U=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=

96
sdk/nodejs/image.ts generated
View File

@@ -501,7 +501,7 @@ export class Image extends pulumi.CustomResource {
* *
* Equivalent to Docker's `--add-host` flag. * Equivalent to Docker's `--add-host` flag.
*/ */
declare public readonly addHosts: pulumi.Output<string[] | undefined>; public readonly addHosts!: pulumi.Output<string[] | undefined>;
/** /**
* `ARG` names and values to set during the build. * `ARG` names and values to set during the build.
* *
@@ -513,7 +513,7 @@ export class Image extends pulumi.CustomResource {
* *
* Equivalent to Docker's `--build-arg` flag. * Equivalent to Docker's `--build-arg` flag.
*/ */
declare public readonly buildArgs: pulumi.Output<{[key: string]: string} | undefined>; public readonly buildArgs!: pulumi.Output<{[key: string]: string} | undefined>;
/** /**
* Setting this to `false` will always skip image builds during previews, * Setting this to `false` will always skip image builds during previews,
* and setting it to `true` will always build images during previews. * and setting it to `true` will always build images during previews.
@@ -527,35 +527,35 @@ export class Image extends pulumi.CustomResource {
* Defaults to `true` as a safeguard against broken images merging as part * Defaults to `true` as a safeguard against broken images merging as part
* of CI pipelines. * of CI pipelines.
*/ */
declare public readonly buildOnPreview: pulumi.Output<boolean | undefined>; public readonly buildOnPreview!: pulumi.Output<boolean | undefined>;
/** /**
* Builder configuration. * Builder configuration.
*/ */
declare public readonly builder: pulumi.Output<outputs.BuilderConfig | undefined>; public readonly builder!: pulumi.Output<outputs.BuilderConfig | undefined>;
/** /**
* Cache export configuration. * Cache export configuration.
* *
* Equivalent to Docker's `--cache-from` flag. * Equivalent to Docker's `--cache-from` flag.
*/ */
declare public readonly cacheFrom: pulumi.Output<outputs.CacheFrom[] | undefined>; public readonly cacheFrom!: pulumi.Output<outputs.CacheFrom[] | undefined>;
/** /**
* Cache import configuration. * Cache import configuration.
* *
* Equivalent to Docker's `--cache-to` flag. * Equivalent to Docker's `--cache-to` flag.
*/ */
declare public readonly cacheTo: pulumi.Output<outputs.CacheTo[] | undefined>; public readonly cacheTo!: pulumi.Output<outputs.CacheTo[] | undefined>;
/** /**
* Build context settings. Defaults to the current directory. * Build context settings. Defaults to the current directory.
* *
* Equivalent to Docker's `PATH | URL | -` positional argument. * Equivalent to Docker's `PATH | URL | -` positional argument.
*/ */
declare public readonly context: pulumi.Output<outputs.BuildContext | undefined>; public readonly context!: pulumi.Output<outputs.BuildContext | undefined>;
/** /**
* A preliminary hash of the image's build context. * A preliminary hash of the image's build context.
* *
* Pulumi uses this to determine if an image _may_ need to be re-built. * Pulumi uses this to determine if an image _may_ need to be re-built.
*/ */
declare public /*out*/ readonly contextHash: pulumi.Output<string>; public /*out*/ readonly contextHash!: pulumi.Output<string>;
/** /**
* A SHA256 digest of the image if it was exported to a registry or * A SHA256 digest of the image if it was exported to a registry or
* elsewhere. * elsewhere.
@@ -565,13 +565,13 @@ export class Image extends pulumi.CustomResource {
* Registry images can be referenced precisely as `<tag>@<digest>`. The * Registry images can be referenced precisely as `<tag>@<digest>`. The
* `ref` output provides one such reference as a convenience. * `ref` output provides one such reference as a convenience.
*/ */
declare public /*out*/ readonly digest: pulumi.Output<string>; public /*out*/ readonly digest!: pulumi.Output<string>;
/** /**
* Dockerfile settings. * Dockerfile settings.
* *
* Equivalent to Docker's `--file` flag. * Equivalent to Docker's `--file` flag.
*/ */
declare public readonly dockerfile: pulumi.Output<outputs.Dockerfile | undefined>; public readonly dockerfile!: pulumi.Output<outputs.Dockerfile | undefined>;
/** /**
* Use `exec` mode to build this image. * Use `exec` mode to build this image.
* *
@@ -594,7 +594,7 @@ export class Image extends pulumi.CustomResource {
* are temporarily written to disk in order to provide them to the * are temporarily written to disk in order to provide them to the
* `docker-buildx` binary. * `docker-buildx` binary.
*/ */
declare public readonly exec: pulumi.Output<boolean | undefined>; public readonly exec!: pulumi.Output<boolean | undefined>;
/** /**
* Controls where images are persisted after building. * Controls where images are persisted after building.
* *
@@ -606,13 +606,13 @@ export class Image extends pulumi.CustomResource {
* *
* Equivalent to Docker's `--output` flag. * Equivalent to Docker's `--output` flag.
*/ */
declare public readonly exports: pulumi.Output<outputs.Export[] | undefined>; public readonly exports!: pulumi.Output<outputs.Export[] | undefined>;
/** /**
* Attach arbitrary key/value metadata to the image. * Attach arbitrary key/value metadata to the image.
* *
* Equivalent to Docker's `--label` flag. * Equivalent to Docker's `--label` flag.
*/ */
declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; public readonly labels!: pulumi.Output<{[key: string]: string} | undefined>;
/** /**
* When `true` the build will automatically include a `docker` export. * When `true` the build will automatically include a `docker` export.
* *
@@ -620,7 +620,7 @@ export class Image extends pulumi.CustomResource {
* *
* Equivalent to Docker's `--load` flag. * Equivalent to Docker's `--load` flag.
*/ */
declare public readonly load: pulumi.Output<boolean | undefined>; public readonly load!: pulumi.Output<boolean | undefined>;
/** /**
* Set the network mode for `RUN` instructions. Defaults to `default`. * Set the network mode for `RUN` instructions. Defaults to `default`.
* *
@@ -628,25 +628,25 @@ export class Image extends pulumi.CustomResource {
* *
* Equivalent to Docker's `--network` flag. * Equivalent to Docker's `--network` flag.
*/ */
declare public readonly network: pulumi.Output<enums.NetworkMode | undefined>; public readonly network!: pulumi.Output<enums.NetworkMode | undefined>;
/** /**
* Do not import cache manifests when building the image. * Do not import cache manifests when building the image.
* *
* Equivalent to Docker's `--no-cache` flag. * Equivalent to Docker's `--no-cache` flag.
*/ */
declare public readonly noCache: pulumi.Output<boolean | undefined>; public readonly noCache!: pulumi.Output<boolean | undefined>;
/** /**
* Set target platform(s) for the build. Defaults to the host's platform. * Set target platform(s) for the build. Defaults to the host's platform.
* *
* Equivalent to Docker's `--platform` flag. * Equivalent to Docker's `--platform` flag.
*/ */
declare public readonly platforms: pulumi.Output<enums.Platform[] | undefined>; public readonly platforms!: pulumi.Output<enums.Platform[] | undefined>;
/** /**
* Always pull referenced images. * Always pull referenced images.
* *
* Equivalent to Docker's `--pull` flag. * Equivalent to Docker's `--pull` flag.
*/ */
declare public readonly pull: pulumi.Output<boolean | undefined>; public readonly pull!: pulumi.Output<boolean | undefined>;
/** /**
* When `true` the build will automatically include a `registry` export. * When `true` the build will automatically include a `registry` export.
* *
@@ -654,7 +654,7 @@ export class Image extends pulumi.CustomResource {
* *
* Equivalent to Docker's `--push` flag. * Equivalent to Docker's `--push` flag.
*/ */
declare public readonly push: pulumi.Output<boolean>; public readonly push!: pulumi.Output<boolean>;
/** /**
* If the image was pushed to any registries then this will contain a * If the image was pushed to any registries then this will contain a
* single fully-qualified tag including the build's digest. * single fully-qualified tag including the build's digest.
@@ -671,7 +671,7 @@ export class Image extends pulumi.CustomResource {
* For more control over tags consumed by downstream resources you should * For more control over tags consumed by downstream resources you should
* use the `digest` output. * use the `digest` output.
*/ */
declare public /*out*/ readonly ref: pulumi.Output<string>; public /*out*/ readonly ref!: pulumi.Output<string>;
/** /**
* Registry credentials. Required if reading or exporting to private * Registry credentials. Required if reading or exporting to private
* repositories. * repositories.
@@ -681,7 +681,7 @@ export class Image extends pulumi.CustomResource {
* *
* Similar to `docker login`. * Similar to `docker login`.
*/ */
declare public readonly registries: pulumi.Output<outputs.Registry[] | undefined>; public readonly registries!: pulumi.Output<outputs.Registry[] | undefined>;
/** /**
* A mapping of secret names to their corresponding values. * A mapping of secret names to their corresponding values.
* *
@@ -693,13 +693,13 @@ export class Image extends pulumi.CustomResource {
* *
* Similar to Docker's `--secret` flag. * Similar to Docker's `--secret` flag.
*/ */
declare public readonly secrets: pulumi.Output<{[key: string]: string} | undefined>; public readonly secrets!: pulumi.Output<{[key: string]: string} | undefined>;
/** /**
* SSH agent socket or keys to expose to the build. * SSH agent socket or keys to expose to the build.
* *
* Equivalent to Docker's `--ssh` flag. * Equivalent to Docker's `--ssh` flag.
*/ */
declare public readonly ssh: pulumi.Output<outputs.SSH[] | undefined>; public readonly ssh!: pulumi.Output<outputs.SSH[] | undefined>;
/** /**
* Name and optionally a tag (format: `name:tag`). * Name and optionally a tag (format: `name:tag`).
* *
@@ -708,7 +708,7 @@ export class Image extends pulumi.CustomResource {
* *
* Equivalent to Docker's `--tag` flag. * Equivalent to Docker's `--tag` flag.
*/ */
declare public readonly tags: pulumi.Output<string[] | undefined>; public readonly tags!: pulumi.Output<string[] | undefined>;
/** /**
* Set the target build stage(s) to build. * Set the target build stage(s) to build.
* *
@@ -716,7 +716,7 @@ export class Image extends pulumi.CustomResource {
* *
* Equivalent to Docker's `--target` flag. * Equivalent to Docker's `--target` flag.
*/ */
declare public readonly target: pulumi.Output<string | undefined>; public readonly target!: pulumi.Output<string | undefined>;
/** /**
* Create a Image resource with the given unique name, arguments, and options. * Create a Image resource with the given unique name, arguments, and options.
@@ -729,31 +729,31 @@ export class Image extends pulumi.CustomResource {
let resourceInputs: pulumi.Inputs = {}; let resourceInputs: pulumi.Inputs = {};
opts = opts || {}; opts = opts || {};
if (!opts.id) { if (!opts.id) {
if (args?.push === undefined && !opts.urn) { if ((!args || args.push === undefined) && !opts.urn) {
throw new Error("Missing required property 'push'"); throw new Error("Missing required property 'push'");
} }
resourceInputs["addHosts"] = args?.addHosts; resourceInputs["addHosts"] = args ? args.addHosts : undefined;
resourceInputs["buildArgs"] = args?.buildArgs; resourceInputs["buildArgs"] = args ? args.buildArgs : undefined;
resourceInputs["buildOnPreview"] = (args?.buildOnPreview) ?? true; resourceInputs["buildOnPreview"] = (args ? args.buildOnPreview : undefined) ?? true;
resourceInputs["builder"] = args?.builder; resourceInputs["builder"] = args ? args.builder : undefined;
resourceInputs["cacheFrom"] = args?.cacheFrom; resourceInputs["cacheFrom"] = args ? args.cacheFrom : undefined;
resourceInputs["cacheTo"] = args?.cacheTo; resourceInputs["cacheTo"] = args ? args.cacheTo : undefined;
resourceInputs["context"] = args?.context; resourceInputs["context"] = args ? args.context : undefined;
resourceInputs["dockerfile"] = args?.dockerfile; resourceInputs["dockerfile"] = args ? args.dockerfile : undefined;
resourceInputs["exec"] = args?.exec; resourceInputs["exec"] = args ? args.exec : undefined;
resourceInputs["exports"] = args?.exports; resourceInputs["exports"] = args ? args.exports : undefined;
resourceInputs["labels"] = args?.labels; resourceInputs["labels"] = args ? args.labels : undefined;
resourceInputs["load"] = args?.load; resourceInputs["load"] = args ? args.load : undefined;
resourceInputs["network"] = (args?.network) ?? "default"; resourceInputs["network"] = (args ? args.network : undefined) ?? "default";
resourceInputs["noCache"] = args?.noCache; resourceInputs["noCache"] = args ? args.noCache : undefined;
resourceInputs["platforms"] = args?.platforms; resourceInputs["platforms"] = args ? args.platforms : undefined;
resourceInputs["pull"] = args?.pull; resourceInputs["pull"] = args ? args.pull : undefined;
resourceInputs["push"] = args?.push; resourceInputs["push"] = args ? args.push : undefined;
resourceInputs["registries"] = args?.registries; resourceInputs["registries"] = args ? args.registries : undefined;
resourceInputs["secrets"] = args?.secrets; resourceInputs["secrets"] = args ? args.secrets : undefined;
resourceInputs["ssh"] = args?.ssh; resourceInputs["ssh"] = args ? args.ssh : undefined;
resourceInputs["tags"] = args?.tags; resourceInputs["tags"] = args ? args.tags : undefined;
resourceInputs["target"] = args?.target; resourceInputs["target"] = args ? args.target : undefined;
resourceInputs["contextHash"] = undefined /*out*/; resourceInputs["contextHash"] = undefined /*out*/;
resourceInputs["digest"] = undefined /*out*/; resourceInputs["digest"] = undefined /*out*/;
resourceInputs["ref"] = undefined /*out*/; resourceInputs["ref"] = undefined /*out*/;

22
sdk/nodejs/index_.ts generated
View File

@@ -113,27 +113,27 @@ export class Index extends pulumi.CustomResource {
* *
* Defaults to `true`. * Defaults to `true`.
*/ */
declare public readonly push: pulumi.Output<boolean | undefined>; public readonly push!: pulumi.Output<boolean | undefined>;
/** /**
* The pushed tag with digest. * The pushed tag with digest.
* *
* Identical to the tag if the index was not pushed. * Identical to the tag if the index was not pushed.
*/ */
declare public /*out*/ readonly ref: pulumi.Output<string>; public /*out*/ readonly ref!: pulumi.Output<string>;
/** /**
* Authentication for the registry where the tagged index will be pushed. * Authentication for the registry where the tagged index will be pushed.
* *
* Credentials can also be included with the provider's configuration. * Credentials can also be included with the provider's configuration.
*/ */
declare public readonly registry: pulumi.Output<outputs.Registry | undefined>; public readonly registry!: pulumi.Output<outputs.Registry | undefined>;
/** /**
* Existing images to include in the index. * Existing images to include in the index.
*/ */
declare public readonly sources: pulumi.Output<string[]>; public readonly sources!: pulumi.Output<string[]>;
/** /**
* The tag to apply to the index. * The tag to apply to the index.
*/ */
declare public readonly tag: pulumi.Output<string>; public readonly tag!: pulumi.Output<string>;
/** /**
* Create a Index resource with the given unique name, arguments, and options. * Create a Index resource with the given unique name, arguments, and options.
@@ -146,16 +146,16 @@ export class Index extends pulumi.CustomResource {
let resourceInputs: pulumi.Inputs = {}; let resourceInputs: pulumi.Inputs = {};
opts = opts || {}; opts = opts || {};
if (!opts.id) { if (!opts.id) {
if (args?.sources === undefined && !opts.urn) { if ((!args || args.sources === undefined) && !opts.urn) {
throw new Error("Missing required property 'sources'"); throw new Error("Missing required property 'sources'");
} }
if (args?.tag === undefined && !opts.urn) { if ((!args || args.tag === undefined) && !opts.urn) {
throw new Error("Missing required property 'tag'"); throw new Error("Missing required property 'tag'");
} }
resourceInputs["push"] = (args?.push) ?? true; resourceInputs["push"] = (args ? args.push : undefined) ?? true;
resourceInputs["registry"] = args?.registry; resourceInputs["registry"] = args ? args.registry : undefined;
resourceInputs["sources"] = args?.sources; resourceInputs["sources"] = args ? args.sources : undefined;
resourceInputs["tag"] = args?.tag; resourceInputs["tag"] = args ? args.tag : undefined;
resourceInputs["ref"] = undefined /*out*/; resourceInputs["ref"] = undefined /*out*/;
} else { } else {
resourceInputs["push"] = undefined /*out*/; resourceInputs["push"] = undefined /*out*/;

View File

@@ -25,7 +25,7 @@ export class Provider extends pulumi.ProviderResource {
/** /**
* The build daemon's address. * The build daemon's address.
*/ */
declare public readonly host: pulumi.Output<string | undefined>; public readonly host!: pulumi.Output<string | undefined>;
/** /**
* Create a Provider resource with the given unique name, arguments, and options. * Create a Provider resource with the given unique name, arguments, and options.
@@ -38,8 +38,8 @@ export class Provider extends pulumi.ProviderResource {
let resourceInputs: pulumi.Inputs = {}; let resourceInputs: pulumi.Inputs = {};
opts = opts || {}; opts = opts || {};
{ {
resourceInputs["host"] = (args?.host) ?? (utilities.getEnv("DOCKER_HOST") || ""); resourceInputs["host"] = (args ? args.host : undefined) ?? (utilities.getEnv("DOCKER_HOST") || "");
resourceInputs["registries"] = pulumi.output(args?.registries).apply(JSON.stringify); resourceInputs["registries"] = pulumi.output(args ? args.registries : undefined).apply(JSON.stringify);
} }
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(Provider.__pulumiType, name, resourceInputs, opts); super(Provider.__pulumiType, name, resourceInputs, opts);

View File

@@ -1,7 +1,7 @@
{ {
"compilerOptions": { "compilerOptions": {
"outDir": "bin", "outDir": "bin",
"target": "ES2020", "target": "es2016",
"module": "commonjs", "module": "commonjs",
"moduleResolution": "node", "moduleResolution": "node",
"declaration": true, "declaration": true,