Compare commits

..

7 Commits

Author SHA1 Message Date
Bryce Lampe
29431eefde stringify 2025-08-07 11:17:20 -07:00
Bryce Lampe
1d7d3b447f fix object 2025-08-07 11:14:58 -07:00
Bryce Lampe
f384829abb fix env var 2025-08-07 11:11:48 -07:00
Bryce Lampe
3b76f3d5e5 nope use this one 2025-08-07 11:04:30 -07:00
Bryce Lampe
436e66e4a9 take an output 2025-08-07 11:01:59 -07:00
Bryce Lampe
30192b76c7 try a different workflow 2025-08-07 10:56:09 -07:00
Bryce Lampe
52f62c4608 testing 2025-08-07 10:53:41 -07:00
36 changed files with 1804 additions and 2148 deletions

View File

@@ -7,8 +7,6 @@ aws: true
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,12 +0,0 @@
name: "Load secrets"
description: |
This is a temporary action which assists with our migration to ESC. Instead
of surrounding every step that references secrets with an "if ESC" block, we
instead modify those steps to consume their secrets from this step's outputs.
Then, later, we can replace this action with esc-action to actually load
secrets from ESC.
inputs: {}
outputs: {}
runs:
using: "node20"
main: "index.js"

View File

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

View File

@@ -15,20 +15,43 @@ on:
- "**" - "**"
workflow_dispatch: {} workflow_dispatch: {}
env: env:
AZURE_SIGNING_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
AZURE_SIGNING_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
AZURE_SIGNING_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
AZURE_SIGNING_KEY_VAULT_URI: ${{ secrets.AZURE_SIGNING_KEY_VAULT_URI }}
SKIP_SIGNING: ${{ secrets.AZURE_SIGNING_CLIENT_ID == '' &&
secrets.AZURE_SIGNING_CLIENT_SECRET == '' && secrets.AZURE_SIGNING_TENANT_ID
== '' && secrets.AZURE_SIGNING_KEY_VAULT_URI == '' }}
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
PROVIDER: docker-build PROVIDER: docker-build
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
PYPI_USERNAME: __token__
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
TRAVIS_OS_NAME: linux TRAVIS_OS_NAME: linux
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
GOVERSION: "1.21.x" GOVERSION: "1.21.x"
NODEVERSION: "20.x" NODEVERSION: "20.x"
PYTHONVERSION: "3.11.8" PYTHONVERSION: "3.11.8"
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,31 +60,20 @@ 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
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -72,7 +84,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
@@ -93,7 +105,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
@@ -168,7 +180,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
@@ -183,15 +195,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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0 uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
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
@@ -199,8 +206,6 @@ jobs:
author_name: Failure in building provider prerequisites author_name: Failure in building provider prerequisites
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
build_sdks: build_sdks:
needs: prerequisites needs: prerequisites
runs-on: pulumi-ubuntu-8core runs-on: pulumi-ubuntu-8core
@@ -216,24 +221,14 @@ jobs:
name: build_sdks name: build_sdks
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -244,32 +239,32 @@ 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
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with: with:
java-version: ${{ env.JAVAVERSION }} java-version: ${{ env.JAVAVERSION }}
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2 uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download provider - name: Download provider
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
path: ${{ github.workspace }}/bin path: ${{ github.workspace }}/bin
@@ -339,7 +334,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,26 +353,12 @@ jobs:
author_name: Failure while building SDKs author_name: Failure while building SDKs
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.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
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_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@v1
- 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
@@ -385,10 +366,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:
@@ -411,24 +392,14 @@ jobs:
id-token: write id-token: write
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -439,32 +410,32 @@ 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
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with: with:
java-version: ${{ env.JAVAVERSION }} java-version: ${{ env.JAVAVERSION }}
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2 uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download provider - name: Download provider
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
path: ${{ github.workspace }}/bin path: ${{ github.workspace }}/bin
@@ -476,7 +447,7 @@ jobs:
-exec chmod +x {} \; -exec chmod +x {} \;
- name: Download SDK - name: Download SDK
if: ${{ matrix.language != 'yaml' }} if: ${{ matrix.language != 'yaml' }}
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: ${{ matrix.language }}-sdk.tar.gz name: ${{ matrix.language }}-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/
@@ -510,7 +481,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@ba79af03959ebeac9769e648f473a284504d9193 # v2.1.10
with: with:
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
}}/locations/global/workloadIdentityPools/${{ }}/locations/global/workloadIdentityPools/${{
@@ -518,7 +489,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@77e7a554d41e2ee56fc945c52dfd3f33d12def9a # v2.1.4
with: with:
install_components: gke-gcloud-auth-plugin install_components: gke-gcloud-auth-plugin
- name: Install gotestfmt - name: Install gotestfmt
@@ -531,8 +502,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
@@ -540,32 +509,20 @@ jobs:
author_name: Failure in SDK tests author_name: Failure in SDK tests
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
publish: publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: test needs: test
name: publish name: publish
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -585,27 +542,21 @@ 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@b47578312673ae6fa5b5096b330d9fbac3d116df # v4.2.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 }}
AZURE_SIGNING_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET }}
AZURE_SIGNING_TENANT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID }}
AZURE_SIGNING_KEY_VAULT_URI: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI }}
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 == '' }}
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
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
@@ -616,34 +567,22 @@ jobs:
author_name: Failure in publishing binaries author_name: Failure in publishing binaries
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.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
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout Scripts Repo - name: Checkout Scripts Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
path: ci-scripts path: ci-scripts
repository: pulumi/scripts repository: pulumi/scripts
@@ -658,22 +597,22 @@ 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
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: python-sdk.tar.gz name: python-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/
@@ -681,7 +620,7 @@ jobs:
run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C
${{github.workspace}}/sdk/python ${{github.workspace}}/sdk/python
- name: Download dotnet SDK - name: Download dotnet SDK
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: dotnet-sdk.tar.gz name: dotnet-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/
@@ -689,7 +628,7 @@ jobs:
run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C
${{github.workspace}}/sdk/dotnet ${{github.workspace}}/sdk/dotnet
- name: Download nodejs SDK - name: Download nodejs SDK
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: nodejs-sdk.tar.gz name: nodejs-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/
@@ -701,16 +640,8 @@ 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 }} NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ steps.esc-secrets.outputs.NPM_TOKEN }}
PYPI_PUBLISH_ARTIFACTS: all PYPI_PUBLISH_ARTIFACTS: all
PYPI_USERNAME: __token__
PYPI_PASSWORD: ${{ steps.esc-secrets.outputs.PYPI_API_TOKEN }}
SIGNING_KEY_ID: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY_ID }}
SIGNING_KEY: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY }}
SIGNING_PASSWORD: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_PASSWORD }}
PUBLISH_REPO_USERNAME: ${{ steps.esc-secrets.outputs.OSSRH_USERNAME }}
PUBLISH_REPO_PASSWORD: ${{ steps.esc-secrets.outputs.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
@@ -718,13 +649,11 @@ jobs:
author_name: Failure in publishing SDK author_name: Failure in publishing SDK
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
lint: lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
persist-credentials: false persist-credentials: false

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,24 +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
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
persist-credentials: false persist-credentials: false
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- uses: peter-evans/slash-command-dispatch@13bc09769d122a64f75aa5037256f6f2d78be8c4 # v4 - uses: peter-evans/slash-command-dispatch@13bc09769d122a64f75aa5037256f6f2d78be8c4 # v4
with: with:
commands: | commands: |
@@ -41,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,22 +1,16 @@
# 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
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
persist-credentials: false persist-credentials: false
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- id: schema_changed - id: schema_changed
name: Check for diff in schema name: Check for diff in schema
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2

View File

@@ -1,25 +0,0 @@
permissions: write-all # Equivalent to default permissions plus id-token: write
name: Export secrets to ESC
on: [workflow_dispatch]
jobs:
export-to-esc:
runs-on: ubuntu-latest
name: export GitHub secrets to ESC
steps:
- name: Generate a GitHub token
id: generate-token
uses: actions/create-github-app-token@v1
with:
app-id: 1256780 # Export Secrets GitHub App
private-key: ${{ secrets.EXPORT_SECRETS_PRIVATE_KEY }}
- name: Export secrets to ESC
uses: pulumi/esc-export-secrets-action@9d6485759b6adff2538ae91f1b77cc96265c9dad # v1
with:
organization: pulumi
org-environment: imports/github-secrets
exclude-secrets: EXPORT_SECRETS_PRIVATE_KEY
github-token: ${{ steps.generate-token.outputs.token }}
oidc-auth: true
oidc-requested-token-type: urn:pulumi:token-type:access_token:organization
env:
GITHUB_SECRETS: ${{ toJSON(secrets) }}

View File

@@ -6,20 +6,43 @@ on:
tags: tags:
- v*.*.*-** - v*.*.*-**
env: env:
AZURE_SIGNING_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
AZURE_SIGNING_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
AZURE_SIGNING_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
AZURE_SIGNING_KEY_VAULT_URI: ${{ secrets.AZURE_SIGNING_KEY_VAULT_URI }}
SKIP_SIGNING: ${{ secrets.AZURE_SIGNING_CLIENT_ID == '' &&
secrets.AZURE_SIGNING_CLIENT_SECRET == '' && secrets.AZURE_SIGNING_TENANT_ID
== '' && secrets.AZURE_SIGNING_KEY_VAULT_URI == '' }}
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
PROVIDER: docker-build PROVIDER: docker-build
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
PYPI_USERNAME: __token__
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
TRAVIS_OS_NAME: linux TRAVIS_OS_NAME: linux
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
GOVERSION: "1.21.x" GOVERSION: "1.21.x"
NODEVERSION: "20.x" NODEVERSION: "20.x"
PYTHONVERSION: "3.11.8" PYTHONVERSION: "3.11.8"
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,31 +52,20 @@ 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
name: prerequisites name: prerequisites
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -64,7 +76,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
@@ -85,7 +97,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
@@ -160,7 +172,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
@@ -175,15 +187,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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0 uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
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
@@ -191,8 +198,6 @@ jobs:
author_name: Failure in building provider prerequisites author_name: Failure in building provider prerequisites
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
build_sdks: build_sdks:
needs: prerequisites needs: prerequisites
runs-on: pulumi-ubuntu-8core runs-on: pulumi-ubuntu-8core
@@ -208,24 +213,14 @@ jobs:
name: build_sdks name: build_sdks
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -236,32 +231,32 @@ 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
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with: with:
java-version: ${{ env.JAVAVERSION }} java-version: ${{ env.JAVAVERSION }}
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2 uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download provider - name: Download provider
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
path: ${{ github.workspace }}/bin path: ${{ github.workspace }}/bin
@@ -331,7 +326,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
@@ -349,8 +344,6 @@ jobs:
author_name: Failure while building SDKs author_name: Failure while building SDKs
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
test: test:
runs-on: pulumi-ubuntu-8core runs-on: pulumi-ubuntu-8core
needs: needs:
@@ -371,24 +364,14 @@ jobs:
id-token: write id-token: write
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -399,32 +382,32 @@ 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
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with: with:
java-version: ${{ env.JAVAVERSION }} java-version: ${{ env.JAVAVERSION }}
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2 uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download provider - name: Download provider
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
path: ${{ github.workspace }}/bin path: ${{ github.workspace }}/bin
@@ -436,7 +419,7 @@ jobs:
-exec chmod +x {} \; -exec chmod +x {} \;
- name: Download SDK - name: Download SDK
if: ${{ matrix.language != 'yaml' }} if: ${{ matrix.language != 'yaml' }}
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: ${{ matrix.language }}-sdk.tar.gz name: ${{ matrix.language }}-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/
@@ -470,7 +453,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@ba79af03959ebeac9769e648f473a284504d9193 # v2.1.10
with: with:
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
}}/locations/global/workloadIdentityPools/${{ }}/locations/global/workloadIdentityPools/${{
@@ -478,7 +461,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@77e7a554d41e2ee56fc945c52dfd3f33d12def9a # v2.1.4
with: with:
install_components: gke-gcloud-auth-plugin install_components: gke-gcloud-auth-plugin
- name: Install gotestfmt - name: Install gotestfmt
@@ -491,8 +474,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
@@ -500,32 +481,20 @@ jobs:
author_name: Failure in SDK tests author_name: Failure in SDK tests
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
publish: publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: test needs: test
name: publish name: publish
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -545,27 +514,21 @@ 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@b47578312673ae6fa5b5096b330d9fbac3d116df # v4.2.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 }}
AZURE_SIGNING_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET }}
AZURE_SIGNING_TENANT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID }}
AZURE_SIGNING_KEY_VAULT_URI: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI }}
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 == '' }}
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
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
@@ -576,34 +539,22 @@ jobs:
author_name: Failure in publishing binaries author_name: Failure in publishing binaries
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.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
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout Scripts Repo - name: Checkout Scripts Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
path: ci-scripts path: ci-scripts
repository: pulumi/scripts repository: pulumi/scripts
@@ -618,22 +569,22 @@ 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
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: python-sdk.tar.gz name: python-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/
@@ -641,7 +592,7 @@ jobs:
run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C
${{github.workspace}}/sdk/python ${{github.workspace}}/sdk/python
- name: Download dotnet SDK - name: Download dotnet SDK
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: dotnet-sdk.tar.gz name: dotnet-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/
@@ -649,7 +600,7 @@ jobs:
run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C
${{github.workspace}}/sdk/dotnet ${{github.workspace}}/sdk/dotnet
- name: Download nodejs SDK - name: Download nodejs SDK
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: nodejs-sdk.tar.gz name: nodejs-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/
@@ -661,11 +612,8 @@ 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 }} NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ steps.esc-secrets.outputs.NPM_TOKEN }}
PYPI_PUBLISH_ARTIFACTS: all PYPI_PUBLISH_ARTIFACTS: all
PYPI_USERNAME: __token__
PYPI_PASSWORD: ${{ steps.esc-secrets.outputs.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
@@ -673,8 +621,6 @@ jobs:
author_name: Failure in publishing SDK author_name: Failure in publishing SDK
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.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
@@ -682,24 +628,14 @@ jobs:
name: publish_java_sdk name: publish_java_sdk
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -710,45 +646,40 @@ 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@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with: with:
java-version: ${{ env.JAVAVERSION }} java-version: ${{ env.JAVAVERSION }}
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2 uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download java SDK - name: Download java SDK
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: java-sdk.tar.gz name: java-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/
- name: Uncompress java SDK - name: Uncompress java SDK
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
uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
with:
gradle-version: "7.6"
- name: Publish Java SDK - name: Publish Java SDK
run: gradle -p ./sdk/java publishToSonatype closeAndReleaseSonatypeStagingRepository uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
env: env:
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }} PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
SIGNING_KEY_ID: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY_ID }} with:
SIGNING_KEY: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY }} arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
SIGNING_PASSWORD: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_PASSWORD }} build-root-directory: ./sdk/java
PUBLISH_REPO_PASSWORD: ${{ steps.esc-secrets.outputs.OSSRH_PASSWORD }} gradle-version: 7.4.1
PUBLISH_REPO_USERNAME: ${{ steps.esc-secrets.outputs.OSSRH_USERNAME }}
publish_go_sdk: publish_go_sdk:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: publish-go-sdk name: publish-go-sdk
needs: publish_sdk needs: publish_sdk
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- id: version - id: version
@@ -756,10 +687,8 @@ jobs:
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Download go SDK - name: Download go SDK
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: go-sdk.tar.gz name: go-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/

View File

@@ -4,21 +4,36 @@ name: pull-request
on: on:
pull_request_target: {} pull_request_target: {}
env: env:
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
PROVIDER: docker-build PROVIDER: docker-build
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
PYPI_USERNAME: __token__
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
TRAVIS_OS_NAME: linux TRAVIS_OS_NAME: linux
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
GOVERSION: "1.21.x" GOVERSION: "1.21.x"
NODEVERSION: "20.x" NODEVERSION: "20.x"
PYTHONVERSION: "3.11.8" PYTHONVERSION: "3.11.8"
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
@@ -27,24 +42,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:
comment-on-pr: comment-on-pr:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: comment-on-pr name: comment-on-pr
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- name: Comment PR - name: Comment PR
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1 uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
with: with:

View File

@@ -7,20 +7,43 @@ on:
- v*.*.* - v*.*.*
- "!v*.*.*-**" - "!v*.*.*-**"
env: env:
AZURE_SIGNING_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
AZURE_SIGNING_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
AZURE_SIGNING_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
AZURE_SIGNING_KEY_VAULT_URI: ${{ secrets.AZURE_SIGNING_KEY_VAULT_URI }}
SKIP_SIGNING: ${{ secrets.AZURE_SIGNING_CLIENT_ID == '' &&
secrets.AZURE_SIGNING_CLIENT_SECRET == '' && secrets.AZURE_SIGNING_TENANT_ID
== '' && secrets.AZURE_SIGNING_KEY_VAULT_URI == '' }}
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
PROVIDER: docker-build PROVIDER: docker-build
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
PYPI_USERNAME: __token__
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
TRAVIS_OS_NAME: linux TRAVIS_OS_NAME: linux
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
GOVERSION: "1.21.x" GOVERSION: "1.21.x"
NODEVERSION: "20.x" NODEVERSION: "20.x"
PYTHONVERSION: "3.11.8" PYTHONVERSION: "3.11.8"
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,31 +52,20 @@ 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
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -64,7 +76,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
@@ -85,7 +97,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
@@ -160,7 +172,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
@@ -175,15 +187,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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0 uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
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
@@ -191,8 +198,6 @@ jobs:
author_name: Failure in building provider prerequisites author_name: Failure in building provider prerequisites
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
build_sdks: build_sdks:
needs: prerequisites needs: prerequisites
runs-on: pulumi-ubuntu-8core runs-on: pulumi-ubuntu-8core
@@ -208,24 +213,14 @@ jobs:
name: build_sdks name: build_sdks
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -236,32 +231,32 @@ 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
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with: with:
java-version: ${{ env.JAVAVERSION }} java-version: ${{ env.JAVAVERSION }}
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2 uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download provider - name: Download provider
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
path: ${{ github.workspace }}/bin path: ${{ github.workspace }}/bin
@@ -331,7 +326,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
@@ -349,8 +344,6 @@ jobs:
author_name: Failure while building SDKs author_name: Failure while building SDKs
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
test: test:
runs-on: pulumi-ubuntu-8core runs-on: pulumi-ubuntu-8core
needs: needs:
@@ -371,24 +364,14 @@ jobs:
id-token: write id-token: write
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -399,32 +382,32 @@ 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
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with: with:
java-version: ${{ env.JAVAVERSION }} java-version: ${{ env.JAVAVERSION }}
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2 uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download provider - name: Download provider
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
path: ${{ github.workspace }}/bin path: ${{ github.workspace }}/bin
@@ -436,7 +419,7 @@ jobs:
-exec chmod +x {} \; -exec chmod +x {} \;
- name: Download SDK - name: Download SDK
if: ${{ matrix.language != 'yaml' }} if: ${{ matrix.language != 'yaml' }}
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: ${{ matrix.language }}-sdk.tar.gz name: ${{ matrix.language }}-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/
@@ -470,7 +453,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@ba79af03959ebeac9769e648f473a284504d9193 # v2.1.10
with: with:
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
}}/locations/global/workloadIdentityPools/${{ }}/locations/global/workloadIdentityPools/${{
@@ -478,7 +461,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@77e7a554d41e2ee56fc945c52dfd3f33d12def9a # v2.1.4
with: with:
install_components: gke-gcloud-auth-plugin install_components: gke-gcloud-auth-plugin
- name: Install gotestfmt - name: Install gotestfmt
@@ -491,8 +474,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
@@ -500,32 +481,20 @@ jobs:
author_name: Failure in SDK tests author_name: Failure in SDK tests
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
publish: publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: test needs: test
name: publish name: publish
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -545,27 +514,21 @@ 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@b47578312673ae6fa5b5096b330d9fbac3d116df # v4.2.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 }}
AZURE_SIGNING_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET }}
AZURE_SIGNING_TENANT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID }}
AZURE_SIGNING_KEY_VAULT_URI: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI }}
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 == '' }}
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
with: with:
args: -p 3 release --clean --timeout 60m0s args: -p 3 release --clean --timeout 60m0s
version: latest version: latest
@@ -576,34 +539,22 @@ jobs:
author_name: Failure in publishing binaries author_name: Failure in publishing binaries
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.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
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout Scripts Repo - name: Checkout Scripts Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
path: ci-scripts path: ci-scripts
repository: pulumi/scripts repository: pulumi/scripts
@@ -618,22 +569,22 @@ 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
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: python-sdk.tar.gz name: python-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/
@@ -641,7 +592,7 @@ jobs:
run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C
${{github.workspace}}/sdk/python ${{github.workspace}}/sdk/python
- name: Download dotnet SDK - name: Download dotnet SDK
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: dotnet-sdk.tar.gz name: dotnet-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/
@@ -649,7 +600,7 @@ jobs:
run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C
${{github.workspace}}/sdk/dotnet ${{github.workspace}}/sdk/dotnet
- name: Download nodejs SDK - name: Download nodejs SDK
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: nodejs-sdk.tar.gz name: nodejs-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/
@@ -661,11 +612,8 @@ 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 }} NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ steps.esc-secrets.outputs.NPM_TOKEN }}
PYPI_PUBLISH_ARTIFACTS: all PYPI_PUBLISH_ARTIFACTS: all
PYPI_USERNAME: __token__
PYPI_PASSWORD: ${{ steps.esc-secrets.outputs.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
@@ -673,8 +621,6 @@ jobs:
author_name: Failure in publishing SDK author_name: Failure in publishing SDK
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.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
@@ -682,24 +628,14 @@ jobs:
name: publish_java_sdk name: publish_java_sdk
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -710,45 +646,40 @@ 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@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with: with:
java-version: ${{ env.JAVAVERSION }} java-version: ${{ env.JAVAVERSION }}
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2 uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download java SDK - name: Download java SDK
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: java-sdk.tar.gz name: java-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/
- name: Uncompress java SDK - name: Uncompress java SDK
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
uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
with:
gradle-version: "7.6"
- name: Publish Java SDK - name: Publish Java SDK
run: gradle -p ./sdk/java publishToSonatype closeAndReleaseSonatypeStagingRepository uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
env: env:
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }} PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
SIGNING_KEY_ID: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY_ID }} with:
SIGNING_KEY: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY }} arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
SIGNING_PASSWORD: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_PASSWORD }} build-root-directory: ./sdk/java
PUBLISH_REPO_PASSWORD: ${{ steps.esc-secrets.outputs.OSSRH_PASSWORD }} gradle-version: 7.4.1
PUBLISH_REPO_USERNAME: ${{ steps.esc-secrets.outputs.OSSRH_USERNAME }}
publish_go_sdk: publish_go_sdk:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: publish-go-sdk name: publish-go-sdk
needs: publish_sdk needs: publish_sdk
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- id: version - id: version
@@ -756,10 +687,8 @@ jobs:
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Download go SDK - name: Download go SDK
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: go-sdk.tar.gz name: go-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/
@@ -780,18 +709,6 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: publish_go_sdk needs: publish_go_sdk
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_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@v1
- 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:
@@ -800,5 +717,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

@@ -11,17 +11,9 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
persist-credentials: false persist-credentials: false
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- 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:
@@ -29,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

@@ -10,20 +10,36 @@ on:
- CHANGELOG.md - CHANGELOG.md
workflow_dispatch: {} workflow_dispatch: {}
env: env:
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
PROVIDER: docker-build PROVIDER: docker-build
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
PYPI_USERNAME: __token__
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
TRAVIS_OS_NAME: linux TRAVIS_OS_NAME: linux
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
GOVERSION: "1.21.x" GOVERSION: "1.21.x"
NODEVERSION: "20.x" NODEVERSION: "20.x"
PYTHONVERSION: "3.11.8" PYTHONVERSION: "3.11.8"
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
@@ -38,20 +54,6 @@ jobs:
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 }}
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- name: Create URL to the run output - name: Create URL to the run output
id: vars id: vars
run: echo run: echo
@@ -60,7 +62,7 @@ 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: ${{ steps.esc-secrets.outputs.PULUMI_BOT_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 }}"
@@ -69,27 +71,28 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: prerequisites name: prerequisites
steps: steps:
- name: fromJSON operates on outputs
id: setup
shell: bash
run: |
echo 'JSON={"FOO": "BAR", "FOO": "BAZ"}' >> "$GITHUB_OUTPUT"
- name: Testing duplicate JSON key behavior
shell: bash
run: |
echo "${{ toJSON(fromJSON(steps.setup.outputs.JSON)) }}"
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
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_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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -100,7 +103,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
@@ -121,7 +124,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
@@ -196,7 +199,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
@@ -211,15 +214,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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0 uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
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
@@ -227,8 +225,6 @@ jobs:
author_name: Failure in building provider prerequisites author_name: Failure in building provider prerequisites
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.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:
@@ -246,26 +242,16 @@ jobs:
name: build_sdks name: build_sdks
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
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_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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -276,32 +262,32 @@ 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
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with: with:
java-version: ${{ env.JAVAVERSION }} java-version: ${{ env.JAVAVERSION }}
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2 uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download provider - name: Download provider
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
path: ${{ github.workspace }}/bin path: ${{ github.workspace }}/bin
@@ -370,7 +356,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
@@ -389,8 +375,6 @@ jobs:
author_name: Failure while building SDKs author_name: Failure while building SDKs
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.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:
@@ -413,26 +397,16 @@ jobs:
id-token: write id-token: write
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
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_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@v1
- 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
with: with:
set-env: PROVIDER_VERSION set-env: PROVIDER_VERSION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -443,32 +417,32 @@ 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
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with: with:
java-version: ${{ env.JAVAVERSION }} java-version: ${{ env.JAVAVERSION }}
distribution: temurin distribution: temurin
cache: gradle cache: gradle
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2 uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
with: with:
gradle-version: "7.6" gradle-version: "7.6"
- name: Download provider - name: Download provider
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
path: ${{ github.workspace }}/bin path: ${{ github.workspace }}/bin
@@ -480,7 +454,7 @@ jobs:
-exec chmod +x {} \; -exec chmod +x {} \;
- name: Download SDK - name: Download SDK
if: ${{ matrix.language != 'yaml' }} if: ${{ matrix.language != 'yaml' }}
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with: with:
name: ${{ matrix.language }}-sdk.tar.gz name: ${{ matrix.language }}-sdk.tar.gz
path: ${{ github.workspace}}/sdk/ path: ${{ github.workspace}}/sdk/
@@ -514,7 +488,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@ba79af03959ebeac9769e648f473a284504d9193 # v2.1.10
with: with:
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
}}/locations/global/workloadIdentityPools/${{ }}/locations/global/workloadIdentityPools/${{
@@ -522,7 +496,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@77e7a554d41e2ee56fc945c52dfd3f33d12def9a # v2.1.4
with: with:
install_components: gke-gcloud-auth-plugin install_components: gke-gcloud-auth-plugin
- name: Install gotestfmt - name: Install gotestfmt
@@ -535,8 +509,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
@@ -544,28 +516,12 @@ jobs:
author_name: Failure in SDK tests author_name: Failure in SDK tests
fields: repo,commit,author,action fields: repo,commit,author,action
status: ${{ job.status }} status: ${{ job.status }}
env:
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.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_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@v1
- 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:
@@ -586,7 +542,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
persist-credentials: false persist-credentials: false

View File

@@ -8,19 +8,34 @@ on:
env: env:
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
PROVIDER: docker-build PROVIDER: docker-build
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
PYPI_USERNAME: __token__
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
TRAVIS_OS_NAME: linux TRAVIS_OS_NAME: linux
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
GOVERSION: "1.21.x" GOVERSION: "1.21.x"
NODEVERSION: "20.x" NODEVERSION: "20.x"
PYTHONVERSION: "3.11.8" PYTHONVERSION: "3.11.8"
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,23 +44,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
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
lfs: true lfs: true
- env:
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
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@v1
- name: Install Go - name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
@@ -56,30 +62,20 @@ 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
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
with:
java-version: ${{ env.JAVAVERSION }}
distribution: temurin
cache: gradle
- name: Setup Gradle
uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
with:
gradle-version: "7.6"
- name: Update Pulumi/Pulumi - name: Update Pulumi/Pulumi
id: gomod id: gomod
run: >- run: >-
@@ -138,5 +134,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.185.0

View File

@@ -1,15 +1,9 @@
## Unreleased ## Unreleased
## 0.0.13 (2025-08-27)
### Changed ### Changed
- Docker Build Cloud and `exec` errors are more helpful. (https://github.com/pulumi/pulumi-docker-build/issues/549) - Docker Build Cloud and `exec` errors are more helpful. (https://github.com/pulumi/pulumi-docker-build/issues/549)
### Fixed
- The provider is no longer replaced on version changes. (https://github.com/pulumi/pulumi-docker-build/issues/581)
## 0.0.12 (2025-05-16) ## 0.0.12 (2025-05-16)
### Changed ### Changed

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.169.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.13.0 // 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
@@ -78,20 +78,18 @@ require (
github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
github.com/zclconf/go-cty v1.16.2 // indirect github.com/zclconf/go-cty v1.16.2 // indirect
go.opentelemetry.io/otel v1.36.0 // indirect
go.opentelemetry.io/otel/sdk v1.36.0 // indirect
go.uber.org/atomic v1.11.0 // indirect go.uber.org/atomic v1.11.0 // indirect
golang.org/x/crypto v0.39.0 // indirect golang.org/x/crypto v0.38.0 // indirect
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect
golang.org/x/mod v0.25.0 // indirect golang.org/x/mod v0.24.0 // indirect
golang.org/x/net v0.40.0 // indirect golang.org/x/net v0.40.0 // indirect
golang.org/x/sync v0.15.0 // indirect golang.org/x/sync v0.14.0 // indirect
golang.org/x/sys v0.33.0 // indirect golang.org/x/sys v0.33.0 // indirect
golang.org/x/term v0.32.0 // indirect golang.org/x/term v0.32.0 // indirect
golang.org/x/text v0.26.0 // indirect golang.org/x/text v0.25.0 // indirect
golang.org/x/tools v0.33.0 // indirect golang.org/x/tools v0.32.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250414145226-207652e42e2e // indirect
google.golang.org/grpc v1.72.1 // indirect google.golang.org/grpc v1.71.1 // indirect
google.golang.org/protobuf v1.36.6 // indirect google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect

View File

@@ -146,8 +146,6 @@ github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU= github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU=
github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M= github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M=
github.com/pgavlin/fx/v2 v2.0.3 h1:ZBVklTFjxcWvBVPE+ti5qwnmTIQ0Gq6nuj3J5RKDtKk=
github.com/pgavlin/fx/v2 v2.0.3/go.mod h1:Cvnwqq0BopdHUJ7CU50h1XPeKrF4ZwdFj1nJLXbAjCE=
github.com/pjbgf/sha1cd v0.3.2 h1:a9wb0bp1oC2TGwStyn0Umc/IGKQnEgF0vVaZ8QF8eo4= github.com/pjbgf/sha1cd v0.3.2 h1:a9wb0bp1oC2TGwStyn0Umc/IGKQnEgF0vVaZ8QF8eo4=
github.com/pjbgf/sha1cd v0.3.2/go.mod h1:zQWigSxVmsHEZow5qaLtPYxpcKMMQpa09ixqBxuCS6A= github.com/pjbgf/sha1cd v0.3.2/go.mod h1:zQWigSxVmsHEZow5qaLtPYxpcKMMQpa09ixqBxuCS6A=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
@@ -159,12 +157,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.13.0 h1:O2MPR2koScaQ2fXwyer8Q3Dd7z+DCnaDfsgNl5mVNMk=
github.com/pulumi/esc v0.17.0/go.mod h1:XnSxlt5NkmuAj304l/gK4pRErFbtqq6XpfX1tYT9Jbc= github.com/pulumi/esc v0.13.0/go.mod h1:IIQo6W6Uzajt6f1RW4QvNxIRDlbK3TNQysnrwBHNo3U=
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.169.0 h1:bgz1fp2rl28khSXgF4FaRQiB9wh3lSKWtzUOGalf+x4=
github.com/pulumi/pulumi/sdk/v3 v3.192.0/go.mod h1:aV0+c5xpSYccWKmOjTZS9liYCqh7+peu3cQgSXu7CJw= github.com/pulumi/pulumi/sdk/v3 v3.169.0/go.mod h1:Qhe4dOjqedyLr47kGGnG6ULIbzaPTlmjAvPqNQ1Ollo=
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=
@@ -212,32 +210,32 @@ github.com/zclconf/go-cty v1.16.2 h1:LAJSwc3v81IRBZyUVQDUdZ7hs3SYs9jv0eZJDWHD/70
github.com/zclconf/go-cty v1.16.2/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= github.com/zclconf/go-cty v1.16.2/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg= go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ=
go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E= go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y=
go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE= go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ=
go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs= go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE=
go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs= go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY=
go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY= go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg=
go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk=
go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w=
go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w= go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k=
go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA= go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE=
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM= golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM= golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8= golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w= golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -249,8 +247,8 @@ golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8= golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -274,24 +272,24 @@ golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M= golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc= golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI= golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 h1:cJfm9zPbe1e873mHJzmQ1nwVEeRDU/T1wXDK2kUSU34= google.golang.org/genproto/googleapis/rpc v0.0.0-20250414145226-207652e42e2e h1:ztQaXfzEXTmCBvbtWYRhJxW+0iJcz2qXfd38/e9l7bA=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= google.golang.org/genproto/googleapis/rpc v0.0.0-20250414145226-207652e42e2e/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA= google.golang.org/grpc v1.71.1 h1:ffsFWr7ygTUscGPI0KKK6TLrGz0476KUvvsbqWK0rPI=
google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= google.golang.org/grpc v1.71.1/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@@ -181,9 +181,8 @@ func TestConfig(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
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)

20
go.mod
View File

@@ -15,15 +15,15 @@ require (
github.com/muesli/reflow v0.3.0 github.com/muesli/reflow v0.3.0
github.com/otiai10/copy v1.14.0 github.com/otiai10/copy v1.14.0
github.com/pulumi/providertest v0.3.1 github.com/pulumi/providertest v0.3.1
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.0.0-20250806132441-44ca9a522cef github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.0.0-20250711153256-84fa063f54d2
github.com/pulumi/pulumi-go-provider v1.1.1 github.com/pulumi/pulumi-go-provider v1.1.0
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.183.1-0.20250718110245-a8f88047ab64
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-20250718110245-a8f88047ab64
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-20250718110245-a8f88047ab64
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-20250718110245-a8f88047ab64
github.com/pulumi/pulumi/sdk/v3 v3.192.0 github.com/pulumi/pulumi/sdk/v3 v3.184.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
@@ -308,7 +308,7 @@ require (
github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect
github.com/moby/locker v1.0.1 // indirect github.com/moby/locker v1.0.1 // indirect
github.com/moby/moby v28.3.3+incompatible // indirect github.com/moby/moby v26.1.5+incompatible // indirect
github.com/moby/spdystream v0.4.0 // indirect github.com/moby/spdystream v0.4.0 // indirect
github.com/moby/sys/mountinfo v0.7.2 // indirect github.com/moby/sys/mountinfo v0.7.2 // indirect
github.com/moby/sys/sequential v0.6.0 // indirect github.com/moby/sys/sequential v0.6.0 // indirect
@@ -357,7 +357,7 @@ require (
github.com/prometheus/common v0.55.0 // indirect github.com/prometheus/common v0.55.0 // indirect
github.com/prometheus/procfs v0.15.1 // indirect github.com/prometheus/procfs v0.15.1 // 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/pulumi/inflector v0.2.1 // indirect github.com/pulumi/inflector v0.2.1 // indirect
github.com/quasilyte/go-ruleguard v0.4.2 // indirect github.com/quasilyte/go-ruleguard v0.4.2 // indirect
github.com/quasilyte/go-ruleguard/dsl v0.3.22 // indirect github.com/quasilyte/go-ruleguard/dsl v0.3.22 // indirect
@@ -462,7 +462,7 @@ require (
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f // indirect golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f // indirect
golang.org/x/mod v0.25.0 // indirect golang.org/x/mod v0.25.0 // indirect
golang.org/x/net v0.40.0 // indirect golang.org/x/net v0.40.0 // indirect
golang.org/x/oauth2 v0.30.0 // indirect golang.org/x/oauth2 v0.27.0 // indirect
golang.org/x/sync v0.15.0 // indirect golang.org/x/sync v0.15.0 // indirect
golang.org/x/sys v0.33.0 // indirect golang.org/x/sys v0.33.0 // indirect
golang.org/x/term v0.32.0 // indirect golang.org/x/term v0.32.0 // indirect

40
go.sum
View File

@@ -740,8 +740,8 @@ github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3N
github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo=
github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg=
github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc=
github.com/moby/moby v28.3.3+incompatible h1:nzkZIIn9bQP9S553kNmJ+U8PBhdS2ciFWphV2vX/Zp4= github.com/moby/moby v26.1.5+incompatible h1:O/XM3Qzmd6WzbeqAp2hbKu3ugujrsGnrla/yvELtgls=
github.com/moby/moby v28.3.3+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= github.com/moby/moby v26.1.5+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc=
github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk= github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk=
github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc=
github.com/moby/spdystream v0.4.0 h1:Vy79D6mHeJJjiPdFEL2yku1kl0chZpJfZcPpb16BRl8= github.com/moby/spdystream v0.4.0 h1:Vy79D6mHeJJjiPdFEL2yku1kl0chZpJfZcPpb16BRl8=
@@ -888,30 +888,30 @@ github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0leargg
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
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/inflector v0.2.1 h1:bqyiish3tq//vLeLiEstSFE5K7RNjy/ce47ed4QATu8= github.com/pulumi/inflector v0.2.1 h1:bqyiish3tq//vLeLiEstSFE5K7RNjy/ce47ed4QATu8=
github.com/pulumi/inflector v0.2.1/go.mod h1:HUFCjcPTz96YtTuUlwG3i3EZG4WlniBvR9bd+iJxCUY= github.com/pulumi/inflector v0.2.1/go.mod h1:HUFCjcPTz96YtTuUlwG3i3EZG4WlniBvR9bd+iJxCUY=
github.com/pulumi/providertest v0.3.1 h1:vlftr7TZlObh81mL88IhhF0/9ZbLrZZos4NAvR4HUUw= github.com/pulumi/providertest v0.3.1 h1:vlftr7TZlObh81mL88IhhF0/9ZbLrZZos4NAvR4HUUw=
github.com/pulumi/providertest v0.3.1/go.mod h1:fFHUP4/9DRyYnHWiRnwcynMtM/a7hHR/QcJfcuZKO3A= github.com/pulumi/providertest v0.3.1/go.mod h1:fFHUP4/9DRyYnHWiRnwcynMtM/a7hHR/QcJfcuZKO3A=
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.0.0-20250806132441-44ca9a522cef h1:cxRa9R9To6OYKacIG2Em6zcM7BDNr6joC43uiV1lSVY= github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.0.0-20250711153256-84fa063f54d2 h1:65dgYdOk87zFOjAxc2i6WY6XPvkPb7hEgo1X0lW09O4=
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.0.0-20250806132441-44ca9a522cef/go.mod h1:VLcnE1lj92EfRi7CRMzdPkQ9OQvrlg2upJM1lBZzNmg= github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.0.0-20250711153256-84fa063f54d2/go.mod h1:aLCAyjnCVzOUPEHiJRUuu1SlPhg1FG47/Qx+Yn7EOLY=
github.com/pulumi/pulumi-go-provider v1.1.1 h1:4UT3LeNT9CdGhkq8OSWKJsmKTW9Tg+vsfOO/hsFVyb4= github.com/pulumi/pulumi-go-provider v1.1.0 h1:TNrLoQ7LrT6Z2xPbspJKXE3pKZsz+pCVo62zKFGxjBI=
github.com/pulumi/pulumi-go-provider v1.1.1/go.mod h1:3lNIuxT/BArFyiKrVfv+UT7gMMtplss7V69KuBZ4zIk= github.com/pulumi/pulumi-go-provider v1.1.0/go.mod h1:bWvFWytb2ULBefjDW/YG+GcjHbzVojwtl1RW5afMvR0=
github.com/pulumi/pulumi-java/pkg v1.16.0 h1:8KCiIXWv2uxfIks0SdgOezyXg4HZIoPfHID9eMg4nuM= github.com/pulumi/pulumi-java/pkg v1.16.0 h1:8KCiIXWv2uxfIks0SdgOezyXg4HZIoPfHID9eMg4nuM=
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.183.1-0.20250718110245-a8f88047ab64 h1:YyVpJ1C3O1VWVhZUo1fzeQPkXLV8I+4Mfv4Wp6ZR3gU=
github.com/pulumi/pulumi/pkg/v3 v3.192.0/go.mod h1:+Zp3EzjzGW4PlcW8oITZgeOfFzIVbLWvHtUVixvGQcs= github.com/pulumi/pulumi/pkg/v3 v3.183.1-0.20250718110245-a8f88047ab64/go.mod h1:Jd6IpgYooIih0IzADV9mZ03eOE4yWxSVB5H58toP/Rw=
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-20250718110245-a8f88047ab64 h1:kRc8BMAJUCtEExnWO8jyDApKT6uoMqzgXebwuhtF1yQ=
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-20250718110245-a8f88047ab64/go.mod h1:28k5jUyNfhU1JGxbZKRSUaNXsm/OplNY3JP/JV8usCY=
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-20250718110245-a8f88047ab64 h1:Nekf6EeZrCi1lrlsA4WEs/XaNGrmdKJTItKFXe5+lKI=
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-20250718110245-a8f88047ab64/go.mod h1:/WSNtC7raBf0TpUvHnRp9rap8y2k/sjjSw0Ez8O+pmw=
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-20250718110245-a8f88047ab64 h1:3x/gafIPQwk/G6nK5rN9ssW4KXAQMFQypC30PlTigzM=
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-20250718110245-a8f88047ab64/go.mod h1:FHCsy+aAJdr+phX5jpdRdvedlCBI2osMos828Pbze7c=
github.com/pulumi/pulumi/sdk/v3 v3.192.0 h1:sfHuR3P02wSbV3xdSMEQ0+uC/HzlMz0YfKrVAXy1hSQ= github.com/pulumi/pulumi/sdk/v3 v3.184.0 h1:VdJAmkeO5k7l8bOzVxXw9AfuTO75BBYmw6eQ9YMNCeI=
github.com/pulumi/pulumi/sdk/v3 v3.192.0/go.mod h1:aV0+c5xpSYccWKmOjTZS9liYCqh7+peu3cQgSXu7CJw= github.com/pulumi/pulumi/sdk/v3 v3.184.0/go.mod h1:YS7uQ+eoIV/Fco804Upv3jmz5pwo/MkLYmbGH3VgA9c=
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=
@@ -1261,8 +1261,8 @@ golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M=
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=

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.184.0
) )
require ( require (
@@ -63,7 +63,7 @@ require (
github.com/pkg/term v1.1.0 // indirect github.com/pkg/term v1.1.0 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // 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

@@ -162,10 +162,10 @@ 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/sdk/v3 v3.192.0 h1:sfHuR3P02wSbV3xdSMEQ0+uC/HzlMz0YfKrVAXy1hSQ= github.com/pulumi/pulumi/sdk/v3 v3.184.0 h1:VdJAmkeO5k7l8bOzVxXw9AfuTO75BBYmw6eQ9YMNCeI=
github.com/pulumi/pulumi/sdk/v3 v3.192.0/go.mod h1:aV0+c5xpSYccWKmOjTZS9liYCqh7+peu3cQgSXu7CJw= github.com/pulumi/pulumi/sdk/v3 v3.184.0/go.mod h1:YS7uQ+eoIV/Fco804Upv3jmz5pwo/MkLYmbGH3VgA9c=
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,

View File

@@ -2,7 +2,7 @@
# *** WARNING: this file was generated by pulumi-language-python. *** # *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! *** # *** Do not edit by hand unless you're certain you know what you are doing! ***
import builtins as _builtins import builtins
from . import _utilities from . import _utilities
import typing import typing
# Export this package's modules as members: # Export this package's modules as members:

View File

@@ -2,7 +2,7 @@
# *** WARNING: this file was generated by pulumi-language-python. *** # *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! *** # *** Do not edit by hand unless you're certain you know what you are doing! ***
import builtins as _builtins import builtins
import pulumi import pulumi
from enum import Enum from enum import Enum
@@ -15,7 +15,7 @@ __all__ = [
@pulumi.type_token("docker-build:index:CacheMode") @pulumi.type_token("docker-build:index:CacheMode")
class CacheMode(_builtins.str, Enum): class CacheMode(builtins.str, Enum):
MIN = "min" MIN = "min"
""" """
Only layers that are exported into the resulting image are cached. Only layers that are exported into the resulting image are cached.
@@ -27,7 +27,7 @@ class CacheMode(_builtins.str, Enum):
@pulumi.type_token("docker-build:index:CompressionType") @pulumi.type_token("docker-build:index:CompressionType")
class CompressionType(_builtins.str, Enum): class CompressionType(builtins.str, Enum):
GZIP = "gzip" GZIP = "gzip"
""" """
Use `gzip` for compression. Use `gzip` for compression.
@@ -43,7 +43,7 @@ class CompressionType(_builtins.str, Enum):
@pulumi.type_token("docker-build:index:NetworkMode") @pulumi.type_token("docker-build:index:NetworkMode")
class NetworkMode(_builtins.str, Enum): class NetworkMode(builtins.str, Enum):
DEFAULT = "default" DEFAULT = "default"
""" """
The default sandbox network mode. The default sandbox network mode.
@@ -59,7 +59,7 @@ class NetworkMode(_builtins.str, Enum):
@pulumi.type_token("docker-build:index:Platform") @pulumi.type_token("docker-build:index:Platform")
class Platform(_builtins.str, Enum): class Platform(builtins.str, Enum):
DARWIN_386 = "darwin/386" DARWIN_386 = "darwin/386"
DARWIN_AMD64 = "darwin/amd64" DARWIN_AMD64 = "darwin/amd64"
DARWIN_ARM = "darwin/arm" DARWIN_ARM = "darwin/arm"

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@
# *** WARNING: this file was generated by pulumi-language-python. *** # *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! *** # *** Do not edit by hand unless you're certain you know what you are doing! ***
import builtins as _builtins import builtins
import sys import sys
from .vars import _ExportableConfig from .vars import _ExportableConfig

View File

@@ -2,7 +2,8 @@
# *** WARNING: this file was generated by pulumi-language-python. *** # *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! *** # *** Do not edit by hand unless you're certain you know what you are doing! ***
import builtins as _builtins import builtins
import copy
import warnings import warnings
import sys import sys
import pulumi import pulumi

View File

@@ -2,7 +2,8 @@
# *** WARNING: this file was generated by pulumi-language-python. *** # *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! *** # *** Do not edit by hand unless you're certain you know what you are doing! ***
import builtins as _builtins import builtins
import copy
import warnings import warnings
import sys import sys
import pulumi import pulumi
@@ -21,14 +22,14 @@ __config__ = pulumi.Config('docker-build')
class _ExportableConfig(types.ModuleType): class _ExportableConfig(types.ModuleType):
@_builtins.property @property
def host(self) -> str: def host(self) -> str:
""" """
The build daemon's address. The build daemon's address.
""" """
return __config__.get('host') or (_utilities.get_env('DOCKER_HOST') or '') return __config__.get('host') or (_utilities.get_env('DOCKER_HOST') or '')
@_builtins.property @property
def registries(self) -> Optional[str]: def registries(self) -> Optional[str]:
return __config__.get('registries') return __config__.get('registries')

View File

@@ -2,7 +2,8 @@
# *** WARNING: this file was generated by pulumi-language-python. *** # *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! *** # *** Do not edit by hand unless you're certain you know what you are doing! ***
import builtins as _builtins import builtins
import copy
import warnings import warnings
import sys import sys
import pulumi import pulumi
@@ -22,39 +23,39 @@ __all__ = ['ImageArgs', 'Image']
@pulumi.input_type @pulumi.input_type
class ImageArgs: class ImageArgs:
def __init__(__self__, *, def __init__(__self__, *,
push: pulumi.Input[_builtins.bool], push: pulumi.Input[builtins.bool],
add_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, add_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
build_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, build_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
build_on_preview: Optional[pulumi.Input[_builtins.bool]] = None, build_on_preview: Optional[pulumi.Input[builtins.bool]] = None,
builder: Optional[pulumi.Input['BuilderConfigArgs']] = None, builder: Optional[pulumi.Input['BuilderConfigArgs']] = None,
cache_from: Optional[pulumi.Input[Sequence[pulumi.Input['CacheFromArgs']]]] = None, cache_from: Optional[pulumi.Input[Sequence[pulumi.Input['CacheFromArgs']]]] = None,
cache_to: Optional[pulumi.Input[Sequence[pulumi.Input['CacheToArgs']]]] = None, cache_to: Optional[pulumi.Input[Sequence[pulumi.Input['CacheToArgs']]]] = None,
context: Optional[pulumi.Input['BuildContextArgs']] = None, context: Optional[pulumi.Input['BuildContextArgs']] = None,
dockerfile: Optional[pulumi.Input['DockerfileArgs']] = None, dockerfile: Optional[pulumi.Input['DockerfileArgs']] = None,
exec_: Optional[pulumi.Input[_builtins.bool]] = None, exec_: Optional[pulumi.Input[builtins.bool]] = None,
exports: Optional[pulumi.Input[Sequence[pulumi.Input['ExportArgs']]]] = None, exports: Optional[pulumi.Input[Sequence[pulumi.Input['ExportArgs']]]] = None,
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
load: Optional[pulumi.Input[_builtins.bool]] = None, load: Optional[pulumi.Input[builtins.bool]] = None,
network: Optional[pulumi.Input['NetworkMode']] = None, network: Optional[pulumi.Input['NetworkMode']] = None,
no_cache: Optional[pulumi.Input[_builtins.bool]] = None, no_cache: Optional[pulumi.Input[builtins.bool]] = None,
platforms: Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]] = None, platforms: Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]] = None,
pull: Optional[pulumi.Input[_builtins.bool]] = None, pull: Optional[pulumi.Input[builtins.bool]] = None,
registries: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]] = None, registries: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]] = None,
secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
ssh: Optional[pulumi.Input[Sequence[pulumi.Input['SSHArgs']]]] = None, ssh: Optional[pulumi.Input[Sequence[pulumi.Input['SSHArgs']]]] = None,
tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
target: Optional[pulumi.Input[_builtins.str]] = None): target: Optional[pulumi.Input[builtins.str]] = None):
""" """
The set of arguments for constructing a Image resource. The set of arguments for constructing a Image resource.
:param pulumi.Input[_builtins.bool] push: When `true` the build will automatically include a `registry` export. :param pulumi.Input[builtins.bool] push: When `true` the build will automatically include a `registry` export.
Defaults to `false`. Defaults to `false`.
Equivalent to Docker's `--push` flag. Equivalent to Docker's `--push` flag.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] add_hosts: Custom `host:ip` mappings to use during the build. :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] add_hosts: Custom `host:ip` mappings to use during the build.
Equivalent to Docker's `--add-host` flag. Equivalent to Docker's `--add-host` flag.
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] build_args: `ARG` names and values to set during the build. :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] build_args: `ARG` names and values to set during the build.
These variables are accessed like environment variables inside `RUN` These variables are accessed like environment variables inside `RUN`
instructions. instructions.
@@ -63,7 +64,7 @@ class ImageArgs:
if these arguments are sensitive. if these arguments are sensitive.
Equivalent to Docker's `--build-arg` flag. Equivalent to Docker's `--build-arg` flag.
:param pulumi.Input[_builtins.bool] build_on_preview: Setting this to `false` will always skip image builds during previews, :param pulumi.Input[builtins.bool] build_on_preview: 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.
Images built during previews are never exported to registries, however Images built during previews are never exported to registries, however
@@ -87,7 +88,7 @@ class ImageArgs:
:param pulumi.Input['DockerfileArgs'] dockerfile: Dockerfile settings. :param pulumi.Input['DockerfileArgs'] dockerfile: Dockerfile settings.
Equivalent to Docker's `--file` flag. Equivalent to Docker's `--file` flag.
:param pulumi.Input[_builtins.bool] exec_: Use `exec` mode to build this image. :param pulumi.Input[builtins.bool] exec_: Use `exec` mode to build this image.
By default the provider embeds a v25 Docker client with v0.12 buildx By default the provider embeds a v25 Docker client with v0.12 buildx
support. This helps ensure consistent behavior across environments and support. This helps ensure consistent behavior across environments and
@@ -116,10 +117,10 @@ class ImageArgs:
0.13 or later. 0.13 or later.
Equivalent to Docker's `--output` flag. Equivalent to Docker's `--output` flag.
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Attach arbitrary key/value metadata to the image. :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: Attach arbitrary key/value metadata to the image.
Equivalent to Docker's `--label` flag. Equivalent to Docker's `--label` flag.
:param pulumi.Input[_builtins.bool] load: When `true` the build will automatically include a `docker` export. :param pulumi.Input[builtins.bool] load: When `true` the build will automatically include a `docker` export.
Defaults to `false`. Defaults to `false`.
@@ -129,13 +130,13 @@ class ImageArgs:
For custom networks, configure your builder with `--driver-opt network=...`. For custom networks, configure your builder with `--driver-opt network=...`.
Equivalent to Docker's `--network` flag. Equivalent to Docker's `--network` flag.
:param pulumi.Input[_builtins.bool] no_cache: Do not import cache manifests when building the image. :param pulumi.Input[builtins.bool] no_cache: Do not import cache manifests when building the image.
Equivalent to Docker's `--no-cache` flag. Equivalent to Docker's `--no-cache` flag.
:param pulumi.Input[Sequence[pulumi.Input['Platform']]] platforms: Set target platform(s) for the build. Defaults to the host's platform. :param pulumi.Input[Sequence[pulumi.Input['Platform']]] platforms: 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.
:param pulumi.Input[_builtins.bool] pull: Always pull referenced images. :param pulumi.Input[builtins.bool] pull: Always pull referenced images.
Equivalent to Docker's `--pull` flag. Equivalent to Docker's `--pull` flag.
:param pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]] registries: Registry credentials. Required if reading or exporting to private :param pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]] registries: Registry credentials. Required if reading or exporting to private
@@ -145,7 +146,7 @@ class ImageArgs:
credentials on the host. credentials on the host.
Similar to `docker login`. Similar to `docker login`.
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] secrets: A mapping of secret names to their corresponding values. :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] secrets: A mapping of secret names to their corresponding values.
Unlike the Docker CLI, these can be passed by value and do not need to Unlike the Docker CLI, these can be passed by value and do not need to
exist on-disk or in environment variables. exist on-disk or in environment variables.
@@ -157,13 +158,13 @@ class ImageArgs:
:param pulumi.Input[Sequence[pulumi.Input['SSHArgs']]] ssh: SSH agent socket or keys to expose to the build. :param pulumi.Input[Sequence[pulumi.Input['SSHArgs']]] ssh: SSH agent socket or keys to expose to the build.
Equivalent to Docker's `--ssh` flag. Equivalent to Docker's `--ssh` flag.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Name and optionally a tag (format: `name:tag`). :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: Name and optionally a tag (format: `name:tag`).
If exporting to a registry, the name should include the fully qualified If exporting to a registry, the name should include the fully qualified
registry address (e.g. `docker.io/pulumi/pulumi:latest`). registry address (e.g. `docker.io/pulumi/pulumi:latest`).
Equivalent to Docker's `--tag` flag. Equivalent to Docker's `--tag` flag.
:param pulumi.Input[_builtins.str] target: Set the target build stage(s) to build. :param pulumi.Input[builtins.str] target: Set the target build stage(s) to build.
If not specified all targets will be built by default. If not specified all targets will be built by default.
@@ -217,9 +218,9 @@ class ImageArgs:
if target is not None: if target is not None:
pulumi.set(__self__, "target", target) pulumi.set(__self__, "target", target)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def push(self) -> pulumi.Input[_builtins.bool]: def push(self) -> pulumi.Input[builtins.bool]:
""" """
When `true` the build will automatically include a `registry` export. When `true` the build will automatically include a `registry` export.
@@ -230,12 +231,12 @@ class ImageArgs:
return pulumi.get(self, "push") return pulumi.get(self, "push")
@push.setter @push.setter
def push(self, value: pulumi.Input[_builtins.bool]): def push(self, value: pulumi.Input[builtins.bool]):
pulumi.set(self, "push", value) pulumi.set(self, "push", value)
@_builtins.property @property
@pulumi.getter(name="addHosts") @pulumi.getter(name="addHosts")
def add_hosts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: def add_hosts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
""" """
Custom `host:ip` mappings to use during the build. Custom `host:ip` mappings to use during the build.
@@ -244,12 +245,12 @@ class ImageArgs:
return pulumi.get(self, "add_hosts") return pulumi.get(self, "add_hosts")
@add_hosts.setter @add_hosts.setter
def add_hosts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): def add_hosts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
pulumi.set(self, "add_hosts", value) pulumi.set(self, "add_hosts", value)
@_builtins.property @property
@pulumi.getter(name="buildArgs") @pulumi.getter(name="buildArgs")
def build_args(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: def build_args(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
""" """
`ARG` names and values to set during the build. `ARG` names and values to set during the build.
@@ -264,12 +265,12 @@ class ImageArgs:
return pulumi.get(self, "build_args") return pulumi.get(self, "build_args")
@build_args.setter @build_args.setter
def build_args(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): def build_args(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
pulumi.set(self, "build_args", value) pulumi.set(self, "build_args", value)
@_builtins.property @property
@pulumi.getter(name="buildOnPreview") @pulumi.getter(name="buildOnPreview")
def build_on_preview(self) -> Optional[pulumi.Input[_builtins.bool]]: def build_on_preview(self) -> Optional[pulumi.Input[builtins.bool]]:
""" """
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.
@@ -286,10 +287,10 @@ class ImageArgs:
return pulumi.get(self, "build_on_preview") return pulumi.get(self, "build_on_preview")
@build_on_preview.setter @build_on_preview.setter
def build_on_preview(self, value: Optional[pulumi.Input[_builtins.bool]]): def build_on_preview(self, value: Optional[pulumi.Input[builtins.bool]]):
pulumi.set(self, "build_on_preview", value) pulumi.set(self, "build_on_preview", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def builder(self) -> Optional[pulumi.Input['BuilderConfigArgs']]: def builder(self) -> Optional[pulumi.Input['BuilderConfigArgs']]:
""" """
@@ -301,7 +302,7 @@ class ImageArgs:
def builder(self, value: Optional[pulumi.Input['BuilderConfigArgs']]): def builder(self, value: Optional[pulumi.Input['BuilderConfigArgs']]):
pulumi.set(self, "builder", value) pulumi.set(self, "builder", value)
@_builtins.property @property
@pulumi.getter(name="cacheFrom") @pulumi.getter(name="cacheFrom")
def cache_from(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CacheFromArgs']]]]: def cache_from(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CacheFromArgs']]]]:
""" """
@@ -315,7 +316,7 @@ class ImageArgs:
def cache_from(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CacheFromArgs']]]]): def cache_from(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CacheFromArgs']]]]):
pulumi.set(self, "cache_from", value) pulumi.set(self, "cache_from", value)
@_builtins.property @property
@pulumi.getter(name="cacheTo") @pulumi.getter(name="cacheTo")
def cache_to(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CacheToArgs']]]]: def cache_to(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CacheToArgs']]]]:
""" """
@@ -329,7 +330,7 @@ class ImageArgs:
def cache_to(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CacheToArgs']]]]): def cache_to(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CacheToArgs']]]]):
pulumi.set(self, "cache_to", value) pulumi.set(self, "cache_to", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def context(self) -> Optional[pulumi.Input['BuildContextArgs']]: def context(self) -> Optional[pulumi.Input['BuildContextArgs']]:
""" """
@@ -343,7 +344,7 @@ class ImageArgs:
def context(self, value: Optional[pulumi.Input['BuildContextArgs']]): def context(self, value: Optional[pulumi.Input['BuildContextArgs']]):
pulumi.set(self, "context", value) pulumi.set(self, "context", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def dockerfile(self) -> Optional[pulumi.Input['DockerfileArgs']]: def dockerfile(self) -> Optional[pulumi.Input['DockerfileArgs']]:
""" """
@@ -357,9 +358,9 @@ class ImageArgs:
def dockerfile(self, value: Optional[pulumi.Input['DockerfileArgs']]): def dockerfile(self, value: Optional[pulumi.Input['DockerfileArgs']]):
pulumi.set(self, "dockerfile", value) pulumi.set(self, "dockerfile", value)
@_builtins.property @property
@pulumi.getter(name="exec") @pulumi.getter(name="exec")
def exec_(self) -> Optional[pulumi.Input[_builtins.bool]]: def exec_(self) -> Optional[pulumi.Input[builtins.bool]]:
""" """
Use `exec` mode to build this image. Use `exec` mode to build this image.
@@ -385,10 +386,10 @@ class ImageArgs:
return pulumi.get(self, "exec_") return pulumi.get(self, "exec_")
@exec_.setter @exec_.setter
def exec_(self, value: Optional[pulumi.Input[_builtins.bool]]): def exec_(self, value: Optional[pulumi.Input[builtins.bool]]):
pulumi.set(self, "exec_", value) pulumi.set(self, "exec_", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def exports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExportArgs']]]]: def exports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExportArgs']]]]:
""" """
@@ -408,9 +409,9 @@ class ImageArgs:
def exports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExportArgs']]]]): def exports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExportArgs']]]]):
pulumi.set(self, "exports", value) pulumi.set(self, "exports", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
""" """
Attach arbitrary key/value metadata to the image. Attach arbitrary key/value metadata to the image.
@@ -419,12 +420,12 @@ class ImageArgs:
return pulumi.get(self, "labels") return pulumi.get(self, "labels")
@labels.setter @labels.setter
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
pulumi.set(self, "labels", value) pulumi.set(self, "labels", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def load(self) -> Optional[pulumi.Input[_builtins.bool]]: def load(self) -> Optional[pulumi.Input[builtins.bool]]:
""" """
When `true` the build will automatically include a `docker` export. When `true` the build will automatically include a `docker` export.
@@ -435,10 +436,10 @@ class ImageArgs:
return pulumi.get(self, "load") return pulumi.get(self, "load")
@load.setter @load.setter
def load(self, value: Optional[pulumi.Input[_builtins.bool]]): def load(self, value: Optional[pulumi.Input[builtins.bool]]):
pulumi.set(self, "load", value) pulumi.set(self, "load", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def network(self) -> Optional[pulumi.Input['NetworkMode']]: def network(self) -> Optional[pulumi.Input['NetworkMode']]:
""" """
@@ -454,9 +455,9 @@ class ImageArgs:
def network(self, value: Optional[pulumi.Input['NetworkMode']]): def network(self, value: Optional[pulumi.Input['NetworkMode']]):
pulumi.set(self, "network", value) pulumi.set(self, "network", value)
@_builtins.property @property
@pulumi.getter(name="noCache") @pulumi.getter(name="noCache")
def no_cache(self) -> Optional[pulumi.Input[_builtins.bool]]: def no_cache(self) -> Optional[pulumi.Input[builtins.bool]]:
""" """
Do not import cache manifests when building the image. Do not import cache manifests when building the image.
@@ -465,10 +466,10 @@ class ImageArgs:
return pulumi.get(self, "no_cache") return pulumi.get(self, "no_cache")
@no_cache.setter @no_cache.setter
def no_cache(self, value: Optional[pulumi.Input[_builtins.bool]]): def no_cache(self, value: Optional[pulumi.Input[builtins.bool]]):
pulumi.set(self, "no_cache", value) pulumi.set(self, "no_cache", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def platforms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]]: def platforms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]]:
""" """
@@ -482,9 +483,9 @@ class ImageArgs:
def platforms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]]): def platforms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]]):
pulumi.set(self, "platforms", value) pulumi.set(self, "platforms", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def pull(self) -> Optional[pulumi.Input[_builtins.bool]]: def pull(self) -> Optional[pulumi.Input[builtins.bool]]:
""" """
Always pull referenced images. Always pull referenced images.
@@ -493,10 +494,10 @@ class ImageArgs:
return pulumi.get(self, "pull") return pulumi.get(self, "pull")
@pull.setter @pull.setter
def pull(self, value: Optional[pulumi.Input[_builtins.bool]]): def pull(self, value: Optional[pulumi.Input[builtins.bool]]):
pulumi.set(self, "pull", value) pulumi.set(self, "pull", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def registries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]]: def registries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]]:
""" """
@@ -514,9 +515,9 @@ class ImageArgs:
def registries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]]): def registries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]]):
pulumi.set(self, "registries", value) pulumi.set(self, "registries", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def secrets(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: def secrets(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
""" """
A mapping of secret names to their corresponding values. A mapping of secret names to their corresponding values.
@@ -531,10 +532,10 @@ class ImageArgs:
return pulumi.get(self, "secrets") return pulumi.get(self, "secrets")
@secrets.setter @secrets.setter
def secrets(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): def secrets(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
pulumi.set(self, "secrets", value) pulumi.set(self, "secrets", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def ssh(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SSHArgs']]]]: def ssh(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SSHArgs']]]]:
""" """
@@ -548,9 +549,9 @@ class ImageArgs:
def ssh(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SSHArgs']]]]): def ssh(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SSHArgs']]]]):
pulumi.set(self, "ssh", value) pulumi.set(self, "ssh", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
""" """
Name and optionally a tag (format: `name:tag`). Name and optionally a tag (format: `name:tag`).
@@ -562,12 +563,12 @@ class ImageArgs:
return pulumi.get(self, "tags") return pulumi.get(self, "tags")
@tags.setter @tags.setter
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
pulumi.set(self, "tags", value) pulumi.set(self, "tags", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def target(self) -> Optional[pulumi.Input[_builtins.str]]: def target(self) -> Optional[pulumi.Input[builtins.str]]:
""" """
Set the target build stage(s) to build. Set the target build stage(s) to build.
@@ -578,7 +579,7 @@ class ImageArgs:
return pulumi.get(self, "target") return pulumi.get(self, "target")
@target.setter @target.setter
def target(self, value: Optional[pulumi.Input[_builtins.str]]): def target(self, value: Optional[pulumi.Input[builtins.str]]):
pulumi.set(self, "target", value) pulumi.set(self, "target", value)
@@ -588,28 +589,28 @@ class Image(pulumi.CustomResource):
def __init__(__self__, def __init__(__self__,
resource_name: str, resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None, opts: Optional[pulumi.ResourceOptions] = None,
add_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, add_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
build_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, build_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
build_on_preview: Optional[pulumi.Input[_builtins.bool]] = None, build_on_preview: Optional[pulumi.Input[builtins.bool]] = None,
builder: Optional[pulumi.Input[Union['BuilderConfigArgs', 'BuilderConfigArgsDict']]] = None, builder: Optional[pulumi.Input[Union['BuilderConfigArgs', 'BuilderConfigArgsDict']]] = None,
cache_from: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CacheFromArgs', 'CacheFromArgsDict']]]]] = None, cache_from: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CacheFromArgs', 'CacheFromArgsDict']]]]] = None,
cache_to: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CacheToArgs', 'CacheToArgsDict']]]]] = None, cache_to: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CacheToArgs', 'CacheToArgsDict']]]]] = None,
context: Optional[pulumi.Input[Union['BuildContextArgs', 'BuildContextArgsDict']]] = None, context: Optional[pulumi.Input[Union['BuildContextArgs', 'BuildContextArgsDict']]] = None,
dockerfile: Optional[pulumi.Input[Union['DockerfileArgs', 'DockerfileArgsDict']]] = None, dockerfile: Optional[pulumi.Input[Union['DockerfileArgs', 'DockerfileArgsDict']]] = None,
exec_: Optional[pulumi.Input[_builtins.bool]] = None, exec_: Optional[pulumi.Input[builtins.bool]] = None,
exports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExportArgs', 'ExportArgsDict']]]]] = None, exports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExportArgs', 'ExportArgsDict']]]]] = None,
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
load: Optional[pulumi.Input[_builtins.bool]] = None, load: Optional[pulumi.Input[builtins.bool]] = None,
network: Optional[pulumi.Input['NetworkMode']] = None, network: Optional[pulumi.Input['NetworkMode']] = None,
no_cache: Optional[pulumi.Input[_builtins.bool]] = None, no_cache: Optional[pulumi.Input[builtins.bool]] = None,
platforms: Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]] = None, platforms: Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]] = None,
pull: Optional[pulumi.Input[_builtins.bool]] = None, pull: Optional[pulumi.Input[builtins.bool]] = None,
push: Optional[pulumi.Input[_builtins.bool]] = None, push: Optional[pulumi.Input[builtins.bool]] = None,
registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None, registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None,
secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
ssh: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SSHArgs', 'SSHArgsDict']]]]] = None, ssh: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SSHArgs', 'SSHArgsDict']]]]] = None,
tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
target: Optional[pulumi.Input[_builtins.str]] = None, target: Optional[pulumi.Input[builtins.str]] = None,
__props__=None): __props__=None):
""" """
A Docker image built using buildx -- Docker's interface to the improved A Docker image built using buildx -- Docker's interface to the improved
@@ -920,10 +921,10 @@ class Image(pulumi.CustomResource):
:param str resource_name: The name of the resource. :param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] add_hosts: Custom `host:ip` mappings to use during the build. :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] add_hosts: Custom `host:ip` mappings to use during the build.
Equivalent to Docker's `--add-host` flag. Equivalent to Docker's `--add-host` flag.
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] build_args: `ARG` names and values to set during the build. :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] build_args: `ARG` names and values to set during the build.
These variables are accessed like environment variables inside `RUN` These variables are accessed like environment variables inside `RUN`
instructions. instructions.
@@ -932,7 +933,7 @@ class Image(pulumi.CustomResource):
if these arguments are sensitive. if these arguments are sensitive.
Equivalent to Docker's `--build-arg` flag. Equivalent to Docker's `--build-arg` flag.
:param pulumi.Input[_builtins.bool] build_on_preview: Setting this to `false` will always skip image builds during previews, :param pulumi.Input[builtins.bool] build_on_preview: 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.
Images built during previews are never exported to registries, however Images built during previews are never exported to registries, however
@@ -956,7 +957,7 @@ class Image(pulumi.CustomResource):
:param pulumi.Input[Union['DockerfileArgs', 'DockerfileArgsDict']] dockerfile: Dockerfile settings. :param pulumi.Input[Union['DockerfileArgs', 'DockerfileArgsDict']] dockerfile: Dockerfile settings.
Equivalent to Docker's `--file` flag. Equivalent to Docker's `--file` flag.
:param pulumi.Input[_builtins.bool] exec_: Use `exec` mode to build this image. :param pulumi.Input[builtins.bool] exec_: Use `exec` mode to build this image.
By default the provider embeds a v25 Docker client with v0.12 buildx By default the provider embeds a v25 Docker client with v0.12 buildx
support. This helps ensure consistent behavior across environments and support. This helps ensure consistent behavior across environments and
@@ -985,10 +986,10 @@ class Image(pulumi.CustomResource):
0.13 or later. 0.13 or later.
Equivalent to Docker's `--output` flag. Equivalent to Docker's `--output` flag.
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Attach arbitrary key/value metadata to the image. :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: Attach arbitrary key/value metadata to the image.
Equivalent to Docker's `--label` flag. Equivalent to Docker's `--label` flag.
:param pulumi.Input[_builtins.bool] load: When `true` the build will automatically include a `docker` export. :param pulumi.Input[builtins.bool] load: When `true` the build will automatically include a `docker` export.
Defaults to `false`. Defaults to `false`.
@@ -998,16 +999,16 @@ class Image(pulumi.CustomResource):
For custom networks, configure your builder with `--driver-opt network=...`. For custom networks, configure your builder with `--driver-opt network=...`.
Equivalent to Docker's `--network` flag. Equivalent to Docker's `--network` flag.
:param pulumi.Input[_builtins.bool] no_cache: Do not import cache manifests when building the image. :param pulumi.Input[builtins.bool] no_cache: Do not import cache manifests when building the image.
Equivalent to Docker's `--no-cache` flag. Equivalent to Docker's `--no-cache` flag.
:param pulumi.Input[Sequence[pulumi.Input['Platform']]] platforms: Set target platform(s) for the build. Defaults to the host's platform. :param pulumi.Input[Sequence[pulumi.Input['Platform']]] platforms: 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.
:param pulumi.Input[_builtins.bool] pull: Always pull referenced images. :param pulumi.Input[builtins.bool] pull: Always pull referenced images.
Equivalent to Docker's `--pull` flag. Equivalent to Docker's `--pull` flag.
:param pulumi.Input[_builtins.bool] push: When `true` the build will automatically include a `registry` export. :param pulumi.Input[builtins.bool] push: When `true` the build will automatically include a `registry` export.
Defaults to `false`. Defaults to `false`.
@@ -1019,7 +1020,7 @@ class Image(pulumi.CustomResource):
credentials on the host. credentials on the host.
Similar to `docker login`. Similar to `docker login`.
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] secrets: A mapping of secret names to their corresponding values. :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] secrets: A mapping of secret names to their corresponding values.
Unlike the Docker CLI, these can be passed by value and do not need to Unlike the Docker CLI, these can be passed by value and do not need to
exist on-disk or in environment variables. exist on-disk or in environment variables.
@@ -1031,13 +1032,13 @@ class Image(pulumi.CustomResource):
:param pulumi.Input[Sequence[pulumi.Input[Union['SSHArgs', 'SSHArgsDict']]]] ssh: SSH agent socket or keys to expose to the build. :param pulumi.Input[Sequence[pulumi.Input[Union['SSHArgs', 'SSHArgsDict']]]] ssh: SSH agent socket or keys to expose to the build.
Equivalent to Docker's `--ssh` flag. Equivalent to Docker's `--ssh` flag.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Name and optionally a tag (format: `name:tag`). :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: Name and optionally a tag (format: `name:tag`).
If exporting to a registry, the name should include the fully qualified If exporting to a registry, the name should include the fully qualified
registry address (e.g. `docker.io/pulumi/pulumi:latest`). registry address (e.g. `docker.io/pulumi/pulumi:latest`).
Equivalent to Docker's `--tag` flag. Equivalent to Docker's `--tag` flag.
:param pulumi.Input[_builtins.str] target: Set the target build stage(s) to build. :param pulumi.Input[builtins.str] target: Set the target build stage(s) to build.
If not specified all targets will be built by default. If not specified all targets will be built by default.
@@ -1371,28 +1372,28 @@ class Image(pulumi.CustomResource):
def _internal_init(__self__, def _internal_init(__self__,
resource_name: str, resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None, opts: Optional[pulumi.ResourceOptions] = None,
add_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, add_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
build_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, build_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
build_on_preview: Optional[pulumi.Input[_builtins.bool]] = None, build_on_preview: Optional[pulumi.Input[builtins.bool]] = None,
builder: Optional[pulumi.Input[Union['BuilderConfigArgs', 'BuilderConfigArgsDict']]] = None, builder: Optional[pulumi.Input[Union['BuilderConfigArgs', 'BuilderConfigArgsDict']]] = None,
cache_from: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CacheFromArgs', 'CacheFromArgsDict']]]]] = None, cache_from: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CacheFromArgs', 'CacheFromArgsDict']]]]] = None,
cache_to: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CacheToArgs', 'CacheToArgsDict']]]]] = None, cache_to: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CacheToArgs', 'CacheToArgsDict']]]]] = None,
context: Optional[pulumi.Input[Union['BuildContextArgs', 'BuildContextArgsDict']]] = None, context: Optional[pulumi.Input[Union['BuildContextArgs', 'BuildContextArgsDict']]] = None,
dockerfile: Optional[pulumi.Input[Union['DockerfileArgs', 'DockerfileArgsDict']]] = None, dockerfile: Optional[pulumi.Input[Union['DockerfileArgs', 'DockerfileArgsDict']]] = None,
exec_: Optional[pulumi.Input[_builtins.bool]] = None, exec_: Optional[pulumi.Input[builtins.bool]] = None,
exports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExportArgs', 'ExportArgsDict']]]]] = None, exports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExportArgs', 'ExportArgsDict']]]]] = None,
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
load: Optional[pulumi.Input[_builtins.bool]] = None, load: Optional[pulumi.Input[builtins.bool]] = None,
network: Optional[pulumi.Input['NetworkMode']] = None, network: Optional[pulumi.Input['NetworkMode']] = None,
no_cache: Optional[pulumi.Input[_builtins.bool]] = None, no_cache: Optional[pulumi.Input[builtins.bool]] = None,
platforms: Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]] = None, platforms: Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]] = None,
pull: Optional[pulumi.Input[_builtins.bool]] = None, pull: Optional[pulumi.Input[builtins.bool]] = None,
push: Optional[pulumi.Input[_builtins.bool]] = None, push: Optional[pulumi.Input[builtins.bool]] = None,
registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None, registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None,
secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
ssh: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SSHArgs', 'SSHArgsDict']]]]] = None, ssh: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SSHArgs', 'SSHArgsDict']]]]] = None,
tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
target: Optional[pulumi.Input[_builtins.str]] = None, target: Optional[pulumi.Input[builtins.str]] = None,
__props__=None): __props__=None):
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
if not isinstance(opts, pulumi.ResourceOptions): if not isinstance(opts, pulumi.ResourceOptions):
@@ -1482,9 +1483,9 @@ class Image(pulumi.CustomResource):
__props__.__dict__["target"] = None __props__.__dict__["target"] = None
return Image(resource_name, opts=opts, __props__=__props__) return Image(resource_name, opts=opts, __props__=__props__)
@_builtins.property @property
@pulumi.getter(name="addHosts") @pulumi.getter(name="addHosts")
def add_hosts(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: def add_hosts(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
""" """
Custom `host:ip` mappings to use during the build. Custom `host:ip` mappings to use during the build.
@@ -1492,9 +1493,9 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "add_hosts") return pulumi.get(self, "add_hosts")
@_builtins.property @property
@pulumi.getter(name="buildArgs") @pulumi.getter(name="buildArgs")
def build_args(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: def build_args(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]:
""" """
`ARG` names and values to set during the build. `ARG` names and values to set during the build.
@@ -1508,9 +1509,9 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "build_args") return pulumi.get(self, "build_args")
@_builtins.property @property
@pulumi.getter(name="buildOnPreview") @pulumi.getter(name="buildOnPreview")
def build_on_preview(self) -> pulumi.Output[Optional[_builtins.bool]]: def build_on_preview(self) -> pulumi.Output[Optional[builtins.bool]]:
""" """
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.
@@ -1526,7 +1527,7 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "build_on_preview") return pulumi.get(self, "build_on_preview")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def builder(self) -> pulumi.Output[Optional['outputs.BuilderConfig']]: def builder(self) -> pulumi.Output[Optional['outputs.BuilderConfig']]:
""" """
@@ -1534,7 +1535,7 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "builder") return pulumi.get(self, "builder")
@_builtins.property @property
@pulumi.getter(name="cacheFrom") @pulumi.getter(name="cacheFrom")
def cache_from(self) -> pulumi.Output[Optional[Sequence['outputs.CacheFrom']]]: def cache_from(self) -> pulumi.Output[Optional[Sequence['outputs.CacheFrom']]]:
""" """
@@ -1544,7 +1545,7 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "cache_from") return pulumi.get(self, "cache_from")
@_builtins.property @property
@pulumi.getter(name="cacheTo") @pulumi.getter(name="cacheTo")
def cache_to(self) -> pulumi.Output[Optional[Sequence['outputs.CacheTo']]]: def cache_to(self) -> pulumi.Output[Optional[Sequence['outputs.CacheTo']]]:
""" """
@@ -1554,7 +1555,7 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "cache_to") return pulumi.get(self, "cache_to")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def context(self) -> pulumi.Output[Optional['outputs.BuildContext']]: def context(self) -> pulumi.Output[Optional['outputs.BuildContext']]:
""" """
@@ -1564,9 +1565,9 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "context") return pulumi.get(self, "context")
@_builtins.property @property
@pulumi.getter(name="contextHash") @pulumi.getter(name="contextHash")
def context_hash(self) -> pulumi.Output[_builtins.str]: def context_hash(self) -> pulumi.Output[builtins.str]:
""" """
A preliminary hash of the image's build context. A preliminary hash of the image's build context.
@@ -1574,9 +1575,9 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "context_hash") return pulumi.get(self, "context_hash")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def digest(self) -> pulumi.Output[_builtins.str]: def digest(self) -> pulumi.Output[builtins.str]:
""" """
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.
@@ -1588,7 +1589,7 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "digest") return pulumi.get(self, "digest")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def dockerfile(self) -> pulumi.Output[Optional['outputs.Dockerfile']]: def dockerfile(self) -> pulumi.Output[Optional['outputs.Dockerfile']]:
""" """
@@ -1598,9 +1599,9 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "dockerfile") return pulumi.get(self, "dockerfile")
@_builtins.property @property
@pulumi.getter(name="exec") @pulumi.getter(name="exec")
def exec_(self) -> pulumi.Output[Optional[_builtins.bool]]: def exec_(self) -> pulumi.Output[Optional[builtins.bool]]:
""" """
Use `exec` mode to build this image. Use `exec` mode to build this image.
@@ -1625,7 +1626,7 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "exec_") return pulumi.get(self, "exec_")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def exports(self) -> pulumi.Output[Optional[Sequence['outputs.Export']]]: def exports(self) -> pulumi.Output[Optional[Sequence['outputs.Export']]]:
""" """
@@ -1641,9 +1642,9 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "exports") return pulumi.get(self, "exports")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: def labels(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]:
""" """
Attach arbitrary key/value metadata to the image. Attach arbitrary key/value metadata to the image.
@@ -1651,9 +1652,9 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "labels") return pulumi.get(self, "labels")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def load(self) -> pulumi.Output[Optional[_builtins.bool]]: def load(self) -> pulumi.Output[Optional[builtins.bool]]:
""" """
When `true` the build will automatically include a `docker` export. When `true` the build will automatically include a `docker` export.
@@ -1663,7 +1664,7 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "load") return pulumi.get(self, "load")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def network(self) -> pulumi.Output[Optional['NetworkMode']]: def network(self) -> pulumi.Output[Optional['NetworkMode']]:
""" """
@@ -1675,9 +1676,9 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "network") return pulumi.get(self, "network")
@_builtins.property @property
@pulumi.getter(name="noCache") @pulumi.getter(name="noCache")
def no_cache(self) -> pulumi.Output[Optional[_builtins.bool]]: def no_cache(self) -> pulumi.Output[Optional[builtins.bool]]:
""" """
Do not import cache manifests when building the image. Do not import cache manifests when building the image.
@@ -1685,7 +1686,7 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "no_cache") return pulumi.get(self, "no_cache")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def platforms(self) -> pulumi.Output[Optional[Sequence['Platform']]]: def platforms(self) -> pulumi.Output[Optional[Sequence['Platform']]]:
""" """
@@ -1695,9 +1696,9 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "platforms") return pulumi.get(self, "platforms")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def pull(self) -> pulumi.Output[Optional[_builtins.bool]]: def pull(self) -> pulumi.Output[Optional[builtins.bool]]:
""" """
Always pull referenced images. Always pull referenced images.
@@ -1705,9 +1706,9 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "pull") return pulumi.get(self, "pull")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def push(self) -> pulumi.Output[_builtins.bool]: def push(self) -> pulumi.Output[builtins.bool]:
""" """
When `true` the build will automatically include a `registry` export. When `true` the build will automatically include a `registry` export.
@@ -1717,9 +1718,9 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "push") return pulumi.get(self, "push")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def ref(self) -> pulumi.Output[_builtins.str]: def ref(self) -> pulumi.Output[builtins.str]:
""" """
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.
@@ -1738,7 +1739,7 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "ref") return pulumi.get(self, "ref")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def registries(self) -> pulumi.Output[Optional[Sequence['outputs.Registry']]]: def registries(self) -> pulumi.Output[Optional[Sequence['outputs.Registry']]]:
""" """
@@ -1752,9 +1753,9 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "registries") return pulumi.get(self, "registries")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def secrets(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: def secrets(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]:
""" """
A mapping of secret names to their corresponding values. A mapping of secret names to their corresponding values.
@@ -1768,7 +1769,7 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "secrets") return pulumi.get(self, "secrets")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def ssh(self) -> pulumi.Output[Optional[Sequence['outputs.SSH']]]: def ssh(self) -> pulumi.Output[Optional[Sequence['outputs.SSH']]]:
""" """
@@ -1778,9 +1779,9 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "ssh") return pulumi.get(self, "ssh")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def tags(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: def tags(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
""" """
Name and optionally a tag (format: `name:tag`). Name and optionally a tag (format: `name:tag`).
@@ -1791,9 +1792,9 @@ class Image(pulumi.CustomResource):
""" """
return pulumi.get(self, "tags") return pulumi.get(self, "tags")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def target(self) -> pulumi.Output[Optional[_builtins.str]]: def target(self) -> pulumi.Output[Optional[builtins.str]]:
""" """
Set the target build stage(s) to build. Set the target build stage(s) to build.

View File

@@ -2,7 +2,8 @@
# *** WARNING: this file was generated by pulumi-language-python. *** # *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! *** # *** Do not edit by hand unless you're certain you know what you are doing! ***
import builtins as _builtins import builtins
import copy
import warnings import warnings
import sys import sys
import pulumi import pulumi
@@ -21,15 +22,15 @@ __all__ = ['IndexArgs', 'Index']
@pulumi.input_type @pulumi.input_type
class IndexArgs: class IndexArgs:
def __init__(__self__, *, def __init__(__self__, *,
sources: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], sources: pulumi.Input[Sequence[pulumi.Input[builtins.str]]],
tag: pulumi.Input[_builtins.str], tag: pulumi.Input[builtins.str],
push: Optional[pulumi.Input[_builtins.bool]] = None, push: Optional[pulumi.Input[builtins.bool]] = None,
registry: Optional[pulumi.Input['RegistryArgs']] = None): registry: Optional[pulumi.Input['RegistryArgs']] = None):
""" """
The set of arguments for constructing a Index resource. The set of arguments for constructing a Index resource.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] sources: Existing images to include in the index. :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] sources: Existing images to include in the index.
:param pulumi.Input[_builtins.str] tag: The tag to apply to the index. :param pulumi.Input[builtins.str] tag: The tag to apply to the index.
:param pulumi.Input[_builtins.bool] push: If true, push the index to the target registry. :param pulumi.Input[builtins.bool] push: If true, push the index to the target registry.
Defaults to `true`. Defaults to `true`.
:param pulumi.Input['RegistryArgs'] registry: Authentication for the registry where the tagged index will be pushed. :param pulumi.Input['RegistryArgs'] registry: Authentication for the registry where the tagged index will be pushed.
@@ -45,33 +46,33 @@ class IndexArgs:
if registry is not None: if registry is not None:
pulumi.set(__self__, "registry", registry) pulumi.set(__self__, "registry", registry)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def sources(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: def sources(self) -> pulumi.Input[Sequence[pulumi.Input[builtins.str]]]:
""" """
Existing images to include in the index. Existing images to include in the index.
""" """
return pulumi.get(self, "sources") return pulumi.get(self, "sources")
@sources.setter @sources.setter
def sources(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): def sources(self, value: pulumi.Input[Sequence[pulumi.Input[builtins.str]]]):
pulumi.set(self, "sources", value) pulumi.set(self, "sources", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def tag(self) -> pulumi.Input[_builtins.str]: def tag(self) -> pulumi.Input[builtins.str]:
""" """
The tag to apply to the index. The tag to apply to the index.
""" """
return pulumi.get(self, "tag") return pulumi.get(self, "tag")
@tag.setter @tag.setter
def tag(self, value: pulumi.Input[_builtins.str]): def tag(self, value: pulumi.Input[builtins.str]):
pulumi.set(self, "tag", value) pulumi.set(self, "tag", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def push(self) -> Optional[pulumi.Input[_builtins.bool]]: def push(self) -> Optional[pulumi.Input[builtins.bool]]:
""" """
If true, push the index to the target registry. If true, push the index to the target registry.
@@ -80,10 +81,10 @@ class IndexArgs:
return pulumi.get(self, "push") return pulumi.get(self, "push")
@push.setter @push.setter
def push(self, value: Optional[pulumi.Input[_builtins.bool]]): def push(self, value: Optional[pulumi.Input[builtins.bool]]):
pulumi.set(self, "push", value) pulumi.set(self, "push", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def registry(self) -> Optional[pulumi.Input['RegistryArgs']]: def registry(self) -> Optional[pulumi.Input['RegistryArgs']]:
""" """
@@ -104,10 +105,10 @@ class Index(pulumi.CustomResource):
def __init__(__self__, def __init__(__self__,
resource_name: str, resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None, opts: Optional[pulumi.ResourceOptions] = None,
push: Optional[pulumi.Input[_builtins.bool]] = None, push: Optional[pulumi.Input[builtins.bool]] = None,
registry: Optional[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]] = None, registry: Optional[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]] = None,
sources: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, sources: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
tag: Optional[pulumi.Input[_builtins.str]] = None, tag: Optional[pulumi.Input[builtins.str]] = None,
__props__=None): __props__=None):
""" """
A wrapper around `docker buildx imagetools create` to create an index A wrapper around `docker buildx imagetools create` to create an index
@@ -181,14 +182,14 @@ class Index(pulumi.CustomResource):
:param str resource_name: The name of the resource. :param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[_builtins.bool] push: If true, push the index to the target registry. :param pulumi.Input[builtins.bool] push: If true, push the index to the target registry.
Defaults to `true`. Defaults to `true`.
:param pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']] registry: Authentication for the registry where the tagged index will be pushed. :param pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']] registry: 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.
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] sources: Existing images to include in the index. :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] sources: Existing images to include in the index.
:param pulumi.Input[_builtins.str] tag: The tag to apply to the index. :param pulumi.Input[builtins.str] tag: The tag to apply to the index.
""" """
... ...
@overload @overload
@@ -281,10 +282,10 @@ class Index(pulumi.CustomResource):
def _internal_init(__self__, def _internal_init(__self__,
resource_name: str, resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None, opts: Optional[pulumi.ResourceOptions] = None,
push: Optional[pulumi.Input[_builtins.bool]] = None, push: Optional[pulumi.Input[builtins.bool]] = None,
registry: Optional[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]] = None, registry: Optional[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]] = None,
sources: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, sources: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
tag: Optional[pulumi.Input[_builtins.str]] = None, tag: Optional[pulumi.Input[builtins.str]] = None,
__props__=None): __props__=None):
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
if not isinstance(opts, pulumi.ResourceOptions): if not isinstance(opts, pulumi.ResourceOptions):
@@ -334,9 +335,9 @@ class Index(pulumi.CustomResource):
__props__.__dict__["tag"] = None __props__.__dict__["tag"] = None
return Index(resource_name, opts=opts, __props__=__props__) return Index(resource_name, opts=opts, __props__=__props__)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def push(self) -> pulumi.Output[Optional[_builtins.bool]]: def push(self) -> pulumi.Output[Optional[builtins.bool]]:
""" """
If true, push the index to the target registry. If true, push the index to the target registry.
@@ -344,9 +345,9 @@ class Index(pulumi.CustomResource):
""" """
return pulumi.get(self, "push") return pulumi.get(self, "push")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def ref(self) -> pulumi.Output[_builtins.str]: def ref(self) -> pulumi.Output[builtins.str]:
""" """
The pushed tag with digest. The pushed tag with digest.
@@ -354,7 +355,7 @@ class Index(pulumi.CustomResource):
""" """
return pulumi.get(self, "ref") return pulumi.get(self, "ref")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def registry(self) -> pulumi.Output[Optional['outputs.Registry']]: def registry(self) -> pulumi.Output[Optional['outputs.Registry']]:
""" """
@@ -364,17 +365,17 @@ class Index(pulumi.CustomResource):
""" """
return pulumi.get(self, "registry") return pulumi.get(self, "registry")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def sources(self) -> pulumi.Output[Sequence[_builtins.str]]: def sources(self) -> pulumi.Output[Sequence[builtins.str]]:
""" """
Existing images to include in the index. Existing images to include in the index.
""" """
return pulumi.get(self, "sources") return pulumi.get(self, "sources")
@_builtins.property @property
@pulumi.getter @pulumi.getter
def tag(self) -> pulumi.Output[_builtins.str]: def tag(self) -> pulumi.Output[builtins.str]:
""" """
The tag to apply to the index. The tag to apply to the index.
""" """

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,8 @@
# *** WARNING: this file was generated by pulumi-language-python. *** # *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! *** # *** Do not edit by hand unless you're certain you know what you are doing! ***
import builtins as _builtins import builtins
import copy
import warnings import warnings
import sys import sys
import pulumi import pulumi
@@ -20,11 +21,11 @@ __all__ = ['ProviderArgs', 'Provider']
@pulumi.input_type @pulumi.input_type
class ProviderArgs: class ProviderArgs:
def __init__(__self__, *, def __init__(__self__, *,
host: Optional[pulumi.Input[_builtins.str]] = None, host: Optional[pulumi.Input[builtins.str]] = None,
registries: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]] = None): registries: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]] = None):
""" """
The set of arguments for constructing a Provider resource. The set of arguments for constructing a Provider resource.
:param pulumi.Input[_builtins.str] host: The build daemon's address. :param pulumi.Input[builtins.str] host: The build daemon's address.
""" """
if host is None: if host is None:
host = (_utilities.get_env('DOCKER_HOST') or '') host = (_utilities.get_env('DOCKER_HOST') or '')
@@ -33,19 +34,19 @@ class ProviderArgs:
if registries is not None: if registries is not None:
pulumi.set(__self__, "registries", registries) pulumi.set(__self__, "registries", registries)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def host(self) -> Optional[pulumi.Input[_builtins.str]]: def host(self) -> Optional[pulumi.Input[builtins.str]]:
""" """
The build daemon's address. The build daemon's address.
""" """
return pulumi.get(self, "host") return pulumi.get(self, "host")
@host.setter @host.setter
def host(self, value: Optional[pulumi.Input[_builtins.str]]): def host(self, value: Optional[pulumi.Input[builtins.str]]):
pulumi.set(self, "host", value) pulumi.set(self, "host", value)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def registries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]]: def registries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]]:
return pulumi.get(self, "registries") return pulumi.get(self, "registries")
@@ -61,14 +62,14 @@ class Provider(pulumi.ProviderResource):
def __init__(__self__, def __init__(__self__,
resource_name: str, resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None, opts: Optional[pulumi.ResourceOptions] = None,
host: Optional[pulumi.Input[_builtins.str]] = None, host: Optional[pulumi.Input[builtins.str]] = None,
registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None, registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None,
__props__=None): __props__=None):
""" """
Create a Docker-build resource with the given unique name, props, and options. Create a Docker-build resource with the given unique name, props, and options.
:param str resource_name: The name of the resource. :param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[_builtins.str] host: The build daemon's address. :param pulumi.Input[builtins.str] host: The build daemon's address.
""" """
... ...
@overload @overload
@@ -93,7 +94,7 @@ class Provider(pulumi.ProviderResource):
def _internal_init(__self__, def _internal_init(__self__,
resource_name: str, resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None, opts: Optional[pulumi.ResourceOptions] = None,
host: Optional[pulumi.Input[_builtins.str]] = None, host: Optional[pulumi.Input[builtins.str]] = None,
registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None, registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None,
__props__=None): __props__=None):
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -114,9 +115,9 @@ class Provider(pulumi.ProviderResource):
__props__, __props__,
opts) opts)
@_builtins.property @property
@pulumi.getter @pulumi.getter
def host(self) -> pulumi.Output[Optional[_builtins.str]]: def host(self) -> pulumi.Output[Optional[builtins.str]]:
""" """
The build daemon's address. The build daemon's address.
""" """