Compare commits
27 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
80d25003de | ||
|
|
195fbfc784 | ||
|
|
2907567484 | ||
|
|
0a045d12bf | ||
|
|
9f3d3db1dd | ||
|
|
a18d56b485 | ||
|
|
2f620af3be | ||
|
|
9aa209c0fe | ||
|
|
2c2f8a68a3 | ||
|
|
7479f9f2a5 | ||
|
|
e15f743f8c | ||
|
|
ec4594a854 | ||
|
|
0ce316d7de | ||
|
|
0b7a26a9b6 | ||
|
|
b66e4a56fd | ||
|
|
0d17198e54 | ||
|
|
fb7912a889 | ||
|
|
4c03012268 | ||
|
|
bf6080cdc4 | ||
|
|
3d57abba75 | ||
|
|
9d3d0712f2 | ||
|
|
30a26f61e4 | ||
|
|
242d99d4d6 | ||
|
|
8151f0369f | ||
|
|
3e25f4a26a | ||
|
|
1affb91b69 | ||
|
|
06cf6ec5f8 |
34
.github/actions/setup-tools/action.yml
vendored
34
.github/actions/setup-tools/action.yml
vendored
@@ -1,34 +0,0 @@
|
||||
name: Setup tools
|
||||
description: Installs all tools necessary for building and testing the project.
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Collect workflow stats
|
||||
uses: catchpoint/workflow-telemetry-action@v2
|
||||
with:
|
||||
comment_on_pr: false
|
||||
env:
|
||||
GITHUB_TOKEN: ""
|
||||
|
||||
- name: Setup mise
|
||||
uses: jdx/mise-action@v2
|
||||
|
||||
- name: Go cache paths
|
||||
id: go-cache-paths
|
||||
shell: sh
|
||||
run: |
|
||||
echo "go-build=$(go env GOCACHE)" >> $GITHUB_OUTPUT
|
||||
echo "go-mod=$(go env GOMODCACHE)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Go build cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{ steps.go-cache-paths.outputs.go-build }}
|
||||
key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }}
|
||||
|
||||
- name: Go mod cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{ steps.go-cache-paths.outputs.go-mod }}
|
||||
key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }}
|
||||
25
.github/dependabot.yml
vendored
25
.github/dependabot.yml
vendored
@@ -1,25 +0,0 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: gomod
|
||||
directory: /
|
||||
schedule:
|
||||
interval: daily
|
||||
groups:
|
||||
pulumi:
|
||||
patterns:
|
||||
- "github.com/pulumi/*"
|
||||
docker:
|
||||
patterns:
|
||||
- "github.com/distribution/*"
|
||||
- "github.com/docker/*"
|
||||
- "github.com/moby/*"
|
||||
security:
|
||||
applies-to: security-updates
|
||||
patterns:
|
||||
- "*"
|
||||
other:
|
||||
patterns:
|
||||
- "*"
|
||||
labels:
|
||||
- dependencies
|
||||
- impact/no-changelog-required
|
||||
195
.github/workflows/build.yml
vendored
195
.github/workflows/build.yml
vendored
@@ -61,28 +61,28 @@ jobs:
|
||||
name: prerequisites
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Install Schema Tools
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/schema-tools
|
||||
- name: Build codegen binaries
|
||||
@@ -101,16 +101,16 @@ jobs:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Comment on PR with Details of Schema Check
|
||||
uses: thollander/actions-comment-pull-request@v2
|
||||
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
||||
with:
|
||||
message: |
|
||||
${{ env.SCHEMA_CHANGES }}
|
||||
comment_tag: schemaCheck
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
comment-tag: schemaCheck
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') &&
|
||||
github.actor == 'pulumi-bot'
|
||||
name: Add label if no breaking changes
|
||||
uses: actions-ecosystem/action-add-labels@v1.1.0
|
||||
uses: actions-ecosystem/action-add-labels@18f1af5e3544586314bbe15c0273249c770b2daf # v1.1.3
|
||||
with:
|
||||
labels: impact/no-changelog-required
|
||||
number: ${{ github.event.issue.number }}
|
||||
@@ -118,7 +118,7 @@ jobs:
|
||||
- name: Build Provider
|
||||
run: make provider
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@v1
|
||||
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
@@ -132,19 +132,19 @@ jobs:
|
||||
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
||||
pulumi-gen-${{ env.PROVIDER}}
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin/provider.tar.gz
|
||||
- name: Test Provider Library
|
||||
run: make test_provider
|
||||
- name: Upload coverage reports to Codecov
|
||||
uses: codecov/codecov-action@v4
|
||||
uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # v5.0.7
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure in building provider prerequisites
|
||||
fields: repo,commit,author,action
|
||||
@@ -164,50 +164,50 @@ jobs:
|
||||
name: build_sdks
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@v4
|
||||
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@v3
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download provider + tfgen binaries
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
@@ -222,7 +222,7 @@ jobs:
|
||||
- name: Build SDK
|
||||
run: make build_${{ matrix.language }}
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@v1
|
||||
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
@@ -234,14 +234,14 @@ jobs:
|
||||
- name: Tar SDK folder
|
||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
|
||||
with:
|
||||
name: ${{ matrix.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
||||
retention-days: 30
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure while building SDKs
|
||||
fields: repo,commit,author,action
|
||||
@@ -265,50 +265,50 @@ jobs:
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@v4
|
||||
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@v3
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download provider + tfgen binaries
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
@@ -319,7 +319,7 @@ jobs:
|
||||
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
||||
-exec chmod +x {} \;
|
||||
- name: Download SDK
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: ${{ matrix.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -338,7 +338,7 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: make install_${{ matrix.language}}_sdk
|
||||
- name: Configure AWS Credentials
|
||||
uses: aws-actions/configure-aws-credentials@v4
|
||||
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-region: ${{ env.AWS_REGION }}
|
||||
@@ -347,7 +347,7 @@ jobs:
|
||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }}
|
||||
- name: Authenticate to Google Cloud
|
||||
uses: google-github-actions/auth@v0
|
||||
uses: google-github-actions/auth@6fc4af4b145ae7821d527454aa9bd537d1f2dc5f # v2.1.7
|
||||
with:
|
||||
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
||||
}}/locations/global/workloadIdentityPools/${{
|
||||
@@ -355,7 +355,7 @@ jobs:
|
||||
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
||||
- name: Setup gcloud auth
|
||||
uses: google-github-actions/setup-gcloud@v2
|
||||
uses: google-github-actions/setup-gcloud@6189d56e4096ee891640bb02ac264be376592d6a # v2.1.2
|
||||
with:
|
||||
install_components: gke-gcloud-auth-plugin
|
||||
- name: Install gotestfmt
|
||||
@@ -367,10 +367,10 @@ jobs:
|
||||
run: >-
|
||||
set -euo pipefail
|
||||
|
||||
cd examples && go test -v -json -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 . 2>&1 | tee /tmp/gotest.log | gotestfmt
|
||||
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure in SDK tests
|
||||
fields: repo,commit,author,action
|
||||
@@ -381,21 +381,21 @@ jobs:
|
||||
name: publish
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Clear GitHub Actions Ubuntu runner disk space
|
||||
uses: jlumbroso/free-disk-space@v1.3.1
|
||||
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
|
||||
with:
|
||||
tool-cache: false
|
||||
dotnet: false
|
||||
@@ -404,13 +404,13 @@ jobs:
|
||||
swap-storage: true
|
||||
large-packages: false
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Configure AWS Credentials
|
||||
uses: aws-actions/configure-aws-credentials@v4
|
||||
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-region: us-east-2
|
||||
@@ -420,7 +420,7 @@ jobs:
|
||||
role-external-id: upload-pulumi-release
|
||||
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
|
||||
- name: Run GoReleaser
|
||||
uses: goreleaser/goreleaser-action@v5
|
||||
uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
|
||||
env:
|
||||
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
||||
with:
|
||||
@@ -428,7 +428,7 @@ jobs:
|
||||
version: latest
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure in publishing binaries
|
||||
fields: repo,commit,author,action
|
||||
@@ -439,46 +439,46 @@ jobs:
|
||||
name: publish_sdk
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- run: echo "ci-scripts" >> .git/info/exclude
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@v4
|
||||
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Download python SDK
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: python-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -486,7 +486,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C
|
||||
${{github.workspace}}/sdk/python
|
||||
- name: Download dotnet SDK
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: dotnet-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -494,7 +494,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C
|
||||
${{github.workspace}}/sdk/dotnet
|
||||
- name: Download nodejs SDK
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: nodejs-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -510,78 +510,29 @@ jobs:
|
||||
PYPI_PUBLISH_ARTIFACTS: all
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure in publishing SDK
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
publish_java_sdk:
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
needs: publish
|
||||
name: publish_java_sdk
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@v3
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download java SDK
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: java-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
- name: Uncompress java SDK
|
||||
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
||||
${{github.workspace}}/sdk/java
|
||||
- name: Publish Java SDK
|
||||
uses: gradle/gradle-build-action@v3
|
||||
env:
|
||||
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
||||
with:
|
||||
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
|
||||
build-root-directory: ./sdk/java
|
||||
gradle-version: 7.4.1
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Disarm go:embed directives to enable linters that compile source code
|
||||
run: git grep -l 'go:embed' -- provider | xargs --no-run-if-empty sed -i
|
||||
's/go:embed/ goembed/g'
|
||||
- name: golangci-lint provider pkg
|
||||
uses: golangci/golangci-lint-action@v4
|
||||
uses: golangci/golangci-lint-action@971e284b6050e8a5849b72094c50ab08da042db8 # v6.1.1
|
||||
with:
|
||||
version: ${{ env.GOLANGCI_LINT_VERSION }}
|
||||
args: -c ../.golangci.yml
|
||||
|
||||
4
.github/workflows/command-dispatch.yml
vendored
4
.github/workflows/command-dispatch.yml
vendored
@@ -53,10 +53,10 @@ jobs:
|
||||
name: command-dispatch-for-testing
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- uses: peter-evans/slash-command-dispatch@v2
|
||||
- uses: peter-evans/slash-command-dispatch@13bc09769d122a64f75aa5037256f6f2d78be8c4 # v4.0.0
|
||||
with:
|
||||
token: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
reaction-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
158
.github/workflows/prerelease.yml
vendored
158
.github/workflows/prerelease.yml
vendored
@@ -53,28 +53,28 @@ jobs:
|
||||
name: prerequisites
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Install Schema Tools
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/schema-tools
|
||||
- name: Build codegen binaries
|
||||
@@ -93,16 +93,16 @@ jobs:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Comment on PR with Details of Schema Check
|
||||
uses: thollander/actions-comment-pull-request@v2
|
||||
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
||||
with:
|
||||
message: |
|
||||
${{ env.SCHEMA_CHANGES }}
|
||||
comment_tag: schemaCheck
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
comment-tag: schemaCheck
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') &&
|
||||
github.actor == 'pulumi-bot'
|
||||
name: Add label if no breaking changes
|
||||
uses: actions-ecosystem/action-add-labels@v1.1.0
|
||||
uses: actions-ecosystem/action-add-labels@18f1af5e3544586314bbe15c0273249c770b2daf # v1.1.3
|
||||
with:
|
||||
labels: impact/no-changelog-required
|
||||
number: ${{ github.event.issue.number }}
|
||||
@@ -110,7 +110,7 @@ jobs:
|
||||
- name: Build Provider
|
||||
run: make provider
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@v1
|
||||
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
@@ -124,19 +124,19 @@ jobs:
|
||||
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
||||
pulumi-gen-${{ env.PROVIDER}}
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin/provider.tar.gz
|
||||
- name: Test Provider Library
|
||||
run: make test_provider
|
||||
- name: Upload coverage reports to Codecov
|
||||
uses: codecov/codecov-action@v4
|
||||
uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # v5.0.7
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure in building provider prerequisites
|
||||
fields: repo,commit,author,action
|
||||
@@ -156,50 +156,50 @@ jobs:
|
||||
name: build_sdks
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@v4
|
||||
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@v3
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download provider + tfgen binaries
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
@@ -214,7 +214,7 @@ jobs:
|
||||
- name: Build SDK
|
||||
run: make build_${{ matrix.language }}
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@v1
|
||||
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
@@ -226,13 +226,13 @@ jobs:
|
||||
- name: Tar SDK folder
|
||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
|
||||
with:
|
||||
name: ${{ matrix.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure while building SDKs
|
||||
fields: repo,commit,author,action
|
||||
@@ -256,50 +256,50 @@ jobs:
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@v4
|
||||
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@v3
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download provider + tfgen binaries
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
@@ -310,7 +310,7 @@ jobs:
|
||||
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
||||
-exec chmod +x {} \;
|
||||
- name: Download SDK
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: ${{ matrix.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -329,7 +329,7 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: make install_${{ matrix.language}}_sdk
|
||||
- name: Configure AWS Credentials
|
||||
uses: aws-actions/configure-aws-credentials@v4
|
||||
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-region: ${{ env.AWS_REGION }}
|
||||
@@ -338,7 +338,7 @@ jobs:
|
||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }}
|
||||
- name: Authenticate to Google Cloud
|
||||
uses: google-github-actions/auth@v0
|
||||
uses: google-github-actions/auth@6fc4af4b145ae7821d527454aa9bd537d1f2dc5f # v2.1.7
|
||||
with:
|
||||
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
||||
}}/locations/global/workloadIdentityPools/${{
|
||||
@@ -346,7 +346,7 @@ jobs:
|
||||
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
||||
- name: Setup gcloud auth
|
||||
uses: google-github-actions/setup-gcloud@v2
|
||||
uses: google-github-actions/setup-gcloud@6189d56e4096ee891640bb02ac264be376592d6a # v2.1.2
|
||||
with:
|
||||
install_components: gke-gcloud-auth-plugin
|
||||
- name: Install gotestfmt
|
||||
@@ -358,10 +358,10 @@ jobs:
|
||||
run: >-
|
||||
set -euo pipefail
|
||||
|
||||
cd examples && go test -v -json -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 . 2>&1 | tee /tmp/gotest.log | gotestfmt
|
||||
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure in SDK tests
|
||||
fields: repo,commit,author,action
|
||||
@@ -372,21 +372,21 @@ jobs:
|
||||
name: publish
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Clear GitHub Actions Ubuntu runner disk space
|
||||
uses: jlumbroso/free-disk-space@v1.3.1
|
||||
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
|
||||
with:
|
||||
tool-cache: false
|
||||
dotnet: false
|
||||
@@ -395,13 +395,13 @@ jobs:
|
||||
swap-storage: true
|
||||
large-packages: false
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Configure AWS Credentials
|
||||
uses: aws-actions/configure-aws-credentials@v4
|
||||
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-region: us-east-2
|
||||
@@ -411,7 +411,7 @@ jobs:
|
||||
role-external-id: upload-pulumi-release
|
||||
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
|
||||
- name: Run GoReleaser
|
||||
uses: goreleaser/goreleaser-action@v5
|
||||
uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
|
||||
env:
|
||||
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
||||
with:
|
||||
@@ -419,7 +419,7 @@ jobs:
|
||||
version: latest
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure in publishing binaries
|
||||
fields: repo,commit,author,action
|
||||
@@ -430,46 +430,46 @@ jobs:
|
||||
name: publish_sdk
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- run: echo "ci-scripts" >> .git/info/exclude
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@v4
|
||||
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Download python SDK
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: python-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -477,7 +477,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C
|
||||
${{github.workspace}}/sdk/python
|
||||
- name: Download dotnet SDK
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: dotnet-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -485,7 +485,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C
|
||||
${{github.workspace}}/sdk/dotnet
|
||||
- name: Download nodejs SDK
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: nodejs-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -501,7 +501,7 @@ jobs:
|
||||
PYPI_PUBLISH_ARTIFACTS: all
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure in publishing SDK
|
||||
fields: repo,commit,author,action
|
||||
@@ -513,37 +513,37 @@ jobs:
|
||||
name: publish_java_sdk
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@v3
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download java SDK
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: java-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -551,7 +551,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
||||
${{github.workspace}}/sdk/java
|
||||
- name: Publish Java SDK
|
||||
uses: gradle/gradle-build-action@v3
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
env:
|
||||
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
||||
with:
|
||||
@@ -564,16 +564,16 @@ jobs:
|
||||
needs: publish_sdk
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Download go SDK
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: go-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
|
||||
6
.github/workflows/pull-request.yml
vendored
6
.github/workflows/pull-request.yml
vendored
@@ -50,15 +50,15 @@ jobs:
|
||||
name: comment-on-pr
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- name: Comment PR
|
||||
uses: thollander/actions-comment-pull-request@v2
|
||||
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
||||
with:
|
||||
message: >
|
||||
PR is now waiting for a maintainer to run the acceptance tests.
|
||||
|
||||
**Note for the maintainer:** To run the acceptance tests, please comment */run-acceptance-tests* on the PR
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
if: github.event.pull_request.head.repo.full_name != github.repository
|
||||
|
||||
160
.github/workflows/release.yml
vendored
160
.github/workflows/release.yml
vendored
@@ -53,28 +53,28 @@ jobs:
|
||||
name: prerequisites
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Install Schema Tools
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/schema-tools
|
||||
- name: Build codegen binaries
|
||||
@@ -93,16 +93,16 @@ jobs:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Comment on PR with Details of Schema Check
|
||||
uses: thollander/actions-comment-pull-request@v2
|
||||
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
||||
with:
|
||||
message: |
|
||||
${{ env.SCHEMA_CHANGES }}
|
||||
comment_tag: schemaCheck
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
comment-tag: schemaCheck
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') &&
|
||||
github.actor == 'pulumi-bot'
|
||||
name: Add label if no breaking changes
|
||||
uses: actions-ecosystem/action-add-labels@v1.1.0
|
||||
uses: actions-ecosystem/action-add-labels@18f1af5e3544586314bbe15c0273249c770b2daf # v1.1.3
|
||||
with:
|
||||
labels: impact/no-changelog-required
|
||||
number: ${{ github.event.issue.number }}
|
||||
@@ -110,7 +110,7 @@ jobs:
|
||||
- name: Build Provider
|
||||
run: make provider
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@v1
|
||||
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
@@ -124,19 +124,19 @@ jobs:
|
||||
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
||||
pulumi-gen-${{ env.PROVIDER}}
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin/provider.tar.gz
|
||||
- name: Test Provider Library
|
||||
run: make test_provider
|
||||
- name: Upload coverage reports to Codecov
|
||||
uses: codecov/codecov-action@v4
|
||||
uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # v5.0.7
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure in building provider prerequisites
|
||||
fields: repo,commit,author,action
|
||||
@@ -156,50 +156,50 @@ jobs:
|
||||
name: build_sdks
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@v4
|
||||
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@v3
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download provider + tfgen binaries
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
@@ -214,7 +214,7 @@ jobs:
|
||||
- name: Build SDK
|
||||
run: make build_${{ matrix.language }}
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@v1
|
||||
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
@@ -226,13 +226,13 @@ jobs:
|
||||
- name: Tar SDK folder
|
||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
|
||||
with:
|
||||
name: ${{ matrix.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure while building SDKs
|
||||
fields: repo,commit,author,action
|
||||
@@ -256,50 +256,50 @@ jobs:
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@v4
|
||||
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@v3
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download provider + tfgen binaries
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
@@ -310,7 +310,7 @@ jobs:
|
||||
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
||||
-exec chmod +x {} \;
|
||||
- name: Download SDK
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: ${{ matrix.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -329,7 +329,7 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: make install_${{ matrix.language}}_sdk
|
||||
- name: Configure AWS Credentials
|
||||
uses: aws-actions/configure-aws-credentials@v4
|
||||
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-region: ${{ env.AWS_REGION }}
|
||||
@@ -338,7 +338,7 @@ jobs:
|
||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }}
|
||||
- name: Authenticate to Google Cloud
|
||||
uses: google-github-actions/auth@v0
|
||||
uses: google-github-actions/auth@6fc4af4b145ae7821d527454aa9bd537d1f2dc5f # v2.1.7
|
||||
with:
|
||||
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
||||
}}/locations/global/workloadIdentityPools/${{
|
||||
@@ -346,7 +346,7 @@ jobs:
|
||||
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
||||
- name: Setup gcloud auth
|
||||
uses: google-github-actions/setup-gcloud@v2
|
||||
uses: google-github-actions/setup-gcloud@6189d56e4096ee891640bb02ac264be376592d6a # v2.1.2
|
||||
with:
|
||||
install_components: gke-gcloud-auth-plugin
|
||||
- name: Install gotestfmt
|
||||
@@ -358,10 +358,10 @@ jobs:
|
||||
run: >-
|
||||
set -euo pipefail
|
||||
|
||||
cd examples && go test -v -json -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 . 2>&1 | tee /tmp/gotest.log | gotestfmt
|
||||
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure in SDK tests
|
||||
fields: repo,commit,author,action
|
||||
@@ -372,21 +372,21 @@ jobs:
|
||||
name: publish
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Clear GitHub Actions Ubuntu runner disk space
|
||||
uses: jlumbroso/free-disk-space@v1.3.1
|
||||
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
|
||||
with:
|
||||
tool-cache: false
|
||||
dotnet: false
|
||||
@@ -395,13 +395,13 @@ jobs:
|
||||
swap-storage: true
|
||||
large-packages: false
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Configure AWS Credentials
|
||||
uses: aws-actions/configure-aws-credentials@v4
|
||||
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-region: us-east-2
|
||||
@@ -411,7 +411,7 @@ jobs:
|
||||
role-external-id: upload-pulumi-release
|
||||
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
|
||||
- name: Run GoReleaser
|
||||
uses: goreleaser/goreleaser-action@v5
|
||||
uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
|
||||
env:
|
||||
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
||||
with:
|
||||
@@ -419,7 +419,7 @@ jobs:
|
||||
version: latest
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure in publishing binaries
|
||||
fields: repo,commit,author,action
|
||||
@@ -430,46 +430,46 @@ jobs:
|
||||
name: publish_sdks
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- run: echo "ci-scripts" >> .git/info/exclude
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@v4
|
||||
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Download python SDK
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: python-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -477,7 +477,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C
|
||||
${{github.workspace}}/sdk/python
|
||||
- name: Download dotnet SDK
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: dotnet-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -485,7 +485,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C
|
||||
${{github.workspace}}/sdk/dotnet
|
||||
- name: Download nodejs SDK
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: nodejs-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -501,7 +501,7 @@ jobs:
|
||||
PYPI_PUBLISH_ARTIFACTS: all
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure in publishing SDK
|
||||
fields: repo,commit,author,action
|
||||
@@ -513,37 +513,37 @@ jobs:
|
||||
name: publish_java_sdk
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@v3
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download java SDK
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: java-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -551,7 +551,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
||||
${{github.workspace}}/sdk/java
|
||||
- name: Publish Java SDK
|
||||
uses: gradle/gradle-build-action@v3
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
env:
|
||||
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
||||
with:
|
||||
@@ -564,16 +564,16 @@ jobs:
|
||||
needs: publish_sdk
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Download go SDK
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: go-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -595,7 +595,7 @@ jobs:
|
||||
needs: publish_go_sdk
|
||||
steps:
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Dispatch Event
|
||||
|
||||
602
.github/workflows/run-acceptance-tests.yml
vendored
602
.github/workflows/run-acceptance-tests.yml
vendored
@@ -4,10 +4,10 @@ name: run-acceptance-tests
|
||||
on:
|
||||
repository_dispatch:
|
||||
types:
|
||||
- run-acceptance-tests-command
|
||||
- run-acceptance-tests-command
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- CHANGELOG.md
|
||||
- CHANGELOG.md
|
||||
workflow_dispatch: {}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
@@ -27,6 +27,13 @@ env:
|
||||
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
||||
GOVERSION: 1.21.x
|
||||
NODEVERSION: 20.x
|
||||
PYTHONVERSION: "3.11"
|
||||
DOTNETVERSION: |
|
||||
6.0.x
|
||||
3.1.301
|
||||
JAVAVERSION: "11"
|
||||
AWS_REGION: us-west-2
|
||||
PULUMI_API: https://api.pulumi-staging.io
|
||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||
@@ -49,251 +56,386 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
name: comment-notification
|
||||
steps:
|
||||
- name: Create URL to the run output
|
||||
id: vars
|
||||
run: echo
|
||||
run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID
|
||||
>> "$GITHUB_OUTPUT"
|
||||
- name: Update with Result
|
||||
uses: peter-evans/create-or-update-comment@v1
|
||||
with:
|
||||
token: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
repository: ${{ github.event.client_payload.github.payload.repository.full_name }}
|
||||
issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
|
||||
body: "Please view the PR build: ${{ steps.vars.outputs.run-url }}"
|
||||
- name: Create URL to the run output
|
||||
id: vars
|
||||
run: echo
|
||||
run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID
|
||||
>> "$GITHUB_OUTPUT"
|
||||
- name: Update with Result
|
||||
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
|
||||
with:
|
||||
token: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
repository: ${{ github.event.client_payload.github.payload.repository.full_name }}
|
||||
issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
|
||||
body: "Please view the PR build: ${{ steps.vars.outputs.run-url }}"
|
||||
if: github.event_name == 'repository_dispatch'
|
||||
prerequisites:
|
||||
runs-on: ubuntu-latest
|
||||
name: prerequisites
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Install Schema Tools
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/schema-tools
|
||||
- name: Build codegen binaries
|
||||
run: make codegen
|
||||
- name: Build Schema
|
||||
run: make generate_schema
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Check Schema is Valid
|
||||
run: >-
|
||||
echo 'SCHEMA_CHANGES<<EOF' >> $GITHUB_ENV
|
||||
|
||||
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV
|
||||
|
||||
echo 'EOF' >> $GITHUB_ENV
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Comment on PR with Details of Schema Check
|
||||
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
||||
with:
|
||||
message: |
|
||||
${{ env.SCHEMA_CHANGES }}
|
||||
comment-tag: schemaCheck
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') &&
|
||||
github.actor == 'pulumi-bot'
|
||||
name: Add label if no breaking changes
|
||||
uses: actions-ecosystem/action-add-labels@18f1af5e3544586314bbe15c0273249c770b2daf # v1.1.3
|
||||
with:
|
||||
labels: impact/no-changelog-required
|
||||
number: ${{ github.event.issue.number }}
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Build Provider
|
||||
run: make provider
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
- run: git status --porcelain
|
||||
- name: Tar provider binaries
|
||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
||||
pulumi-gen-${{ env.PROVIDER}}
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin/provider.tar.gz
|
||||
- name: Test Provider Library
|
||||
run: make test_provider
|
||||
- name: Upload coverage reports to Codecov
|
||||
uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # v5.0.7
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure in building provider prerequisites
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
if: github.event_name == 'repository_dispatch' ||
|
||||
github.event.pull_request.head.repo.full_name == github.repository
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
actions: write # For telemetry.
|
||||
pull-requests: write # For schema comment.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- name: Setup tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Build codegen binaries
|
||||
run: make codegen
|
||||
- name: Build Schema
|
||||
run: make generate_schema
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Check Schema is Valid
|
||||
run: >-
|
||||
echo 'SCHEMA_CHANGES<<EOF' >> $GITHUB_ENV
|
||||
|
||||
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV
|
||||
|
||||
echo 'EOF' >> $GITHUB_ENV
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Comment on PR with Details of Schema Check
|
||||
uses: thollander/actions-comment-pull-request@v2
|
||||
with:
|
||||
message: |
|
||||
${{ env.SCHEMA_CHANGES }}
|
||||
comment_tag: schemaCheck
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- if:
|
||||
contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') &&
|
||||
github.actor == 'pulumi-bot'
|
||||
name: Add label if no breaking changes
|
||||
uses: actions-ecosystem/action-add-labels@v1.1.0
|
||||
with:
|
||||
labels: impact/no-changelog-required
|
||||
number: ${{ github.event.issue.number }}
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Build Provider
|
||||
run: make provider
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@v1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
- run: git status --porcelain
|
||||
- name: Tar provider binaries
|
||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
||||
pulumi-gen-${{ env.PROVIDER}}
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin/provider.tar.gz
|
||||
- name: Test Provider Library
|
||||
run: make test_provider
|
||||
- name: Upload coverage reports to Codecov
|
||||
uses: codecov/codecov-action@v4
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
with:
|
||||
author_name: Failure in building provider prerequisites
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
|
||||
- name: Generate & Build SDK
|
||||
run: mise run sdk
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@v1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
- run: git status --porcelain
|
||||
- name: Tar SDK folder
|
||||
run: tar -zcf sdk.tar.gz -C sdk .
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk.tar.gz
|
||||
retention-days: 30
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
with:
|
||||
author_name: Failure while building SDKs
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
actions: write # For telemetry.
|
||||
needs:
|
||||
- prerequisites
|
||||
build_sdks:
|
||||
needs: prerequisites
|
||||
runs-on: pulumi-ubuntu-8core
|
||||
strategy:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
shard: [0, 1, 2, 3, 4, 5, 6, 7]
|
||||
language:
|
||||
- nodejs
|
||||
- python
|
||||
- dotnet
|
||||
- go
|
||||
- java
|
||||
name: build_sdks
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- name: Setup tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Download provider + tfgen binaries
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
- name: UnTar provider binaries
|
||||
run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
github.workspace}}/bin
|
||||
- name: Restore Binary Permissions
|
||||
run:
|
||||
find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
||||
-exec chmod +x {} \;
|
||||
- name: Download SDK
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: sdk.tar.gz
|
||||
path: ${{ github.workspace}}
|
||||
- name: UnTar SDK folder
|
||||
run: tar -zxf ${{ github.workspace}}/sdk.tar.gz -C ${{github.workspace}}/sdk
|
||||
- name: Update path
|
||||
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
|
||||
- name: Install Node dependencies
|
||||
run: yarn global add typescript
|
||||
- run: dotnet nuget add source ${{ github.workspace }}/nuget
|
||||
- name: Install dependencies
|
||||
run: mise run install
|
||||
- name: Configure AWS Credentials
|
||||
uses: aws-actions/configure-aws-credentials@v4
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-region: ${{ env.AWS_REGION }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
role-duration-seconds: 3600
|
||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }}
|
||||
- name: Authenticate to Google Cloud
|
||||
uses: google-github-actions/auth@v0
|
||||
with:
|
||||
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
||||
}}/locations/global/workloadIdentityPools/${{
|
||||
env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{
|
||||
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
||||
- name: Setup gcloud auth
|
||||
uses: google-github-actions/setup-gcloud@v2
|
||||
with:
|
||||
skip_install: true
|
||||
- name: Shard tests
|
||||
run: mise run "test:examples:shard" -- --total ${{ strategy.job-total }} --index ${{ strategy.job-index }} > go-test
|
||||
- name: Run tests
|
||||
run: mise run "test:examples" $(cat go-test) 2>&1 | tee /tmp/gotest.log | gotestfmt
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@v3
|
||||
with:
|
||||
author_name: Failure in SDK tests
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download provider + tfgen binaries
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
- name: UnTar provider binaries
|
||||
run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
github.workspace}}/bin
|
||||
- name: Restore Binary Permissions
|
||||
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
||||
-exec chmod +x {} \;
|
||||
- name: Generate SDK
|
||||
run: make generate_${{ matrix.language }}
|
||||
- name: Build SDK
|
||||
run: make build_${{ matrix.language }}
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
- run: git status --porcelain
|
||||
- name: Tar SDK folder
|
||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
|
||||
with:
|
||||
name: ${{ matrix.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
||||
retention-days: 30
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure while building SDKs
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
if: github.event_name == 'repository_dispatch' ||
|
||||
github.event.pull_request.head.repo.full_name == github.repository
|
||||
test:
|
||||
runs-on: pulumi-ubuntu-8core
|
||||
needs:
|
||||
- build_sdks
|
||||
strategy:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
language:
|
||||
- nodejs
|
||||
- python
|
||||
- dotnet
|
||||
- go
|
||||
- java
|
||||
name: test
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download provider + tfgen binaries
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
- name: UnTar provider binaries
|
||||
run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
github.workspace}}/bin
|
||||
- name: Restore Binary Permissions
|
||||
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
||||
-exec chmod +x {} \;
|
||||
- name: Download SDK
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: ${{ matrix.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
- name: UnTar SDK folder
|
||||
run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{
|
||||
github.workspace}}/sdk/${{ matrix.language}}
|
||||
- name: Update path
|
||||
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
|
||||
- name: Install Node dependencies
|
||||
run: yarn global add typescript
|
||||
- run: dotnet nuget add source ${{ github.workspace }}/nuget
|
||||
- name: Install Python deps
|
||||
run: |-
|
||||
pip3 install virtualenv==20.0.23
|
||||
pip3 install pipenv
|
||||
- name: Install dependencies
|
||||
run: make install_${{ matrix.language}}_sdk
|
||||
- name: Configure AWS Credentials
|
||||
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-region: ${{ env.AWS_REGION }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
role-duration-seconds: 3600
|
||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }}
|
||||
- name: Authenticate to Google Cloud
|
||||
uses: google-github-actions/auth@6fc4af4b145ae7821d527454aa9bd537d1f2dc5f # v2.1.7
|
||||
with:
|
||||
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
||||
}}/locations/global/workloadIdentityPools/${{
|
||||
env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{
|
||||
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
||||
- name: Setup gcloud auth
|
||||
uses: google-github-actions/setup-gcloud@6189d56e4096ee891640bb02ac264be376592d6a # v2.1.2
|
||||
with:
|
||||
install_components: gke-gcloud-auth-plugin
|
||||
- name: Install gotestfmt
|
||||
uses: GoTestTools/gotestfmt-action@v2
|
||||
with:
|
||||
version: v2.5.0
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Run tests
|
||||
run: >-
|
||||
set -euo pipefail
|
||||
|
||||
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
||||
with:
|
||||
author_name: Failure in SDK tests
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
if: github.event_name == 'repository_dispatch' ||
|
||||
github.event.pull_request.head.repo.full_name == github.repository
|
||||
sentinel:
|
||||
runs-on: ubuntu-latest
|
||||
name: sentinel
|
||||
steps:
|
||||
- name: Mark workflow as successful
|
||||
uses: guibranco/github-status-action-v2@0849440ec82c5fa69b2377725b9b7852a3977e76
|
||||
with:
|
||||
authToken: ${{ secrets.GITHUB_TOKEN }}
|
||||
context: Sentinel
|
||||
state: success
|
||||
description: Sentinel checks passed
|
||||
sha: ${{ github.event.pull_request.head.sha || github.sha }}
|
||||
- name: Mark workflow as successful
|
||||
uses: guibranco/github-status-action-v2@0849440ec82c5fa69b2377725b9b7852a3977e76 # v1.1.13
|
||||
with:
|
||||
authToken: ${{ secrets.GITHUB_TOKEN }}
|
||||
context: Sentinel
|
||||
state: success
|
||||
description: Sentinel checks passed
|
||||
sha: ${{ github.event.pull_request.head.sha || github.sha }}
|
||||
if: github.event_name == 'repository_dispatch' ||
|
||||
github.event.pull_request.head.repo.full_name == github.repository
|
||||
needs:
|
||||
- test
|
||||
- lint
|
||||
- test
|
||||
- lint
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Disarm go:embed directives to enable linters that compile source code
|
||||
run: git grep -l 'go:embed' -- provider | xargs --no-run-if-empty sed -i
|
||||
's/go:embed/ goembed/g'
|
||||
- name: golangci-lint provider pkg
|
||||
uses: golangci/golangci-lint-action@971e284b6050e8a5849b72094c50ab08da042db8 # v6.1.1
|
||||
with:
|
||||
version: ${{ env.GOLANGCI_LINT_VERSION }}
|
||||
args: -c ../.golangci.yml
|
||||
working-directory: provider
|
||||
name: lint
|
||||
if: github.event_name == 'repository_dispatch' ||
|
||||
github.event.pull_request.head.repo.full_name == github.repository
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
actions: write # For telemetry.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- name: Setup tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
- run: make lint
|
||||
|
||||
24
.github/workflows/weekly-pulumi-update.yml
vendored
24
.github/workflows/weekly-pulumi-update.yml
vendored
@@ -51,31 +51,31 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
lfs: true
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@v5
|
||||
uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@v4
|
||||
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Update Pulumi/Pulumi
|
||||
@@ -127,12 +127,10 @@ jobs:
|
||||
- name: Create PR
|
||||
id: create-pr
|
||||
if: steps.gomod.outputs.changes != 0
|
||||
uses: repo-sync/pull-request@v2.6.2
|
||||
with:
|
||||
source_branch: update-pulumi/${{ github.run_id }}-${{ github.run_number }}
|
||||
destination_branch: main
|
||||
pr_title: Automated Pulumi/Pulumi upgrade
|
||||
github_token: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
run: |
|
||||
ver=$(cat .pulumi.version)
|
||||
msg="Automated upgrade: bump pulumi/pulumi to ${ver}"
|
||||
gh pr create -t "$msg" -b "$msg" -B main
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
name: weekly-pulumi-update
|
||||
|
||||
6
.gitignore
vendored
6
.gitignore
vendored
@@ -2,7 +2,6 @@
|
||||
**/bin/
|
||||
**/obj/
|
||||
**/node_modules/
|
||||
**/venv
|
||||
**/.vs
|
||||
**/.idea
|
||||
**/.ionide
|
||||
@@ -19,7 +18,4 @@ sdk/dotnet/version.txt
|
||||
sdk/java/.gradle
|
||||
sdk/java/build/
|
||||
sdk/java/build.gradle
|
||||
|
||||
# Allow local mise overrides.
|
||||
.mise.*.local.toml
|
||||
.mise.local.toml
|
||||
sdk/python/venv
|
||||
|
||||
@@ -16,6 +16,8 @@ builds:
|
||||
ignore: []
|
||||
main: ./cmd/pulumi-resource-docker-build/
|
||||
ldflags:
|
||||
- -s
|
||||
- -w
|
||||
- -X
|
||||
github.com/pulumi/pulumi-docker-build/provider/pkg/version.Version={{.Tag}}
|
||||
- -X github.com/pulumi/pulumi-docker-build/provider.Version={{.Tag}}
|
||||
|
||||
@@ -16,6 +16,8 @@ builds:
|
||||
ignore: []
|
||||
main: ./cmd/pulumi-resource-docker-build/
|
||||
ldflags:
|
||||
- -s
|
||||
- -w
|
||||
- -X
|
||||
github.com/pulumi/pulumi-docker-build/provider/pkg/version.Version={{.Tag}}
|
||||
- -X github.com/pulumi/pulumi-docker-build/provider.Version={{.Tag}}
|
||||
|
||||
133
.mise.toml
133
.mise.toml
@@ -1,133 +0,0 @@
|
||||
[tasks.provider]
|
||||
run = ["make provider"]
|
||||
sources = ["provider/**/*.go", "go.mod"]
|
||||
outputs = ["bin/pulumi-resource-docker-build"]
|
||||
|
||||
# Generate
|
||||
|
||||
[tasks."generate:nodejs"]
|
||||
depends = ["provider"]
|
||||
run = "make generate_nodejs"
|
||||
sources = ["bin/pulumi-resource-docker-build"]
|
||||
outputs = ["sdk/nodejs/**/*.ts"]
|
||||
|
||||
[tasks."generate:python"]
|
||||
run = "make generate_python"
|
||||
depends = ["provider"]
|
||||
sources = ["bin/pulumi-resource-docker-build"]
|
||||
outputs = ["sdk/python/**/*.py"]
|
||||
|
||||
[tasks."generate:dotnet"]
|
||||
depends = ["provider"]
|
||||
run = "make generate_dotnet"
|
||||
sources = ["bin/pulumi-resource-docker-build"]
|
||||
outputs = ["sdk/dotnet/**/*.cs"]
|
||||
|
||||
[tasks."generate:go"]
|
||||
depends = ["provider"]
|
||||
run = "make generate_go"
|
||||
sources = ["bin/pulumi-resource-docker-build"]
|
||||
outputs = ["sdk/go/**/*.go"]
|
||||
|
||||
[tasks."generate:java"]
|
||||
depends = ["provider"]
|
||||
run = "make generate_java"
|
||||
sources = ["bin/pulumi-resource-docker-build"]
|
||||
outputs = ["sdk/java/**/*.java"]
|
||||
|
||||
# Build
|
||||
|
||||
[tasks."build:nodejs"]
|
||||
depends = ["generate:nodejs"]
|
||||
run = "make build_nodejs"
|
||||
sources = ["bin/pulumi-resource-docker-build"]
|
||||
outputs = ["*"]
|
||||
|
||||
[tasks."build:python"]
|
||||
depends = ["generate:python"]
|
||||
run = "make build_python"
|
||||
sources = ["bin/pulumi-resource-docker-build"]
|
||||
outputs = ["*"]
|
||||
|
||||
[tasks."build:dotnet"]
|
||||
depends = ["generate:dotnet"]
|
||||
run = "make build_dotnet"
|
||||
sources = ["bin/pulumi-resource-docker-build"]
|
||||
outputs = ["*"]
|
||||
|
||||
[tasks."build:go"]
|
||||
depends = ["generate:go"]
|
||||
run = "make build_go"
|
||||
sources = ["bin/pulumi-resource-docker-build"]
|
||||
outputs = ["*"]
|
||||
|
||||
[tasks."build:java"]
|
||||
depends = ["generate:java"]
|
||||
run = "make build_java"
|
||||
sources = ["bin/pulumi-resource-docker-build"]
|
||||
outputs = ["*"]
|
||||
|
||||
# TODO: Might be able to link these directly?
|
||||
[tasks."install:dotnet"]
|
||||
run = "make install_dotnet_sdk"
|
||||
|
||||
[tasks."install:nodejs"]
|
||||
run = "make install_nodejs_sdk"
|
||||
|
||||
[tasks.sdk]
|
||||
depends = ["generate:*", "build:*"]
|
||||
|
||||
[tasks.install]
|
||||
depends = ["install:*"]
|
||||
|
||||
[tasks.test]
|
||||
sources = ["**/*.go"]
|
||||
outputs = ["*"]
|
||||
run = "make test_provider"
|
||||
|
||||
[tasks."test:examples"]
|
||||
run = "go test -v -json -cover -timeout 2h -tags=all -parallel 4"
|
||||
|
||||
[tasks."test:examples:shard"]
|
||||
run = "go run github.com/blampe/shard@latest --root ./examples"
|
||||
|
||||
[tasks.schema]
|
||||
run = "pulumi package get-schema bin/pulumi-resource-docker-build | jq 'del(.version)' > provider/cmd/pulumi-resource-docker-build/schema.json"
|
||||
sources = ["bin/pulumi-resource-docker-build"]
|
||||
outputs = ["provider/cmd/pulumi-resource-docker-build/schema.json"]
|
||||
|
||||
[tasks.docs]
|
||||
run = "go generate docs/generate.go"
|
||||
depends = ["schema"]
|
||||
sources = ["docs/yaml/*.yaml"]
|
||||
outputs= ["provider/internal/embed/*.md"]
|
||||
|
||||
# TODO: tasks.examples
|
||||
|
||||
[tools]
|
||||
# Development tooling.
|
||||
go = "latest" # Will read version from go.mod.
|
||||
lefthook = "1.7.12"
|
||||
golangci-lint = "1.58.1"
|
||||
|
||||
# Build and test tools.
|
||||
pulumi = "3.128.0"
|
||||
node = "22"
|
||||
dotnet = "6"
|
||||
python = "3.11.9"
|
||||
java = "temurin-11"
|
||||
gradle = "7.6"
|
||||
"go:github.com/pulumi/schema-tools" = "v0.6.0"
|
||||
"go:github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt" = "v2.5.0"
|
||||
"go:github.com/pulumi/pulumictl/cmd/pulumictl" = "a1b89aaf4299fe5bc78e140fc60eba79088b3dc5" # blampe/replace branch doesn't work?
|
||||
yarn = "1.22.19"
|
||||
gcloud = "455.0.0"
|
||||
|
||||
[env]
|
||||
# TODO(https://github.com/jdx/mise/issues/1898): create = true
|
||||
_.python.venv = { path = "venv", create = false }
|
||||
CGO_ENABLED = "0"
|
||||
|
||||
[settings]
|
||||
experimental = true # Enable Go backend.
|
||||
python_compile = false # Don't build Python from source.
|
||||
@@ -1 +1 @@
|
||||
3.128.0
|
||||
3.136.1
|
||||
|
||||
22
CHANGELOG.md
22
CHANGELOG.md
@@ -1,5 +1,27 @@
|
||||
## Unreleased
|
||||
|
||||
### Added
|
||||
|
||||
- Multiple exports are now allowed if the build daemon is detected to have
|
||||
version 0.13 of Buildkit or newer. (https://github.com/pulumi/pulumi-docker-build/issues/21)
|
||||
|
||||
### Changed
|
||||
|
||||
- Upgraded buildx from 0.16.0 to 0.18.0.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Custom `# syntax=` directives no longer cause validation errors. (https://github.com/pulumi/pulumi-docker-build/issues/300)
|
||||
|
||||
## 0.0.7 (2024-10-16)
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed an issue where registry authentication couldn't be specified on the
|
||||
provider. (https://github.com/pulumi/pulumi-docker-build/issues/262)
|
||||
|
||||
## 0.0.6 (2024-08-13)
|
||||
|
||||
### Fixed
|
||||
|
||||
- Refreshing an `Index` resource will no longer fail if its stored credentials
|
||||
|
||||
53
Makefile
53
Makefile
@@ -17,6 +17,9 @@ WORKING_DIR := $(shell pwd)
|
||||
EXAMPLES_DIR := ${WORKING_DIR}/examples/yaml
|
||||
TESTPARALLELISM := 4
|
||||
|
||||
PULUMI := bin/pulumi
|
||||
GOGLANGCILINT := bin/golangci-lint
|
||||
|
||||
# Override during CI using `make [TARGET] PROVIDER_VERSION=""` or by setting a PROVIDER_VERSION environment variable
|
||||
# Local & branch builds will just used this fixed default version unless specified
|
||||
PROVIDER_VERSION ?= 0.1.0-alpha.0+dev
|
||||
@@ -60,26 +63,38 @@ examples/yaml:
|
||||
rm -rf ${WORKING_DIR}/examples/yaml/app
|
||||
cp -r ${WORKING_DIR}/examples/app ${WORKING_DIR}/examples/yaml/app
|
||||
|
||||
examples/go: bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
examples/go: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
$(call example,go)
|
||||
@git checkout examples/go/go.mod
|
||||
|
||||
examples/nodejs: bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
examples/nodejs: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
$(call example,nodejs)
|
||||
@git checkout examples/nodejs/package.json
|
||||
|
||||
examples/python: bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
examples/python: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
$(call example,python)
|
||||
@git checkout examples/python/requirements.txt
|
||||
|
||||
examples/dotnet: bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
examples/dotnet: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
$(call example,dotnet)
|
||||
@git checkout examples/dotnet/provider-docker-build.csproj
|
||||
|
||||
examples/java: bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
examples/java: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
$(call example,java)
|
||||
@git checkout examples/java/pom.xml
|
||||
|
||||
${PULUMI}: go.sum
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi/pkg/v3/cmd/pulumi
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi-java/pkg/cmd/pulumi-language-java
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi-yaml/cmd/pulumi-converter-yaml
|
||||
|
||||
${GOGLANGCILINT}: go.sum
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint
|
||||
|
||||
define pulumi_login
|
||||
export PULUMI_CONFIG_PASSPHRASE=asdfqwerty1234; \
|
||||
pulumi login --local;
|
||||
@@ -87,7 +102,7 @@ endef
|
||||
|
||||
define example
|
||||
rm -rf ${WORKING_DIR}/examples/$(1)
|
||||
pulumi convert \
|
||||
$(PULUMI) convert \
|
||||
--cwd ${WORKING_DIR}/examples/yaml \
|
||||
--logtostderr \
|
||||
--generate-only \
|
||||
@@ -125,8 +140,8 @@ build:: provider sdk/dotnet sdk/go sdk/nodejs sdk/python sdk/java ${SCHEMA_PATH}
|
||||
only_build:: build
|
||||
|
||||
.PHONY: lint
|
||||
lint:
|
||||
golangci-lint run --fix -c .golangci.yml
|
||||
lint: ${GOGLANGCILINT}
|
||||
${GOGLANGCILINT} run --fix -c .golangci.yml
|
||||
|
||||
install:: install_nodejs_sdk install_dotnet_sdk
|
||||
cp $(WORKING_DIR)/bin/${PROVIDER} ${GOPATH}/bin
|
||||
@@ -180,7 +195,7 @@ bin/${PROVIDER}: $(shell find ./provider -name '*.go') go.mod
|
||||
bin/pulumi-gen-${PACK}: # Required by CI
|
||||
touch bin/pulumi-gen-${PACK}
|
||||
|
||||
go.mod: $(shell find provider -name '*.go')
|
||||
go.mod: $(shell find . -name '*.go')
|
||||
go.sum: go.mod
|
||||
|
||||
sdk: $(shell mkdir -p sdk)
|
||||
@@ -190,9 +205,9 @@ sdk: sdk/python sdk/nodejs sdk/java sdk/python sdk/go sdk/dotnet
|
||||
.PHONY: sdk/*
|
||||
|
||||
sdk/python: TMPDIR := $(shell mktemp -d)
|
||||
sdk/python: bin/${PROVIDER}
|
||||
sdk/python: $(PULUMI) bin/${PROVIDER}
|
||||
rm -rf sdk/python
|
||||
pulumi package gen-sdk bin/$(PROVIDER) --language python -o ${TMPDIR}
|
||||
$(PULUMI) package gen-sdk bin/$(PROVIDER) --language python -o ${TMPDIR}
|
||||
cp README.md ${TMPDIR}/python/
|
||||
cd ${TMPDIR}/python/ && \
|
||||
rm -rf ./bin/ ../python.bin/ && cp -R . ../python.bin && mv ../python.bin ./bin && \
|
||||
@@ -203,9 +218,9 @@ sdk/python: bin/${PROVIDER}
|
||||
mv -f ${TMPDIR}/python ${WORKING_DIR}/sdk/.
|
||||
|
||||
sdk/nodejs: TMPDIR := $(shell mktemp -d)
|
||||
sdk/nodejs: bin/${PROVIDER}
|
||||
sdk/nodejs: $(PULUMI) bin/${PROVIDER}
|
||||
rm -rf sdk/nodejs
|
||||
pulumi package gen-sdk bin/$(PROVIDER) --language nodejs -o ${TMPDIR}
|
||||
$(PULUMI) package gen-sdk bin/$(PROVIDER) --language nodejs -o ${TMPDIR}
|
||||
cp README.md LICENSE ${TMPDIR}/nodejs
|
||||
cd ${TMPDIR}/nodejs/ && \
|
||||
yarn install && \
|
||||
@@ -215,9 +230,9 @@ sdk/nodejs: bin/${PROVIDER}
|
||||
|
||||
sdk/go: TMPDIR := $(shell mktemp -d)
|
||||
sdk/go: PATH := "$(WORKING_DIR)/bin:$(PATH)"
|
||||
sdk/go: bin/${PROVIDER}
|
||||
sdk/go: $(PULUMI) bin/${PROVIDER}
|
||||
rm -rf sdk/go
|
||||
PATH=$(PATH) pulumi package gen-sdk bin/$(PROVIDER) --language go -o ${TMPDIR}
|
||||
PATH=$(PATH) $(PULUMI) package gen-sdk bin/$(PROVIDER) --language go -o ${TMPDIR}
|
||||
cp go.mod ${TMPDIR}/go/dockerbuild/go.mod
|
||||
cd ${TMPDIR}/go/dockerbuild && \
|
||||
go mod edit -module=github.com/pulumi/pulumi-${PACK}/${PACKDIR}/go/dockerbuild && \
|
||||
@@ -225,9 +240,9 @@ sdk/go: bin/${PROVIDER}
|
||||
mv -f ${TMPDIR}/go ${WORKING_DIR}/sdk/go
|
||||
|
||||
sdk/dotnet: TMPDIR := $(shell mktemp -d)
|
||||
sdk/dotnet: bin/${PROVIDER}
|
||||
sdk/dotnet: $(PULUMI) bin/${PROVIDER}
|
||||
rm -rf sdk/dotnet
|
||||
pulumi package gen-sdk bin/${PROVIDER} --language dotnet -o ${TMPDIR}
|
||||
$(PULUMI) package gen-sdk bin/${PROVIDER} --language dotnet -o ${TMPDIR}
|
||||
cd ${TMPDIR}/dotnet/ && \
|
||||
echo "$(VERSION_GENERIC)" > version.txt && \
|
||||
dotnet build
|
||||
@@ -235,9 +250,9 @@ sdk/dotnet: bin/${PROVIDER}
|
||||
|
||||
sdk/java: PACKAGE_VERSION := $(shell pulumictl convert-version --language generic -v "$(VERSION_GENERIC)")
|
||||
sdk/java: TMPDIR := $(shell mktemp -d)
|
||||
sdk/java: bin/${PROVIDER}
|
||||
sdk/java: $(PULUMI) bin/${PROVIDER}
|
||||
rm -rf sdk/java
|
||||
pulumi package gen-sdk --language java bin/${PROVIDER} -o ${TMPDIR}
|
||||
$(PULUMI) package gen-sdk --language java bin/${PROVIDER} -o ${TMPDIR}
|
||||
cd ${TMPDIR}/java/ && gradle --console=plain build
|
||||
mv -f ${TMPDIR}/java ${WORKING_DIR}/sdk/.
|
||||
|
||||
|
||||
204
bin/pulumi-language-python-exec
Executable file
204
bin/pulumi-language-python-exec
Executable file
@@ -0,0 +1,204 @@
|
||||
#!/usr/bin/env python
|
||||
# Copyright 2016-2018, Pulumi Corporation. All rights reserved.
|
||||
|
||||
import argparse
|
||||
import asyncio
|
||||
from typing import Optional
|
||||
import logging
|
||||
import os
|
||||
import sys
|
||||
import traceback
|
||||
import runpy
|
||||
from concurrent.futures import ThreadPoolExecutor
|
||||
|
||||
# The user might not have installed Pulumi yet in their environment - provide a high-quality error message in that case.
|
||||
try:
|
||||
import pulumi
|
||||
import pulumi.runtime
|
||||
except ImportError:
|
||||
# For whatever reason, sys.stderr.write is not picked up by the engine as a message, but 'print' is. The Python
|
||||
# langhost automatically flushes stdout and stderr on shutdown, so we don't need to do it here - just trust that
|
||||
# Python does the sane thing when printing to stderr.
|
||||
print(traceback.format_exc(), file=sys.stderr)
|
||||
print("""
|
||||
It looks like the Pulumi SDK has not been installed. Have you run pip install?
|
||||
If you are running in a virtualenv, you must run pip install -r requirements.txt from inside the virtualenv.""", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
# use exit code 32 to signal to the language host that an error message was displayed to the user
|
||||
PYTHON_PROCESS_EXITED_AFTER_SHOWING_USER_ACTIONABLE_MESSAGE_CODE = 32
|
||||
|
||||
def get_abs_module_path(mod_path):
|
||||
path, ext = os.path.splitext(mod_path)
|
||||
if not ext:
|
||||
path = os.path.join(path, '__main__')
|
||||
return os.path.abspath(path)
|
||||
|
||||
|
||||
def _get_user_stacktrace(user_program_abspath: str) -> str:
|
||||
'''grabs the current stacktrace and truncates it to show the only stacks pertaining to a user's program'''
|
||||
tb = traceback.extract_tb(sys.exc_info()[2])
|
||||
|
||||
for frame_index, frame in enumerate(tb):
|
||||
# loop over stack frames until we reach the main program
|
||||
# then return the traceback truncated to the user's code
|
||||
cur_module = frame[0]
|
||||
if get_abs_module_path(user_program_abspath) == get_abs_module_path(cur_module):
|
||||
# we have detected the start of a user's stack trace
|
||||
remaining_frames = len(tb)-frame_index
|
||||
|
||||
# include remaining frames from the bottom by negating
|
||||
return traceback.format_exc(limit=-remaining_frames)
|
||||
|
||||
# we did not detect a __main__ program, return normal traceback
|
||||
return traceback.format_exc()
|
||||
|
||||
def _set_default_executor(loop, parallelism: Optional[int]):
|
||||
'''configure this event loop to respect the settings provided.'''
|
||||
if parallelism is None:
|
||||
return
|
||||
parallelism = max(parallelism, 1)
|
||||
exec = ThreadPoolExecutor(max_workers=parallelism)
|
||||
loop.set_default_executor(exec)
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Parse the arguments, program name, and optional arguments.
|
||||
ap = argparse.ArgumentParser(description='Execute a Pulumi Python program')
|
||||
ap.add_argument('--project', help='Set the project name')
|
||||
ap.add_argument('--stack', help='Set the stack name')
|
||||
ap.add_argument('--parallel', help='Run P resource operations in parallel (default=none)')
|
||||
ap.add_argument('--dry_run', help='Simulate resource changes, but without making them')
|
||||
ap.add_argument('--pwd', help='Change the working directory before running the program')
|
||||
ap.add_argument('--monitor', help='An RPC address for the resource monitor to connect to')
|
||||
ap.add_argument('--engine', help='An RPC address for the engine to connect to')
|
||||
ap.add_argument('--tracing', help='A Zipkin-compatible endpoint to send tracing data to')
|
||||
ap.add_argument('--organization', help='Set the organization name')
|
||||
ap.add_argument('PROGRAM', help='The Python program to run')
|
||||
ap.add_argument('ARGS', help='Arguments to pass to the program', nargs='*')
|
||||
args = ap.parse_args()
|
||||
|
||||
# If any config variables are present, parse and set them, so subsequent accesses are fast.
|
||||
config_env = pulumi.runtime.get_config_env()
|
||||
if hasattr(pulumi.runtime, "get_config_secret_keys_env") and hasattr(pulumi.runtime, "set_all_config"):
|
||||
# If the pulumi SDK has `get_config_secret_keys_env` and `set_all_config`, use them
|
||||
# to set the config and secret keys.
|
||||
config_secret_keys_env = pulumi.runtime.get_config_secret_keys_env()
|
||||
pulumi.runtime.set_all_config(config_env, config_secret_keys_env)
|
||||
else:
|
||||
# Otherwise, fallback to setting individual config values.
|
||||
for k, v in config_env.items():
|
||||
pulumi.runtime.set_config(k, v)
|
||||
|
||||
# Configure the runtime so that the user program hooks up to Pulumi as appropriate.
|
||||
# New versions of pulumi python support setting organization, old versions do not
|
||||
try:
|
||||
settings = pulumi.runtime.Settings(
|
||||
monitor=args.monitor,
|
||||
engine=args.engine,
|
||||
project=args.project,
|
||||
stack=args.stack,
|
||||
parallel=int(args.parallel),
|
||||
dry_run=args.dry_run == "true",
|
||||
organization=args.organization,
|
||||
)
|
||||
except TypeError:
|
||||
settings = pulumi.runtime.Settings(
|
||||
monitor=args.monitor,
|
||||
engine=args.engine,
|
||||
project=args.project,
|
||||
stack=args.stack,
|
||||
parallel=int(args.parallel),
|
||||
dry_run=args.dry_run == "true"
|
||||
)
|
||||
|
||||
pulumi.runtime.configure(settings)
|
||||
|
||||
# Finally, swap in the args, chdir if needed, and run the program as if it had been executed directly.
|
||||
sys.argv = [args.PROGRAM] + args.ARGS
|
||||
if args.pwd is not None:
|
||||
os.chdir(args.pwd)
|
||||
|
||||
successful = False
|
||||
|
||||
try:
|
||||
# The docs for get_running_loop are somewhat misleading because they state:
|
||||
# This function can only be called from a coroutine or a callback. However, if the function is
|
||||
# called from outside a coroutine or callback (the standard case when running `pulumi up`), the function
|
||||
# raises a RuntimeError as expected and falls through to the exception clause below.
|
||||
loop = asyncio.get_running_loop()
|
||||
except RuntimeError:
|
||||
loop = asyncio.new_event_loop()
|
||||
asyncio.set_event_loop(loop)
|
||||
|
||||
# Configure the event loop to respect the parallelism value provided as input.
|
||||
_set_default_executor(loop, settings.parallel)
|
||||
|
||||
# We are (unfortunately) suppressing the log output of asyncio to avoid showing to users some of the bad things we
|
||||
# do in our programming model.
|
||||
#
|
||||
# Fundamentally, Pulumi is a way for users to build asynchronous dataflow graphs that, as their deployments
|
||||
# progress, resolve naturally and eventually result in the complete resolution of the graph. If one node in the
|
||||
# graph fails (i.e. a resource fails to create, there's an exception in an apply, etc.), part of the graph remains
|
||||
# unevaluated at the time that we exit.
|
||||
#
|
||||
# asyncio abhors this. It gets very upset if the process terminates without having observed every future that we
|
||||
# have resolved. If we are terminating abnormally, it is highly likely that we are not going to observe every single
|
||||
# future that we have created. Furthermore, it's *harmless* to do this - asyncio logs errors because it thinks it
|
||||
# needs to tell users that they're doing bad things (which, to their credit, they are), but we are doing this
|
||||
# deliberately.
|
||||
#
|
||||
# In order to paper over this for our users, we simply turn off the logger for asyncio. Users won't see any asyncio
|
||||
# error messages, but if they stick to the Pulumi programming model, they wouldn't be seeing any anyway.
|
||||
logging.getLogger("asyncio").setLevel(logging.CRITICAL)
|
||||
exit_code = 1
|
||||
try:
|
||||
# record the location of the user's program to return user tracebacks
|
||||
user_program_abspath = os.path.abspath(args.PROGRAM)
|
||||
def run():
|
||||
try:
|
||||
runpy.run_path(args.PROGRAM, run_name='__main__')
|
||||
except ImportError as e:
|
||||
def fix_module_file(m: str) -> str:
|
||||
# Work around python 11 reporting "<frozen runpy>" rather
|
||||
# than runpy.__file__ in the traceback.
|
||||
return runpy.__file__ if m == "<frozen runpy>" else m
|
||||
|
||||
# detect if the main pulumi python program does not exist
|
||||
stack_modules = [fix_module_file(f.filename) for f in traceback.extract_tb(e.__traceback__)]
|
||||
unique_modules = set(module for module in stack_modules)
|
||||
last_module_name = stack_modules[-1]
|
||||
|
||||
# we identify a missing program error if
|
||||
# 1. the only modules in the stack trace are
|
||||
# - `pulumi-language-python-exec`
|
||||
# - `runpy`
|
||||
# 2. the last function in the stack trace is in the `runpy` module
|
||||
if unique_modules == {
|
||||
__file__, # the language runtime itself
|
||||
runpy.__file__,
|
||||
} and last_module_name == runpy.__file__ :
|
||||
# this error will only be hit when the user provides a directory
|
||||
# the engine has a check to determine if the `main` file exists and will fail early
|
||||
|
||||
# if a language runtime receives a directory, it's the language's responsibility to determine
|
||||
# whether the provided directory has a pulumi program
|
||||
pulumi.log.error(f"unable to find main python program `__main__.py` in `{user_program_abspath}`")
|
||||
sys.exit(PYTHON_PROCESS_EXITED_AFTER_SHOWING_USER_ACTIONABLE_MESSAGE_CODE)
|
||||
else:
|
||||
raise e
|
||||
|
||||
coro = pulumi.runtime.run_in_stack(run)
|
||||
loop.run_until_complete(coro)
|
||||
exit_code = 0
|
||||
except pulumi.RunError as e:
|
||||
pulumi.log.error(str(e))
|
||||
except Exception:
|
||||
error_msg = "Program failed with an unhandled exception:\n" + _get_user_stacktrace(user_program_abspath)
|
||||
pulumi.log.error(error_msg)
|
||||
exit_code = PYTHON_PROCESS_EXITED_AFTER_SHOWING_USER_ACTIONABLE_MESSAGE_CODE
|
||||
finally:
|
||||
loop.close()
|
||||
sys.stdout.flush()
|
||||
sys.stderr.flush()
|
||||
|
||||
sys.exit(exit_code)
|
||||
@@ -6,7 +6,7 @@ toolchain go1.21.9
|
||||
|
||||
require (
|
||||
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.0-20240425180359-26c144c916b7
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.128.0
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.136.1
|
||||
)
|
||||
|
||||
require (
|
||||
@@ -60,7 +60,7 @@ require (
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/pkg/term v1.1.0 // indirect
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
||||
github.com/pulumi/esc v0.9.1 // indirect
|
||||
github.com/pulumi/esc v0.10.0 // indirect
|
||||
github.com/rivo/uniseg v0.4.4 // indirect
|
||||
github.com/rogpeppe/go-internal v1.12.0 // indirect
|
||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
||||
@@ -71,19 +71,18 @@ require (
|
||||
github.com/spf13/cobra v1.8.0 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
|
||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect
|
||||
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
|
||||
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
|
||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||
github.com/zclconf/go-cty v1.14.1 // indirect
|
||||
go.uber.org/atomic v1.10.0 // indirect
|
||||
golang.org/x/crypto v0.24.0 // indirect
|
||||
golang.org/x/crypto v0.25.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect
|
||||
golang.org/x/mod v0.18.0 // indirect
|
||||
golang.org/x/net v0.26.0 // indirect
|
||||
golang.org/x/net v0.27.0 // indirect
|
||||
golang.org/x/sync v0.7.0 // indirect
|
||||
golang.org/x/sys v0.21.0 // indirect
|
||||
golang.org/x/term v0.21.0 // indirect
|
||||
golang.org/x/sys v0.22.0 // indirect
|
||||
golang.org/x/term v0.22.0 // indirect
|
||||
golang.org/x/text v0.16.0 // indirect
|
||||
golang.org/x/tools v0.22.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 // indirect
|
||||
|
||||
@@ -150,12 +150,12 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
|
||||
github.com/pmezard/go-difflib v1.0.0/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/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
|
||||
github.com/pulumi/esc v0.9.1 h1:HH5eEv8sgyxSpY5a8yePyqFXzA8cvBvapfH8457+mIs=
|
||||
github.com/pulumi/esc v0.9.1/go.mod h1:oEJ6bOsjYlQUpjf70GiX+CXn3VBmpwFDxUTlmtUN84c=
|
||||
github.com/pulumi/esc v0.10.0 h1:jzBKzkLVW0mePeanDRfqSQoCJ5yrkux0jIwAkUxpRKE=
|
||||
github.com/pulumi/esc v0.10.0/go.mod h1:2Bfa+FWj/xl8CKqRTWbWgDX0SOD4opdQgvYSURTGK2c=
|
||||
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.0-20240425180359-26c144c916b7 h1:elp7Ar01zvIJtRQv+megjeGSfpxxzPYyKBGfDDtWFBA=
|
||||
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.0-20240425180359-26c144c916b7/go.mod h1:48lEA1mq2tRC4SfASAJmLYG1hRWM5sP5VPFeoZEM54U=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.128.0 h1:5VPFfygxt6rva0bEYVQZXxsGAo2/D1wsb9erGOtXxzk=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.128.0/go.mod h1:p1U24en3zt51agx+WlNboSOV8eLlPWYAkxMzVEXKbnY=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.136.1 h1:VJWTgdBrLvvzIkMbGq/epNEfT65P9gTvw14UF/I7hTI=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.136.1/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI=
|
||||
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
|
||||
@@ -189,8 +189,6 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT
|
||||
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U=
|
||||
github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8=
|
||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 h1:X9dsIWPuuEJlPX//UmRKophhOKCGXc46RVIGuttks68=
|
||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7/go.mod h1:UxoP3EypF8JfGEjAII8jx1q8rQyDnX8qdTCs/UQBVIE=
|
||||
github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o=
|
||||
github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
|
||||
github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg=
|
||||
@@ -211,8 +209,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
|
||||
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
||||
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
||||
golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI=
|
||||
golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
|
||||
golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30=
|
||||
golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M=
|
||||
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM=
|
||||
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI=
|
||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
@@ -234,8 +232,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
|
||||
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
|
||||
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
||||
golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
|
||||
golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
|
||||
golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys=
|
||||
golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE=
|
||||
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-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
@@ -263,15 +261,15 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
|
||||
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI=
|
||||
golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
||||
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
||||
golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA=
|
||||
golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
|
||||
golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk=
|
||||
golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4=
|
||||
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.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
|
||||
@@ -147,6 +147,18 @@ func TestCaching(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestConfig(t *testing.T) {
|
||||
cwd, err := os.Getwd()
|
||||
require.NoError(t, err)
|
||||
|
||||
test := integration.ProgramTestOptions{
|
||||
Dir: path.Join(cwd, "tests", "config"),
|
||||
Dependencies: []string{"@pulumi/docker-build"},
|
||||
}
|
||||
|
||||
integration.ProgramTest(t, &test)
|
||||
}
|
||||
|
||||
type ECR struct {
|
||||
address string
|
||||
username string
|
||||
|
||||
3
examples/tests/config/Pulumi.yaml
Normal file
3
examples/tests/config/Pulumi.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
name: test-buildx-config
|
||||
runtime: nodejs
|
||||
description: A minimal TypeScript Pulumi program
|
||||
5
examples/tests/config/index.ts
Normal file
5
examples/tests/config/index.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
import * as buildx from "@pulumi/docker-build";
|
||||
|
||||
new buildx.Provider("with-structured-config", {
|
||||
registries: [{ username: "foo", password: "bar", address: "docker.io" }],
|
||||
});
|
||||
9
examples/tests/config/package.json
Normal file
9
examples/tests/config/package.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "test-buildx-caching",
|
||||
"devDependencies": {
|
||||
"@types/node": "^20.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@pulumi/pulumi": "^3.128.0"
|
||||
}
|
||||
}
|
||||
433
go.mod
433
go.mod
@@ -1,104 +1,163 @@
|
||||
module github.com/pulumi/pulumi-docker-build
|
||||
|
||||
go 1.21.7
|
||||
go 1.22.0
|
||||
|
||||
toolchain go1.22.6
|
||||
|
||||
require (
|
||||
github.com/aws/aws-sdk-go v1.54.18
|
||||
github.com/aws/aws-sdk-go v1.55.5
|
||||
github.com/blang/semver v3.5.1+incompatible
|
||||
github.com/distribution/reference v0.6.0
|
||||
github.com/docker/buildx v0.16.0
|
||||
github.com/docker/cli v27.0.3+incompatible
|
||||
github.com/docker/docker v27.1.1+incompatible
|
||||
github.com/moby/buildkit v0.15.0
|
||||
github.com/docker/buildx v0.18.0
|
||||
github.com/docker/cli v27.4.0-rc.2+incompatible
|
||||
github.com/docker/docker v27.4.0-rc.2+incompatible
|
||||
github.com/golangci/golangci-lint v1.59.1
|
||||
github.com/moby/buildkit v0.18.1
|
||||
github.com/moby/patternmatcher v0.6.0
|
||||
github.com/muesli/reflow v0.3.0
|
||||
github.com/otiai10/copy v1.14.0
|
||||
github.com/pulumi/providertest v0.0.13
|
||||
github.com/pulumi/pulumi-go-provider v0.21.0
|
||||
github.com/pulumi/pulumi-java/pkg v0.13.0
|
||||
github.com/pulumi/pulumi/pkg/v3 v3.128.0
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.128.0
|
||||
github.com/pulumi/providertest v0.1.3
|
||||
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet v0.0.0-20241204093051-ef54328d7bfc
|
||||
github.com/pulumi/pulumi-go-provider v0.23.0
|
||||
github.com/pulumi/pulumi-java/pkg v0.18.0
|
||||
github.com/pulumi/pulumi-yaml v1.12.0
|
||||
github.com/pulumi/pulumi/pkg/v3 v3.142.0
|
||||
github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20241126145446-1837a707182a
|
||||
github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20241126145446-1837a707182a
|
||||
github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20241126145446-1837a707182a
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.142.0
|
||||
github.com/regclient/regclient v0.7.1
|
||||
github.com/sirupsen/logrus v1.9.3
|
||||
github.com/spf13/afero v1.11.0
|
||||
github.com/stretchr/testify v1.9.0
|
||||
github.com/theupdateframework/notary v0.7.0
|
||||
github.com/tonistiigi/fsutil v0.0.0-20240424095704-91a3fc46842c
|
||||
go.uber.org/mock v0.4.0
|
||||
golang.org/x/crypto v0.25.0
|
||||
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8
|
||||
google.golang.org/protobuf v1.34.2
|
||||
github.com/tonistiigi/fsutil v0.0.0-20241121093142-31cf1f437184
|
||||
go.opentelemetry.io/otel/metric v1.29.0
|
||||
go.opentelemetry.io/otel/sdk v1.29.0
|
||||
go.opentelemetry.io/otel/trace v1.29.0
|
||||
go.uber.org/mock v0.5.0
|
||||
golang.org/x/crypto v0.27.0
|
||||
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0
|
||||
google.golang.org/protobuf v1.35.1
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
)
|
||||
|
||||
require (
|
||||
cloud.google.com/go v0.112.1 // indirect
|
||||
cloud.google.com/go/compute v1.25.1 // indirect
|
||||
cloud.google.com/go/compute/metadata v0.2.3 // indirect
|
||||
cloud.google.com/go/iam v1.1.6 // indirect
|
||||
cloud.google.com/go/kms v1.15.7 // indirect
|
||||
cloud.google.com/go/logging v1.9.0 // indirect
|
||||
cloud.google.com/go/longrunning v0.5.5 // indirect
|
||||
cloud.google.com/go/storage v1.39.1 // indirect
|
||||
dario.cat/mergo v1.0.0 // indirect
|
||||
4d63.com/gocheckcompilerdirectives v1.2.1 // indirect
|
||||
4d63.com/gochecknoglobals v0.2.1 // indirect
|
||||
cloud.google.com/go v0.115.1 // indirect
|
||||
cloud.google.com/go/auth v0.9.3 // indirect
|
||||
cloud.google.com/go/auth/oauth2adapt v0.2.4 // indirect
|
||||
cloud.google.com/go/compute/metadata v0.5.0 // indirect
|
||||
cloud.google.com/go/iam v1.2.0 // indirect
|
||||
cloud.google.com/go/kms v1.19.0 // indirect
|
||||
cloud.google.com/go/logging v1.11.0 // indirect
|
||||
cloud.google.com/go/longrunning v0.6.0 // indirect
|
||||
cloud.google.com/go/storage v1.43.0 // indirect
|
||||
dario.cat/mergo v1.0.1 // indirect
|
||||
github.com/4meepo/tagalign v1.3.4 // indirect
|
||||
github.com/Abirdcfly/dupword v0.0.14 // indirect
|
||||
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 // indirect
|
||||
github.com/AlecAivazis/survey/v2 v2.3.7 // indirect
|
||||
github.com/Antonboom/errname v0.1.13 // indirect
|
||||
github.com/Antonboom/nilnil v0.1.9 // indirect
|
||||
github.com/Antonboom/testifylint v1.3.1 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.3.2 // indirect
|
||||
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
|
||||
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
|
||||
github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect
|
||||
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect
|
||||
github.com/BurntSushi/toml v1.4.0 // indirect
|
||||
github.com/Crocmagnon/fatcontext v0.2.2 // indirect
|
||||
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect
|
||||
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0 // indirect
|
||||
github.com/Masterminds/semver/v3 v3.2.1 // indirect
|
||||
github.com/Microsoft/go-winio v0.6.2 // indirect
|
||||
github.com/OpenPeeDeeP/depguard/v2 v2.2.0 // indirect
|
||||
github.com/ProtonMail/go-crypto v1.0.0 // indirect
|
||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect
|
||||
github.com/agext/levenshtein v1.2.3 // indirect
|
||||
github.com/alecthomas/chroma v0.10.0 // indirect
|
||||
github.com/alecthomas/chroma/v2 v2.13.0 // indirect
|
||||
github.com/alecthomas/go-check-sumtype v0.1.4 // indirect
|
||||
github.com/alexkohler/nakedret/v2 v2.0.4 // indirect
|
||||
github.com/alexkohler/prealloc v1.0.0 // indirect
|
||||
github.com/alingse/asasalint v0.0.11 // indirect
|
||||
github.com/apparentlymart/go-cidr v1.1.0 // indirect
|
||||
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
||||
github.com/ashanbrown/forbidigo v1.6.0 // indirect
|
||||
github.com/ashanbrown/makezero v1.1.1 // indirect
|
||||
github.com/atotto/clipboard v0.1.4 // indirect
|
||||
github.com/aws/aws-sdk-go-v2 v1.26.1 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/config v1.27.11 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.17.11 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/kms v1.30.1 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.20.5 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 // indirect
|
||||
github.com/aws/smithy-go v1.20.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2 v1.30.5 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/config v1.27.33 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.17.32 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.13 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.10 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.17 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.17 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.19 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/kms v1.35.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.58.3 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.22.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.30.7 // indirect
|
||||
github.com/aws/smithy-go v1.20.4 // indirect
|
||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
||||
github.com/aymerick/douceur v0.2.0 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
github.com/bkielbasa/cyclop v1.2.1 // indirect
|
||||
github.com/blizzy78/varnamelen v0.8.0 // indirect
|
||||
github.com/bombsimon/wsl/v4 v4.2.1 // indirect
|
||||
github.com/breml/bidichk v0.2.7 // indirect
|
||||
github.com/breml/errchkjson v0.3.6 // indirect
|
||||
github.com/butuzov/ireturn v0.3.0 // indirect
|
||||
github.com/butuzov/mirror v1.2.0 // indirect
|
||||
github.com/catenacyber/perfsprint v0.7.1 // indirect
|
||||
github.com/ccojocar/zxcvbn-go v1.0.2 // indirect
|
||||
github.com/cenkalti/backoff/v3 v3.2.2 // indirect
|
||||
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||
github.com/charmbracelet/bubbles v0.18.0 // indirect
|
||||
github.com/charmbracelet/bubbletea v0.26.4 // indirect
|
||||
github.com/charmbracelet/lipgloss v0.11.0 // indirect
|
||||
github.com/charmbracelet/x/ansi v0.1.2 // indirect
|
||||
github.com/charmbracelet/x/input v0.1.0 // indirect
|
||||
github.com/charmbracelet/x/term v0.1.1 // indirect
|
||||
github.com/charmbracelet/x/windows v0.1.0 // indirect
|
||||
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
||||
github.com/charithe/durationcheck v0.0.10 // indirect
|
||||
github.com/charmbracelet/bubbles v0.20.0 // indirect
|
||||
github.com/charmbracelet/bubbletea v1.1.0 // indirect
|
||||
github.com/charmbracelet/glamour v0.6.0 // indirect
|
||||
github.com/charmbracelet/lipgloss v0.13.0 // indirect
|
||||
github.com/charmbracelet/x/ansi v0.2.3 // indirect
|
||||
github.com/charmbracelet/x/term v0.2.0 // indirect
|
||||
github.com/chavacava/garif v0.1.0 // indirect
|
||||
github.com/cheggaaa/pb v1.0.29 // indirect
|
||||
github.com/cloudflare/circl v1.3.8 // indirect
|
||||
github.com/compose-spec/compose-go/v2 v2.1.3 // indirect
|
||||
github.com/ckaznocha/intrange v0.1.2 // indirect
|
||||
github.com/cloudflare/circl v1.4.0 // indirect
|
||||
github.com/compose-spec/compose-go/v2 v2.4.1 // indirect
|
||||
github.com/containerd/console v1.0.4 // indirect
|
||||
github.com/containerd/containerd v1.7.19 // indirect
|
||||
github.com/containerd/containerd v1.7.24 // indirect
|
||||
github.com/containerd/containerd/api v1.7.19 // indirect
|
||||
github.com/containerd/continuity v0.4.3 // indirect
|
||||
github.com/containerd/errdefs v0.1.0 // indirect
|
||||
github.com/containerd/continuity v0.4.5 // indirect
|
||||
github.com/containerd/errdefs v0.3.0 // indirect
|
||||
github.com/containerd/log v0.1.0 // indirect
|
||||
github.com/containerd/platforms v0.2.1 // indirect
|
||||
github.com/containerd/ttrpc v1.2.5 // indirect
|
||||
github.com/containerd/typeurl/v2 v2.1.1 // indirect
|
||||
github.com/cyphar/filepath-securejoin v0.2.5 // indirect
|
||||
github.com/containerd/typeurl/v2 v2.2.3 // indirect
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.5 // indirect
|
||||
github.com/curioswitch/go-reassign v0.2.0 // indirect
|
||||
github.com/cyphar/filepath-securejoin v0.3.1 // indirect
|
||||
github.com/daixiang0/gci v0.13.4 // indirect
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/deckarep/golang-set/v2 v2.5.0 // indirect
|
||||
github.com/deckarep/golang-set/v2 v2.6.0 // indirect
|
||||
github.com/denis-tingaikin/go-header v0.5.0 // indirect
|
||||
github.com/djherbis/times v1.6.0 // indirect
|
||||
github.com/dlclark/regexp2 v1.11.0 // indirect
|
||||
github.com/docker/cli-docs-tool v0.8.0 // indirect
|
||||
github.com/docker/distribution v2.8.3+incompatible // indirect
|
||||
github.com/docker/docker-credential-helpers v0.8.2 // indirect
|
||||
@@ -107,45 +166,77 @@ require (
|
||||
github.com/docker/go-metrics v0.0.1 // indirect
|
||||
github.com/docker/go-units v0.5.0 // indirect
|
||||
github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 // indirect
|
||||
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||
github.com/edsrzf/mmap-go v1.1.0 // indirect
|
||||
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
|
||||
github.com/emirpasic/gods v1.18.1 // indirect
|
||||
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
|
||||
github.com/erikgeiser/promptkit v0.9.0 // indirect
|
||||
github.com/ettle/strcase v0.2.0 // indirect
|
||||
github.com/fatih/color v1.17.0 // indirect
|
||||
github.com/fatih/structtag v1.2.0 // indirect
|
||||
github.com/felixge/httpsnoop v1.0.4 // indirect
|
||||
github.com/firefart/nonamedreturns v1.0.5 // indirect
|
||||
github.com/fsnotify/fsnotify v1.7.0 // indirect
|
||||
github.com/fvbommel/sortorder v1.1.0 // indirect
|
||||
github.com/fzipp/gocyclo v0.6.0 // indirect
|
||||
github.com/ghostiam/protogetter v0.3.6 // indirect
|
||||
github.com/go-critic/go-critic v0.11.4 // indirect
|
||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
||||
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
||||
github.com/go-git/go-git/v5 v5.12.0 // indirect
|
||||
github.com/go-jose/go-jose/v3 v3.0.3 // indirect
|
||||
github.com/go-logr/logr v1.4.1 // indirect
|
||||
github.com/go-jose/go-jose/v4 v4.0.4 // indirect
|
||||
github.com/go-logr/logr v1.4.2 // indirect
|
||||
github.com/go-logr/stdr v1.2.2 // indirect
|
||||
github.com/go-ole/go-ole v1.2.6 // indirect
|
||||
github.com/go-openapi/jsonpointer v0.19.6 // indirect
|
||||
github.com/go-openapi/jsonreference v0.20.2 // indirect
|
||||
github.com/go-openapi/swag v0.22.3 // indirect
|
||||
github.com/go-toolsmith/astcast v1.1.0 // indirect
|
||||
github.com/go-toolsmith/astcopy v1.1.0 // indirect
|
||||
github.com/go-toolsmith/astequal v1.2.0 // indirect
|
||||
github.com/go-toolsmith/astfmt v1.1.0 // indirect
|
||||
github.com/go-toolsmith/astp v1.1.0 // indirect
|
||||
github.com/go-toolsmith/strparse v1.1.0 // indirect
|
||||
github.com/go-toolsmith/typep v1.1.0 // indirect
|
||||
github.com/go-viper/mapstructure/v2 v2.0.0 // indirect
|
||||
github.com/gofrs/flock v0.12.0 // indirect
|
||||
github.com/gofrs/uuid v4.2.0+incompatible // indirect
|
||||
github.com/gogo/googleapis v1.4.1 // indirect
|
||||
github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect
|
||||
github.com/gobwas/glob v0.2.3 // indirect
|
||||
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
||||
github.com/gofrs/flock v0.12.1 // indirect
|
||||
github.com/gofrs/uuid v4.4.0+incompatible // indirect
|
||||
github.com/gogo/protobuf v1.3.2 // indirect
|
||||
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
|
||||
github.com/golang/glog v1.2.1 // indirect
|
||||
github.com/golang/glog v1.2.2 // indirect
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||
github.com/golang/protobuf v1.5.4 // indirect
|
||||
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect
|
||||
github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e // indirect
|
||||
github.com/golangci/misspell v0.6.0 // indirect
|
||||
github.com/golangci/modinfo v0.3.4 // indirect
|
||||
github.com/golangci/plugin-module-register v0.1.1 // indirect
|
||||
github.com/golangci/revgrep v0.5.3 // indirect
|
||||
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed // indirect
|
||||
github.com/google/gnostic-models v0.6.8 // indirect
|
||||
github.com/google/go-cmp v0.6.0 // indirect
|
||||
github.com/google/go-querystring v1.1.0 // indirect
|
||||
github.com/google/gofuzz v1.2.0 // indirect
|
||||
github.com/google/s2a-go v0.1.7 // indirect
|
||||
github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 // indirect
|
||||
github.com/google/s2a-go v0.1.8 // indirect
|
||||
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
|
||||
github.com/google/uuid v1.6.0 // indirect
|
||||
github.com/google/wire v0.6.0 // indirect
|
||||
github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
|
||||
github.com/googleapis/gax-go/v2 v2.12.2 // indirect
|
||||
github.com/gorilla/mux v1.8.0 // indirect
|
||||
github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect
|
||||
github.com/googleapis/gax-go/v2 v2.13.0 // indirect
|
||||
github.com/gordonklaus/ineffassign v0.1.0 // indirect
|
||||
github.com/gorilla/css v1.0.0 // indirect
|
||||
github.com/gorilla/mux v1.8.1 // indirect
|
||||
github.com/gorilla/websocket v1.5.0 // indirect
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect
|
||||
github.com/gostaticanalysis/analysisutil v0.7.1 // indirect
|
||||
github.com/gostaticanalysis/comment v1.4.2 // indirect
|
||||
github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect
|
||||
github.com/gostaticanalysis/nilerr v0.1.1 // indirect
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect
|
||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
||||
@@ -156,27 +247,57 @@ require (
|
||||
github.com/hashicorp/go-secure-stdlib/parseutil v0.1.8 // indirect
|
||||
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect
|
||||
github.com/hashicorp/go-sockaddr v1.0.6 // indirect
|
||||
github.com/hashicorp/go-version v1.7.0 // indirect
|
||||
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||
github.com/hashicorp/hcl/v2 v2.20.1 // indirect
|
||||
github.com/hashicorp/vault/api v1.12.0 // indirect
|
||||
github.com/iancoleman/strcase v0.2.0 // indirect
|
||||
github.com/hashicorp/hcl/v2 v2.22.0 // indirect
|
||||
github.com/hashicorp/vault/api v1.14.0 // indirect
|
||||
github.com/hexops/gotextdiff v1.0.3 // indirect
|
||||
github.com/iancoleman/strcase v0.3.0 // indirect
|
||||
github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd // indirect
|
||||
github.com/imdario/mergo v0.3.16 // indirect
|
||||
github.com/in-toto/in-toto-golang v0.5.0 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
||||
github.com/jgautheron/goconst v1.7.1 // indirect
|
||||
github.com/jingyugao/rowserrcheck v1.1.1 // indirect
|
||||
github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect
|
||||
github.com/jjti/go-spancheck v0.6.1 // indirect
|
||||
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
||||
github.com/jonboulle/clockwork v0.4.0 // indirect
|
||||
github.com/josharian/intern v1.0.0 // indirect
|
||||
github.com/json-iterator/go v1.1.12 // indirect
|
||||
github.com/julz/importas v0.1.0 // indirect
|
||||
github.com/karamaru-alpha/copyloopvar v1.1.0 // indirect
|
||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
|
||||
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
||||
github.com/klauspost/compress v1.17.9 // indirect
|
||||
github.com/kisielk/errcheck v1.7.0 // indirect
|
||||
github.com/kkHAIKE/contextcheck v1.1.5 // indirect
|
||||
github.com/klauspost/compress v1.17.11 // indirect
|
||||
github.com/kulti/thelper v0.6.3 // indirect
|
||||
github.com/kunwardeep/paralleltest v1.0.10 // indirect
|
||||
github.com/kylelemons/godebug v1.1.0 // indirect
|
||||
github.com/kyoh86/exportloopref v0.1.11 // indirect
|
||||
github.com/lasiar/canonicalheader v1.1.1 // indirect
|
||||
github.com/ldez/gomoddirectives v0.2.4 // indirect
|
||||
github.com/ldez/tagliatelle v0.5.0 // indirect
|
||||
github.com/leonklingele/grouper v1.1.2 // indirect
|
||||
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
|
||||
github.com/lufeee/execinquery v1.2.1 // indirect
|
||||
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
|
||||
github.com/macabu/inamedparam v0.1.3 // indirect
|
||||
github.com/magiconair/properties v1.8.6 // indirect
|
||||
github.com/mailru/easyjson v0.7.7 // indirect
|
||||
github.com/maratori/testableexamples v1.0.0 // indirect
|
||||
github.com/maratori/testpackage v1.1.1 // indirect
|
||||
github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 // indirect
|
||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||
github.com/mattn/go-localereader v0.0.1 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.15 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.16 // indirect
|
||||
github.com/mattn/go-shellwords v1.0.12 // indirect
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
|
||||
github.com/mgechev/revive v1.3.7 // indirect
|
||||
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect
|
||||
github.com/microcosm-cc/bluemonday v1.0.21 // indirect
|
||||
github.com/miekg/pkcs11 v1.1.1 // indirect
|
||||
github.com/mitchellh/copystructure v1.2.0 // indirect
|
||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||
@@ -187,115 +308,176 @@ require (
|
||||
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
||||
github.com/moby/docker-image-spec v1.3.1 // indirect
|
||||
github.com/moby/locker v1.0.1 // indirect
|
||||
github.com/moby/moby v25.0.4+incompatible // indirect
|
||||
github.com/moby/spdystream v0.2.0 // indirect
|
||||
github.com/moby/sys/mountinfo v0.7.1 // indirect
|
||||
github.com/moby/sys/sequential v0.5.0 // indirect
|
||||
github.com/moby/sys/signal v0.7.0 // indirect
|
||||
github.com/moby/sys/user v0.1.0 // indirect
|
||||
github.com/moby/sys/mountinfo v0.7.2 // indirect
|
||||
github.com/moby/sys/sequential v0.6.0 // indirect
|
||||
github.com/moby/sys/signal v0.7.1 // indirect
|
||||
github.com/moby/sys/user v0.3.0 // indirect
|
||||
github.com/moby/sys/userns v0.1.0 // indirect
|
||||
github.com/moby/term v0.5.0 // indirect
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||
github.com/moricho/tparallel v0.3.1 // indirect
|
||||
github.com/morikuni/aec v1.0.0 // indirect
|
||||
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
|
||||
github.com/muesli/cancelreader v0.2.2 // indirect
|
||||
github.com/muesli/termenv v0.15.2 // indirect
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
||||
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
|
||||
github.com/nakabonne/nestif v0.3.1 // indirect
|
||||
github.com/natefinch/atomic v1.0.1 // indirect
|
||||
github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d // indirect
|
||||
github.com/nishanths/exhaustive v0.12.0 // indirect
|
||||
github.com/nishanths/predeclared v0.2.2 // indirect
|
||||
github.com/nunnatsa/ginkgolinter v0.16.2 // indirect
|
||||
github.com/nxadm/tail v1.4.11 // indirect
|
||||
github.com/onsi/ginkgo/v2 v2.17.3 // indirect
|
||||
github.com/onsi/gomega v1.33.1 // indirect
|
||||
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
||||
github.com/opencontainers/go-digest v1.0.0 // indirect
|
||||
github.com/opencontainers/image-spec v1.1.0 // indirect
|
||||
github.com/opentracing/basictracer-go v1.1.0 // indirect
|
||||
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
||||
github.com/pelletier/go-toml v1.9.5 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.2.2 // indirect
|
||||
github.com/petar-dambovaliev/aho-corasick v0.0.0-20230725210150-fb29fc3c913e // indirect
|
||||
github.com/pgavlin/diff v0.0.0-20230503175810-113847418e2e // indirect
|
||||
github.com/pgavlin/fx v0.1.6 // indirect
|
||||
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect
|
||||
github.com/pgavlin/text v0.0.0-20240821195002-b51d0990e284 // indirect
|
||||
github.com/pjbgf/sha1cd v0.3.0 // indirect
|
||||
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/pkg/term v1.1.0 // indirect
|
||||
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
github.com/prometheus/client_golang v1.17.0 // indirect
|
||||
github.com/prometheus/client_model v0.5.0 // indirect
|
||||
github.com/prometheus/common v0.44.0 // indirect
|
||||
github.com/polyfloyd/go-errorlint v1.5.2 // indirect
|
||||
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
|
||||
github.com/prometheus/client_golang v1.20.2 // indirect
|
||||
github.com/prometheus/client_model v0.6.1 // indirect
|
||||
github.com/prometheus/common v0.55.0 // indirect
|
||||
github.com/prometheus/procfs v0.15.1 // indirect
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
||||
github.com/pulumi/esc v0.9.1 // indirect
|
||||
github.com/pulumi/inflector v0.1.1 // indirect
|
||||
github.com/pulumi/esc v0.10.0 // indirect
|
||||
github.com/pulumi/inflector v0.2.1 // indirect
|
||||
github.com/quasilyte/go-ruleguard v0.4.2 // indirect
|
||||
github.com/quasilyte/go-ruleguard/dsl v0.3.22 // indirect
|
||||
github.com/quasilyte/gogrep v0.5.0 // indirect
|
||||
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
|
||||
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
|
||||
github.com/rivo/uniseg v0.4.7 // indirect
|
||||
github.com/rogpeppe/go-internal v1.12.0 // indirect
|
||||
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||
github.com/ryancurrah/gomodguard v1.3.2 // indirect
|
||||
github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect
|
||||
github.com/ryanuber/go-glob v1.0.0 // indirect
|
||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
||||
github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect
|
||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
||||
github.com/sashamelentyev/interfacebloat v1.1.0 // indirect
|
||||
github.com/sashamelentyev/usestdlibvars v1.26.0 // indirect
|
||||
github.com/secure-systems-lab/go-securesystemslib v0.4.0 // indirect
|
||||
github.com/segmentio/asm v1.1.3 // indirect
|
||||
github.com/segmentio/encoding v0.3.5 // indirect
|
||||
github.com/securego/gosec/v2 v2.20.1-0.20240525090044-5f0084eb01a9 // indirect
|
||||
github.com/segmentio/asm v1.2.0 // indirect
|
||||
github.com/segmentio/encoding v0.4.0 // indirect
|
||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
|
||||
github.com/serialx/hashring v0.0.0-20200727003509-22c0c7ab6b1b // indirect
|
||||
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect
|
||||
github.com/shibumi/go-pathspec v1.3.0 // indirect
|
||||
github.com/skeema/knownhosts v1.2.2 // indirect
|
||||
github.com/shirou/gopsutil/v3 v3.24.5 // indirect
|
||||
github.com/shoenig/go-m1cpu v0.1.6 // indirect
|
||||
github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 // indirect
|
||||
github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 // indirect
|
||||
github.com/sivchari/containedctx v1.0.3 // indirect
|
||||
github.com/sivchari/tenv v1.7.1 // indirect
|
||||
github.com/skeema/knownhosts v1.3.0 // indirect
|
||||
github.com/sonatard/noctx v0.0.2 // indirect
|
||||
github.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67 // indirect
|
||||
github.com/sourcegraph/go-diff v0.7.0 // indirect
|
||||
github.com/spf13/cast v1.5.0 // indirect
|
||||
github.com/spf13/cobra v1.8.1 // indirect
|
||||
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/spf13/viper v1.12.0 // indirect
|
||||
github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect
|
||||
github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect
|
||||
github.com/stretchr/objx v0.5.2 // indirect
|
||||
github.com/subosito/gotenv v1.4.1 // indirect
|
||||
github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c // indirect
|
||||
github.com/tdakkota/asciicheck v0.2.0 // indirect
|
||||
github.com/tetafro/godot v1.4.16 // indirect
|
||||
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
|
||||
github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 // indirect
|
||||
github.com/timonwong/loggercheck v0.9.4 // indirect
|
||||
github.com/tklauser/go-sysconf v0.3.12 // indirect
|
||||
github.com/tklauser/numcpus v0.6.1 // indirect
|
||||
github.com/tomarrell/wrapcheck/v2 v2.8.3 // indirect
|
||||
github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect
|
||||
github.com/tonistiigi/dchapes-mode v0.0.0-20241001053921-ca0759fec205 // indirect
|
||||
github.com/tonistiigi/go-csvvalue v0.0.0-20240710180619-ddb21b71c0b4 // indirect
|
||||
github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea // indirect
|
||||
github.com/tonistiigi/vt100 v0.0.0-20240514184818-90bafcd6abab // indirect
|
||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect
|
||||
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
|
||||
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
|
||||
github.com/ulikunitz/xz v0.5.12 // indirect
|
||||
github.com/ultraware/funlen v0.1.0 // indirect
|
||||
github.com/ultraware/whitespace v0.1.1 // indirect
|
||||
github.com/uudashr/gocognit v1.1.2 // indirect
|
||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
|
||||
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
|
||||
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
|
||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
|
||||
github.com/zclconf/go-cty v1.14.4 // indirect
|
||||
github.com/xen0n/gosmopolitan v1.2.2 // indirect
|
||||
github.com/yagipy/maintidx v1.0.0 // indirect
|
||||
github.com/yeya24/promlinter v0.3.0 // indirect
|
||||
github.com/ykadowak/zerologlint v0.1.5 // indirect
|
||||
github.com/yuin/goldmark v1.5.2 // indirect
|
||||
github.com/yuin/goldmark-emoji v1.0.1 // indirect
|
||||
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
||||
github.com/zclconf/go-cty v1.15.0 // indirect
|
||||
gitlab.com/bosi/decorder v0.4.2 // indirect
|
||||
go-simpler.org/musttag v0.12.2 // indirect
|
||||
go-simpler.org/sloglint v0.7.1 // indirect
|
||||
go.opencensus.io v0.24.0 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.46.1 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
|
||||
go.opentelemetry.io/otel v1.24.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.42.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.42.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v0.42.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0 // indirect
|
||||
go.opentelemetry.io/otel/metric v1.24.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk v1.22.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
|
||||
go.opentelemetry.io/otel/trace v1.24.0 // indirect
|
||||
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.54.0 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect
|
||||
go.opentelemetry.io/otel v1.29.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect
|
||||
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
|
||||
go.pennock.tech/tabular v1.1.3 // indirect
|
||||
go.uber.org/atomic v1.11.0 // indirect
|
||||
gocloud.dev v0.37.0 // indirect
|
||||
gocloud.dev/secrets/hashivault v0.37.0 // indirect
|
||||
golang.org/x/mod v0.18.0 // indirect
|
||||
golang.org/x/net v0.26.0 // indirect
|
||||
golang.org/x/oauth2 v0.18.0 // indirect
|
||||
golang.org/x/sync v0.7.0 // indirect
|
||||
golang.org/x/sys v0.24.0 // indirect
|
||||
golang.org/x/term v0.22.0 // indirect
|
||||
golang.org/x/text v0.16.0 // indirect
|
||||
golang.org/x/time v0.5.0 // indirect
|
||||
golang.org/x/tools v0.22.0 // indirect
|
||||
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
|
||||
google.golang.org/api v0.169.0 // indirect
|
||||
google.golang.org/appengine v1.6.8 // indirect
|
||||
google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect
|
||||
google.golang.org/grpc v1.64.1 // indirect
|
||||
go.uber.org/automaxprocs v1.5.3 // indirect
|
||||
go.uber.org/multierr v1.11.0 // indirect
|
||||
go.uber.org/zap v1.27.0 // indirect
|
||||
gocloud.dev v0.39.0 // indirect
|
||||
gocloud.dev/secrets/hashivault v0.39.0 // indirect
|
||||
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f // indirect
|
||||
golang.org/x/mod v0.21.0 // indirect
|
||||
golang.org/x/net v0.29.0 // indirect
|
||||
golang.org/x/oauth2 v0.23.0 // indirect
|
||||
golang.org/x/sync v0.8.0 // indirect
|
||||
golang.org/x/sys v0.26.0 // indirect
|
||||
golang.org/x/term v0.24.0 // indirect
|
||||
golang.org/x/text v0.18.0 // indirect
|
||||
golang.org/x/time v0.6.0 // indirect
|
||||
golang.org/x/tools v0.25.0 // indirect
|
||||
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
|
||||
google.golang.org/api v0.196.0 // indirect
|
||||
google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 // indirect
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect
|
||||
google.golang.org/grpc v1.67.1 // indirect
|
||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
|
||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
honnef.co/go/tools v0.4.7 // indirect
|
||||
k8s.io/api v0.29.2 // indirect
|
||||
k8s.io/apimachinery v0.29.2 // indirect
|
||||
k8s.io/client-go v0.29.2 // indirect
|
||||
@@ -304,6 +486,7 @@ require (
|
||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
||||
lukechampine.com/frand v1.4.2 // indirect
|
||||
mvdan.cc/gofumpt v0.6.0 // indirect
|
||||
mvdan.cc/unparam v0.0.0-20240528143540-8a5130ca722f // indirect
|
||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -689,8 +689,10 @@ func (c CacheTo) validate(preview bool) (*controllerapi.CacheOptionsEntry, error
|
||||
type CacheMode string
|
||||
|
||||
const (
|
||||
Min CacheMode = "min" // Min cache mode.
|
||||
Max CacheMode = "max" // Max cache mode.
|
||||
// Min cache mode.
|
||||
Min CacheMode = "min"
|
||||
// Max cache mode.
|
||||
Max CacheMode = "max"
|
||||
)
|
||||
|
||||
// Values returns all valid CacheMode values for SDK generation.
|
||||
@@ -711,9 +713,12 @@ func (CacheMode) Values() []infer.EnumValue[CacheMode] {
|
||||
type CompressionType string
|
||||
|
||||
const (
|
||||
Gzip CompressionType = "gzip" // Gzip compression.
|
||||
Estargz CompressionType = "estargz" // Estargz compression.
|
||||
Zstd CompressionType = "zstd" // Zstd compression.
|
||||
// Gzip compression.
|
||||
Gzip CompressionType = "gzip"
|
||||
// Estargz compression.
|
||||
Estargz CompressionType = "estargz"
|
||||
// Zstd compression.
|
||||
Zstd CompressionType = "zstd"
|
||||
)
|
||||
|
||||
// Values returns all valid CompressionType values for SDK generation.
|
||||
|
||||
@@ -141,6 +141,10 @@ func (c *cli) Err() *streams.Out {
|
||||
return streams.NewOut(&c.err)
|
||||
}
|
||||
|
||||
func (c *cli) SupportsMultipleExports() bool {
|
||||
return c.host.supportsMultipleExports
|
||||
}
|
||||
|
||||
// rc returns a registry client with matching auth.
|
||||
func (c *cli) rc() *regclient.RegClient {
|
||||
hosts := []config.Host{}
|
||||
@@ -329,8 +333,8 @@ func (c *cli) execBuild(b Build) (*client.SolveResponse, error) {
|
||||
return nil, err
|
||||
}
|
||||
// We abuse the pb.Secret proto by stuffing the secret's value in
|
||||
// XXX_unrecognized. We never serialize this proto so this is tolerable.
|
||||
env = append(env, fmt.Sprintf("%s=%s", envvar, s.XXX_unrecognized))
|
||||
// Env. We never serialize this proto so this is tolerable.
|
||||
env = append(env, fmt.Sprintf("%s=%s", envvar, s.Env))
|
||||
args = append(args, "--secret", fmt.Sprintf("id=%s,env=%s", s.ID, envvar))
|
||||
}
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
package internal
|
||||
|
||||
import (
|
||||
"context"
|
||||
"io"
|
||||
"testing"
|
||||
|
||||
@@ -27,7 +28,7 @@ import (
|
||||
func TestExec(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
h, err := newHost(nil)
|
||||
h, err := newHost(context.Background(), nil)
|
||||
require.NoError(t, err)
|
||||
cli, err := wrap(h)
|
||||
require.NoError(t, err)
|
||||
@@ -44,7 +45,7 @@ func TestWrappedAuth(t *testing.T) {
|
||||
t.Parallel()
|
||||
ecr := "https://1234.dkr.ecr.us-west-2.amazonaws.com"
|
||||
|
||||
realhost, err := newHost(nil)
|
||||
realhost, err := newHost(context.Background(), nil)
|
||||
require.NoError(t, err)
|
||||
|
||||
h := &host{
|
||||
@@ -102,7 +103,7 @@ func TestWrappedAuth(t *testing.T) {
|
||||
assert.Len(t, h.auths, 2) // In-memory host auth is unchanged.
|
||||
|
||||
// Assert that our on-disk host's auth is untouched.
|
||||
realhostRefreshed, err := newHost(nil)
|
||||
realhostRefreshed, err := newHost(context.Background(), nil)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, realhost.auths, realhostRefreshed.auths)
|
||||
}
|
||||
|
||||
@@ -22,13 +22,13 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/distribution/reference"
|
||||
buildx "github.com/docker/buildx/build"
|
||||
"github.com/docker/buildx/commands"
|
||||
controllerapi "github.com/docker/buildx/controller/pb"
|
||||
"github.com/docker/buildx/util/confutil"
|
||||
"github.com/docker/buildx/util/dockerutil"
|
||||
"github.com/docker/buildx/util/platformutil"
|
||||
"github.com/docker/buildx/util/progress"
|
||||
@@ -58,6 +58,8 @@ type Client interface {
|
||||
ManifestCreate(ctx context.Context, push bool, target string, refs ...string) error
|
||||
ManifestInspect(ctx context.Context, target string) (string, error)
|
||||
ManifestDelete(ctx context.Context, target string) error
|
||||
|
||||
SupportsMultipleExports() bool
|
||||
}
|
||||
|
||||
// Build encapsulates all of the user-provider build parameters and options.
|
||||
@@ -88,8 +90,6 @@ func newDockerCLI(config *Config) (*command.DockerCli, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// TODO: Log some version information for debugging.
|
||||
|
||||
return cli, nil
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ func (c *cli) Build(
|
||||
DockerfilePath: opts.DockerfileName,
|
||||
DockerfileInline: build.Inline(),
|
||||
NamedContexts: namedContexts,
|
||||
InStream: strings.NewReader(""),
|
||||
InStream: buildx.NewSyncMultiReader(strings.NewReader("")),
|
||||
},
|
||||
// Disable default provenance for now. Docker's `manifest create`
|
||||
// doesn't handle manifests with provenance included; more reason
|
||||
@@ -230,7 +230,7 @@ func (c *cli) Build(
|
||||
b.nodes,
|
||||
payload,
|
||||
dockerutil.NewClient(c),
|
||||
filepath.Dir(c.ConfigFile().Filename),
|
||||
confutil.NewConfig(c),
|
||||
printer,
|
||||
)
|
||||
if err != nil {
|
||||
|
||||
@@ -55,7 +55,7 @@ func TestCustomHost(t *testing.T) {
|
||||
t.Run("env", func(t *testing.T) {
|
||||
t.Setenv("DOCKER_HOST", socket)
|
||||
|
||||
h, err := newHost(nil)
|
||||
h, err := newHost(context.Background(), nil)
|
||||
require.NoError(t, err)
|
||||
cli, err := wrap(h)
|
||||
require.NoError(t, err)
|
||||
@@ -66,7 +66,7 @@ func TestCustomHost(t *testing.T) {
|
||||
|
||||
t.Run("config", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
h, err := newHost(&Config{Host: socket})
|
||||
h, err := newHost(context.Background(), &Config{Host: socket})
|
||||
require.NoError(t, err)
|
||||
cli, err := wrap(h)
|
||||
require.NoError(t, err)
|
||||
@@ -290,7 +290,7 @@ func TestBuild(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
cli := testcli(t, true, tt.auths...)
|
||||
|
||||
build, err := tt.args.toBuild(ctx, false)
|
||||
build, err := tt.args.toBuild(ctx, true, false)
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = cli.Build(ctx, build)
|
||||
@@ -383,7 +383,7 @@ func TestBuildError(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
cli := testcli(t, true)
|
||||
|
||||
build, err := args.toBuild(ctx, false)
|
||||
build, err := args.toBuild(ctx, true, false)
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = cli.Build(ctx, build)
|
||||
@@ -418,7 +418,7 @@ func TestBuildExecError(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
cli := testcli(t, true)
|
||||
|
||||
build, err := args.toBuild(ctx, false)
|
||||
build, err := args.toBuild(ctx, true, false)
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = cli.Build(ctx, build)
|
||||
@@ -438,7 +438,7 @@ func TestBuildExecError(t *testing.T) {
|
||||
// testcli returns a new standalone CLI instance. Set ping to true if a live
|
||||
// daemon is required -- the test will be skipped if the daemon is not available.
|
||||
func testcli(t *testing.T, ping bool, auths ...Registry) *cli {
|
||||
h, err := newHost(nil)
|
||||
h, err := newHost(context.Background(), nil)
|
||||
require.NoError(t, err)
|
||||
|
||||
cli, err := wrap(h, auths...)
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
package internal
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"io"
|
||||
"os"
|
||||
@@ -96,13 +97,26 @@ func (d *Dockerfile) validate(preview bool, c *Context) error {
|
||||
}
|
||||
|
||||
func parseDockerfile(r io.Reader) error {
|
||||
parsed, err := parser.Parse(r)
|
||||
df, _ := io.ReadAll(r)
|
||||
syntax, _, _, _ := parser.DetectSyntax(df)
|
||||
if syntax == "" {
|
||||
syntax = os.Getenv("BUILDKIT_SYNTAX")
|
||||
}
|
||||
|
||||
// Disable validation if this uses a custom syntax.
|
||||
if syntax != "" && syntax != "docker/dockerfile:1" {
|
||||
return nil
|
||||
}
|
||||
|
||||
parsed, err := parser.Parse(bytes.NewReader(df))
|
||||
if err != nil {
|
||||
return newCheckFailure(err, "dockerfile")
|
||||
}
|
||||
|
||||
_, _, err = instructions.Parse(parsed.AST, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
return newCheckFailure(err, "dockerfile")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -57,12 +57,31 @@ func TestValidateDockerfile(t *testing.T) {
|
||||
},
|
||||
wantErr: "unknown instruction: RUNN",
|
||||
},
|
||||
{
|
||||
name: "invalid syntax inline with default syntax directive",
|
||||
d: Dockerfile{
|
||||
Inline: `# syntax=docker/dockerfile:1
|
||||
RUNN it`,
|
||||
},
|
||||
wantErr: "unknown instruction: RUNN",
|
||||
},
|
||||
{
|
||||
name: "valid syntax inline",
|
||||
d: Dockerfile{
|
||||
Inline: "FROM scratch",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "valid custom syntax inline",
|
||||
d: Dockerfile{
|
||||
Inline: `# syntax=docker.io/docker/dockerfile:1.7-labs
|
||||
FROM public.ecr.aws/docker/library/node:22-alpine AS base
|
||||
|
||||
WORKDIR /app
|
||||
COPY --parents ./package.json ./package-lock.json ./apps/*/package.json ./packages/*/package.json ./
|
||||
`,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "unset",
|
||||
d: Dockerfile{},
|
||||
|
||||
@@ -1214,7 +1214,7 @@ image = docker_build.Image("image",
|
||||
context={
|
||||
"location": "app",
|
||||
"named": {
|
||||
"golang_latest": {
|
||||
"golang:latest": {
|
||||
"location": "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984",
|
||||
},
|
||||
},
|
||||
|
||||
@@ -21,6 +21,7 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/blang/semver"
|
||||
"github.com/docker/buildx/builder"
|
||||
"github.com/docker/buildx/store/storeutil"
|
||||
"github.com/docker/cli/cli/command"
|
||||
@@ -35,9 +36,12 @@ type host struct {
|
||||
config *Config
|
||||
builders map[string]*cachedBuilder
|
||||
auths map[string]cfgtypes.AuthConfig
|
||||
|
||||
// True if the buildkit daemon is at least v0.13.
|
||||
supportsMultipleExports bool
|
||||
}
|
||||
|
||||
func newHost(config *Config) (*host, error) {
|
||||
func newHost(ctx context.Context, config *Config) (*host, error) {
|
||||
docker, err := newDockerCLI(config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -47,11 +51,13 @@ func newHost(config *Config) (*host, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
h := &host{
|
||||
cli: docker,
|
||||
config: config,
|
||||
builders: map[string]*cachedBuilder{},
|
||||
auths: auths,
|
||||
cli: docker,
|
||||
config: config,
|
||||
builders: map[string]*cachedBuilder{},
|
||||
auths: auths,
|
||||
supportsMultipleExports: false, // Determined when we boot the builder.
|
||||
}
|
||||
return h, err
|
||||
}
|
||||
@@ -151,10 +157,22 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
||||
// Attempt to load nodes in order to determine the builder's driver. Ignore
|
||||
// errors for "exec" builds because it's possible to request builders with
|
||||
// drivers that are unknown to us.
|
||||
nodes, err := b.LoadNodes(context.Background())
|
||||
nodes, err := b.LoadNodes(context.Background(), builder.WithData())
|
||||
if err != nil && !build.ShouldExec() {
|
||||
return nil, fmt.Errorf("loading nodes: %w", err)
|
||||
}
|
||||
// Attempt to determine our builder's buildkit version.
|
||||
for idx := range nodes {
|
||||
if nodes[idx].Version == "" {
|
||||
continue
|
||||
}
|
||||
v, err := semver.ParseTolerant(nodes[idx].Version)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("parsing buildkit version %q: %w", nodes[idx].Version, err)
|
||||
}
|
||||
h.supportsMultipleExports = v.GE(semver.MustParse("0.13.0"))
|
||||
break
|
||||
}
|
||||
|
||||
cached := &cachedBuilder{name: b.Name, driver: b.Driver, nodes: nodes}
|
||||
h.builders[opts.Builder] = cached
|
||||
|
||||
@@ -362,7 +362,12 @@ func (i *Image) Check(
|
||||
// :(
|
||||
preview := news.ContainsUnknowns()
|
||||
|
||||
if _, berr := args.validate(preview); berr != nil {
|
||||
cfg := infer.GetConfig[Config](ctx)
|
||||
supportsMultipleExports := true
|
||||
if cfg.host != nil {
|
||||
supportsMultipleExports = cfg.host.supportsMultipleExports
|
||||
}
|
||||
if _, berr := args.validate(supportsMultipleExports, preview); berr != nil {
|
||||
errs := berr.(interface{ Unwrap() []error }).Unwrap()
|
||||
for _, e := range errs {
|
||||
if cf, ok := e.(checkFailure); ok {
|
||||
@@ -466,15 +471,15 @@ type build struct {
|
||||
exec bool
|
||||
}
|
||||
|
||||
func (b build) BuildOptions() controllerapi.BuildOptions {
|
||||
return b.opts
|
||||
func (b *build) BuildOptions() controllerapi.BuildOptions {
|
||||
return b.opts //nolint:govet // copylocks - not serialized.
|
||||
}
|
||||
|
||||
func (b build) Inline() string {
|
||||
func (b *build) Inline() string {
|
||||
return b.inline
|
||||
}
|
||||
|
||||
func (b build) Secrets() session.Attachable {
|
||||
func (b *build) Secrets() session.Attachable {
|
||||
m := map[string][]byte{}
|
||||
for k, v := range b.secrets {
|
||||
m[k] = []byte(v)
|
||||
@@ -482,15 +487,16 @@ func (b build) Secrets() session.Attachable {
|
||||
return secretsprovider.FromMap(m)
|
||||
}
|
||||
|
||||
func (b build) ShouldExec() bool {
|
||||
func (b *build) ShouldExec() bool {
|
||||
return b.exec
|
||||
}
|
||||
|
||||
func (ia ImageArgs) toBuild(
|
||||
ctx context.Context,
|
||||
supportsMultipleExports bool,
|
||||
preview bool,
|
||||
) (Build, error) {
|
||||
opts, err := ia.validate(preview)
|
||||
opts, err := ia.validate(supportsMultipleExports, preview)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -507,8 +513,8 @@ func (ia ImageArgs) toBuild(
|
||||
"Instead, perform one cached build per platform and create an Index to join them all together.")
|
||||
}
|
||||
|
||||
return build{
|
||||
opts: opts,
|
||||
return &build{
|
||||
opts: opts, //nolint:govet // copylocks - not serialized.
|
||||
inline: ia.Dockerfile.Inline,
|
||||
secrets: ia.Secrets,
|
||||
exec: ia.Exec,
|
||||
@@ -517,27 +523,29 @@ func (ia ImageArgs) toBuild(
|
||||
|
||||
// validate confirms the ImageArgs are valid and returns BuildOptions
|
||||
// appropriate for passing to builders.
|
||||
func (ia *ImageArgs) validate(preview bool) (controllerapi.BuildOptions, error) {
|
||||
func (ia *ImageArgs) validate(supportsMultipleExports, preview bool) (controllerapi.BuildOptions, error) {
|
||||
var multierr error
|
||||
|
||||
if len(ia.Exports) > 1 {
|
||||
multierr = errors.Join(multierr,
|
||||
newCheckFailure(errors.New("multiple exports are currently unsupported"), "exports"),
|
||||
)
|
||||
}
|
||||
if ia.Push && ia.Load {
|
||||
multierr = errors.Join(
|
||||
multierr,
|
||||
newCheckFailure(
|
||||
errors.New("push and load may not be set together at the moment"),
|
||||
"push",
|
||||
),
|
||||
)
|
||||
}
|
||||
if len(ia.Exports) > 0 && (ia.Push || ia.Load) {
|
||||
multierr = errors.Join(multierr,
|
||||
newCheckFailure(errors.New("exports can't be provided with push or load"), "exports"),
|
||||
)
|
||||
if !supportsMultipleExports {
|
||||
if len(ia.Exports) > 1 {
|
||||
multierr = errors.Join(multierr,
|
||||
newCheckFailure(errors.New("multiple exports require a v0.13 buildkit daemon or newer"), "exports"),
|
||||
)
|
||||
}
|
||||
if ia.Push && ia.Load {
|
||||
multierr = errors.Join(
|
||||
multierr,
|
||||
newCheckFailure(
|
||||
errors.New("simultaneous push and load requires a v0.13 buildkit daemon or newer"),
|
||||
"push",
|
||||
),
|
||||
)
|
||||
}
|
||||
if len(ia.Exports) > 0 && (ia.Push || ia.Load) {
|
||||
multierr = errors.Join(multierr,
|
||||
newCheckFailure(errors.New("multiple exports require a v0.13 buildkit daemon or newer"), "exports"),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
dockerfile, context, err := ia.Context.validate(preview, ia.Dockerfile)
|
||||
@@ -626,10 +634,10 @@ func (ia *ImageArgs) validate(preview bool) (controllerapi.BuildOptions, error)
|
||||
secrets := []*controllerapi.Secret{}
|
||||
for k, v := range normalized.Secrets {
|
||||
// We abuse the pb.Secret proto by stuffing the secret's value in
|
||||
// XXX_unrecognized. We never serialize this proto so this is tolerable.
|
||||
// Env. We never serialize this proto so this is tolerable.
|
||||
secrets = append(secrets, &controllerapi.Secret{
|
||||
ID: k,
|
||||
XXX_unrecognized: []byte(v),
|
||||
ID: k,
|
||||
Env: v,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -659,7 +667,7 @@ func (ia *ImageArgs) validate(preview bool) (controllerapi.BuildOptions, error)
|
||||
Target: normalized.Target,
|
||||
}
|
||||
|
||||
return opts, multierr
|
||||
return opts, multierr //nolint:govet // copylocks - not serialized.
|
||||
}
|
||||
|
||||
// Create builds an image using buildkit.
|
||||
@@ -694,7 +702,7 @@ func (i *Image) Create(
|
||||
return id, state, errors.New("buildkit is not supported on this host")
|
||||
}
|
||||
|
||||
build, err := input.toBuild(ctx, preview)
|
||||
build, err := input.toBuild(ctx, cli.SupportsMultipleExports(), preview)
|
||||
if err != nil {
|
||||
return id, state, fmt.Errorf("preparing: %w", err)
|
||||
}
|
||||
|
||||
@@ -64,7 +64,8 @@ func TestImageLifecycle(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
c := NewMockClient(ctrl)
|
||||
c.EXPECT().BuildKitEnabled().Return(true, nil).AnyTimes()
|
||||
c.EXPECT().Build(gomock.Any(), gomock.AssignableToTypeOf(build{})).DoAndReturn(
|
||||
c.EXPECT().SupportsMultipleExports().Return(true).AnyTimes()
|
||||
c.EXPECT().Build(gomock.Any(), gomock.AssignableToTypeOf(&build{})).DoAndReturn(
|
||||
func(_ context.Context, b Build) (*client.SolveResponse, error) {
|
||||
assert.Equal(t, "testdata/noop/Dockerfile", b.BuildOptions().DockerfileName)
|
||||
return &client.SolveResponse{
|
||||
@@ -238,7 +239,8 @@ func TestImageLifecycle(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
c := NewMockClient(ctrl)
|
||||
c.EXPECT().BuildKitEnabled().Return(true, nil).AnyTimes()
|
||||
c.EXPECT().Build(gomock.Any(), gomock.AssignableToTypeOf(build{})).DoAndReturn(
|
||||
c.EXPECT().SupportsMultipleExports().Return(true).AnyTimes()
|
||||
c.EXPECT().Build(gomock.Any(), gomock.AssignableToTypeOf(&build{})).DoAndReturn(
|
||||
func(_ context.Context, b Build) (*client.SolveResponse, error) {
|
||||
assert.Equal(t, "testdata/noop/Dockerfile", b.BuildOptions().DockerfileName)
|
||||
return &client.SolveResponse{
|
||||
@@ -279,7 +281,8 @@ func TestImageLifecycle(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
c := NewMockClient(ctrl)
|
||||
c.EXPECT().BuildKitEnabled().Return(true, nil).AnyTimes()
|
||||
c.EXPECT().Build(gomock.Any(), gomock.AssignableToTypeOf(build{})).DoAndReturn(
|
||||
c.EXPECT().SupportsMultipleExports().Return(true).AnyTimes()
|
||||
c.EXPECT().Build(gomock.Any(), gomock.AssignableToTypeOf(&build{})).DoAndReturn(
|
||||
func(_ context.Context, b Build) (*client.SolveResponse, error) {
|
||||
assert.Equal(t, "FROM alpine:latest", b.Inline())
|
||||
return &client.SolveResponse{
|
||||
@@ -829,7 +832,7 @@ func TestValidateImageArgs(t *testing.T) {
|
||||
CacheTo: []CacheTo{{Raw: "=badcacheto"}},
|
||||
}
|
||||
|
||||
_, err := args.validate(false)
|
||||
_, err := args.validate(true, false)
|
||||
assert.ErrorContains(t, err, "invalid value badexport")
|
||||
assert.ErrorContains(t, err, "OSAndVersion specifier component must matc")
|
||||
assert.ErrorContains(t, err, "badcachefrom")
|
||||
@@ -845,12 +848,12 @@ func TestValidateImageArgs(t *testing.T) {
|
||||
Tags: []string{"my-tag"},
|
||||
Exports: []Export{{Registry: &ExportRegistry{ExportImage{Push: pulumi.BoolRef(true)}}}},
|
||||
}
|
||||
actual, err := args.validate(true)
|
||||
actual, err := args.validate(true, true)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "image", actual.Exports[0].Type)
|
||||
assert.Equal(t, "false", actual.Exports[0].Attrs["push"])
|
||||
|
||||
actual, err = args.validate(false)
|
||||
actual, err = args.validate(true, false)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "image", actual.Exports[0].Type)
|
||||
assert.Equal(t, "true", actual.Exports[0].Attrs["push"])
|
||||
@@ -886,11 +889,11 @@ func TestValidateImageArgs(t *testing.T) {
|
||||
Tags: []string{"known", ""},
|
||||
}
|
||||
|
||||
_, err := unknowns.validate(true)
|
||||
_, err := unknowns.validate(true, true)
|
||||
assert.NoError(t, err)
|
||||
assert.False(t, unknowns.buildable())
|
||||
|
||||
_, err = unknowns.validate(false)
|
||||
_, err = unknowns.validate(true, false)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
|
||||
@@ -903,26 +906,26 @@ func TestValidateImageArgs(t *testing.T) {
|
||||
Exports: []Export{{Raw: "type=registry", Disabled: true}},
|
||||
}
|
||||
|
||||
opts, err := args.validate(true)
|
||||
opts, err := args.validate(true, true)
|
||||
assert.NoError(t, err)
|
||||
assert.Len(t, opts.CacheTo, 0)
|
||||
assert.Len(t, opts.CacheFrom, 0)
|
||||
assert.Len(t, opts.Exports, 0)
|
||||
|
||||
opts, err = args.validate(false)
|
||||
opts, err = args.validate(true, false)
|
||||
assert.NoError(t, err)
|
||||
assert.Len(t, opts.CacheTo, 0)
|
||||
assert.Len(t, opts.CacheFrom, 0)
|
||||
assert.Len(t, opts.Exports, 0)
|
||||
})
|
||||
|
||||
t.Run("multiple exports aren't allowed yet", func(t *testing.T) {
|
||||
t.Run("multiple exports pre-0.13", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
args := ImageArgs{
|
||||
Exports: []Export{{Raw: "type=local"}, {Raw: "type=tar"}},
|
||||
}
|
||||
_, err := args.validate(false)
|
||||
assert.ErrorContains(t, err, "multiple exports are currently unsupported")
|
||||
_, err := args.validate(false, false)
|
||||
assert.ErrorContains(t, err, "multiple exports require a v0.13 buildkit daemon or newer")
|
||||
})
|
||||
|
||||
t.Run("cache and export entries are union-ish", func(t *testing.T) {
|
||||
@@ -932,7 +935,7 @@ func TestValidateImageArgs(t *testing.T) {
|
||||
CacheTo: []CacheTo{{Raw: "type=tar", Local: &CacheToLocal{Dest: "/foo"}}},
|
||||
CacheFrom: []CacheFrom{{Raw: "type=tar", Registry: &CacheFromRegistry{}}},
|
||||
}
|
||||
_, err := args.validate(false)
|
||||
_, err := args.validate(true, false)
|
||||
assert.ErrorContains(t, err, "exports should only specify one export type")
|
||||
assert.ErrorContains(t, err, "cacheFrom should only specify one cache type")
|
||||
assert.ErrorContains(t, err, "cacheTo should only specify one cache type")
|
||||
@@ -949,7 +952,7 @@ func TestValidateImageArgs(t *testing.T) {
|
||||
} {
|
||||
d := d
|
||||
args := ImageArgs{Dockerfile: &d}
|
||||
_, err := args.validate(false)
|
||||
_, err := args.validate(true, false)
|
||||
assert.ErrorContains(t, err, "unknown instruction: RUNN (did you mean RUN?)")
|
||||
}
|
||||
})
|
||||
@@ -1061,6 +1064,6 @@ func TestToBuild(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
_, err := ia.toBuild(context.Background(), false)
|
||||
_, err := ia.toBuild(context.Background(), true, false)
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
376
provider/internal/mockcli_test.go
generated
376
provider/internal/mockcli_test.go
generated
@@ -5,11 +5,11 @@
|
||||
//
|
||||
// mockgen -typed -package internal -source cli.go -destination mockcli_test.go --self_package github.com/pulumi/pulumi-docker-build/provider/internal
|
||||
//
|
||||
|
||||
// Package internal is a generated GoMock package.
|
||||
package internal
|
||||
|
||||
import (
|
||||
io "io"
|
||||
reflect "reflect"
|
||||
|
||||
command "github.com/docker/cli/cli/command"
|
||||
@@ -22,6 +22,9 @@ import (
|
||||
trust "github.com/docker/cli/cli/trust"
|
||||
client0 "github.com/docker/docker/client"
|
||||
client1 "github.com/theupdateframework/notary/client"
|
||||
metric "go.opentelemetry.io/otel/metric"
|
||||
resource "go.opentelemetry.io/otel/sdk/resource"
|
||||
trace "go.opentelemetry.io/otel/trace"
|
||||
gomock "go.uber.org/mock/gomock"
|
||||
)
|
||||
|
||||
@@ -29,6 +32,7 @@ import (
|
||||
type MockCli struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockCliMockRecorder
|
||||
isgomock struct{}
|
||||
}
|
||||
|
||||
// MockCliMockRecorder is the mock recorder for MockCli.
|
||||
@@ -61,31 +65,31 @@ func (m *MockCli) Apply(ops ...command.CLIOption) error {
|
||||
}
|
||||
|
||||
// Apply indicates an expected call of Apply.
|
||||
func (mr *MockCliMockRecorder) Apply(ops ...any) *CliApplyCall {
|
||||
func (mr *MockCliMockRecorder) Apply(ops ...any) *MockCliApplyCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Apply", reflect.TypeOf((*MockCli)(nil).Apply), ops...)
|
||||
return &CliApplyCall{Call: call}
|
||||
return &MockCliApplyCall{Call: call}
|
||||
}
|
||||
|
||||
// CliApplyCall wrap *gomock.Call
|
||||
type CliApplyCall struct {
|
||||
// MockCliApplyCall wrap *gomock.Call
|
||||
type MockCliApplyCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliApplyCall) Return(arg0 error) *CliApplyCall {
|
||||
func (c *MockCliApplyCall) Return(arg0 error) *MockCliApplyCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliApplyCall) Do(f func(...command.CLIOption) error) *CliApplyCall {
|
||||
func (c *MockCliApplyCall) Do(f func(...command.CLIOption) error) *MockCliApplyCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliApplyCall) DoAndReturn(f func(...command.CLIOption) error) *CliApplyCall {
|
||||
func (c *MockCliApplyCall) DoAndReturn(f func(...command.CLIOption) error) *MockCliApplyCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -100,31 +104,31 @@ func (m *MockCli) BuildKitEnabled() (bool, error) {
|
||||
}
|
||||
|
||||
// BuildKitEnabled indicates an expected call of BuildKitEnabled.
|
||||
func (mr *MockCliMockRecorder) BuildKitEnabled() *CliBuildKitEnabledCall {
|
||||
func (mr *MockCliMockRecorder) BuildKitEnabled() *MockCliBuildKitEnabledCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BuildKitEnabled", reflect.TypeOf((*MockCli)(nil).BuildKitEnabled))
|
||||
return &CliBuildKitEnabledCall{Call: call}
|
||||
return &MockCliBuildKitEnabledCall{Call: call}
|
||||
}
|
||||
|
||||
// CliBuildKitEnabledCall wrap *gomock.Call
|
||||
type CliBuildKitEnabledCall struct {
|
||||
// MockCliBuildKitEnabledCall wrap *gomock.Call
|
||||
type MockCliBuildKitEnabledCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliBuildKitEnabledCall) Return(arg0 bool, arg1 error) *CliBuildKitEnabledCall {
|
||||
func (c *MockCliBuildKitEnabledCall) Return(arg0 bool, arg1 error) *MockCliBuildKitEnabledCall {
|
||||
c.Call = c.Call.Return(arg0, arg1)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliBuildKitEnabledCall) Do(f func() (bool, error)) *CliBuildKitEnabledCall {
|
||||
func (c *MockCliBuildKitEnabledCall) Do(f func() (bool, error)) *MockCliBuildKitEnabledCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliBuildKitEnabledCall) DoAndReturn(f func() (bool, error)) *CliBuildKitEnabledCall {
|
||||
func (c *MockCliBuildKitEnabledCall) DoAndReturn(f func() (bool, error)) *MockCliBuildKitEnabledCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -138,31 +142,31 @@ func (m *MockCli) Client() client0.APIClient {
|
||||
}
|
||||
|
||||
// Client indicates an expected call of Client.
|
||||
func (mr *MockCliMockRecorder) Client() *CliClientCall {
|
||||
func (mr *MockCliMockRecorder) Client() *MockCliClientCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Client", reflect.TypeOf((*MockCli)(nil).Client))
|
||||
return &CliClientCall{Call: call}
|
||||
return &MockCliClientCall{Call: call}
|
||||
}
|
||||
|
||||
// CliClientCall wrap *gomock.Call
|
||||
type CliClientCall struct {
|
||||
// MockCliClientCall wrap *gomock.Call
|
||||
type MockCliClientCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliClientCall) Return(arg0 client0.APIClient) *CliClientCall {
|
||||
func (c *MockCliClientCall) Return(arg0 client0.APIClient) *MockCliClientCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliClientCall) Do(f func() client0.APIClient) *CliClientCall {
|
||||
func (c *MockCliClientCall) Do(f func() client0.APIClient) *MockCliClientCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliClientCall) DoAndReturn(f func() client0.APIClient) *CliClientCall {
|
||||
func (c *MockCliClientCall) DoAndReturn(f func() client0.APIClient) *MockCliClientCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -176,31 +180,31 @@ func (m *MockCli) ConfigFile() *configfile.ConfigFile {
|
||||
}
|
||||
|
||||
// ConfigFile indicates an expected call of ConfigFile.
|
||||
func (mr *MockCliMockRecorder) ConfigFile() *CliConfigFileCall {
|
||||
func (mr *MockCliMockRecorder) ConfigFile() *MockCliConfigFileCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ConfigFile", reflect.TypeOf((*MockCli)(nil).ConfigFile))
|
||||
return &CliConfigFileCall{Call: call}
|
||||
return &MockCliConfigFileCall{Call: call}
|
||||
}
|
||||
|
||||
// CliConfigFileCall wrap *gomock.Call
|
||||
type CliConfigFileCall struct {
|
||||
// MockCliConfigFileCall wrap *gomock.Call
|
||||
type MockCliConfigFileCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliConfigFileCall) Return(arg0 *configfile.ConfigFile) *CliConfigFileCall {
|
||||
func (c *MockCliConfigFileCall) Return(arg0 *configfile.ConfigFile) *MockCliConfigFileCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliConfigFileCall) Do(f func() *configfile.ConfigFile) *CliConfigFileCall {
|
||||
func (c *MockCliConfigFileCall) Do(f func() *configfile.ConfigFile) *MockCliConfigFileCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliConfigFileCall) DoAndReturn(f func() *configfile.ConfigFile) *CliConfigFileCall {
|
||||
func (c *MockCliConfigFileCall) DoAndReturn(f func() *configfile.ConfigFile) *MockCliConfigFileCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -214,31 +218,31 @@ func (m *MockCli) ContentTrustEnabled() bool {
|
||||
}
|
||||
|
||||
// ContentTrustEnabled indicates an expected call of ContentTrustEnabled.
|
||||
func (mr *MockCliMockRecorder) ContentTrustEnabled() *CliContentTrustEnabledCall {
|
||||
func (mr *MockCliMockRecorder) ContentTrustEnabled() *MockCliContentTrustEnabledCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ContentTrustEnabled", reflect.TypeOf((*MockCli)(nil).ContentTrustEnabled))
|
||||
return &CliContentTrustEnabledCall{Call: call}
|
||||
return &MockCliContentTrustEnabledCall{Call: call}
|
||||
}
|
||||
|
||||
// CliContentTrustEnabledCall wrap *gomock.Call
|
||||
type CliContentTrustEnabledCall struct {
|
||||
// MockCliContentTrustEnabledCall wrap *gomock.Call
|
||||
type MockCliContentTrustEnabledCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliContentTrustEnabledCall) Return(arg0 bool) *CliContentTrustEnabledCall {
|
||||
func (c *MockCliContentTrustEnabledCall) Return(arg0 bool) *MockCliContentTrustEnabledCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliContentTrustEnabledCall) Do(f func() bool) *CliContentTrustEnabledCall {
|
||||
func (c *MockCliContentTrustEnabledCall) Do(f func() bool) *MockCliContentTrustEnabledCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliContentTrustEnabledCall) DoAndReturn(f func() bool) *CliContentTrustEnabledCall {
|
||||
func (c *MockCliContentTrustEnabledCall) DoAndReturn(f func() bool) *MockCliContentTrustEnabledCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -252,31 +256,31 @@ func (m *MockCli) ContextStore() store.Store {
|
||||
}
|
||||
|
||||
// ContextStore indicates an expected call of ContextStore.
|
||||
func (mr *MockCliMockRecorder) ContextStore() *CliContextStoreCall {
|
||||
func (mr *MockCliMockRecorder) ContextStore() *MockCliContextStoreCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ContextStore", reflect.TypeOf((*MockCli)(nil).ContextStore))
|
||||
return &CliContextStoreCall{Call: call}
|
||||
return &MockCliContextStoreCall{Call: call}
|
||||
}
|
||||
|
||||
// CliContextStoreCall wrap *gomock.Call
|
||||
type CliContextStoreCall struct {
|
||||
// MockCliContextStoreCall wrap *gomock.Call
|
||||
type MockCliContextStoreCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliContextStoreCall) Return(arg0 store.Store) *CliContextStoreCall {
|
||||
func (c *MockCliContextStoreCall) Return(arg0 store.Store) *MockCliContextStoreCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliContextStoreCall) Do(f func() store.Store) *CliContextStoreCall {
|
||||
func (c *MockCliContextStoreCall) Do(f func() store.Store) *MockCliContextStoreCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliContextStoreCall) DoAndReturn(f func() store.Store) *CliContextStoreCall {
|
||||
func (c *MockCliContextStoreCall) DoAndReturn(f func() store.Store) *MockCliContextStoreCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -290,31 +294,31 @@ func (m *MockCli) CurrentContext() string {
|
||||
}
|
||||
|
||||
// CurrentContext indicates an expected call of CurrentContext.
|
||||
func (mr *MockCliMockRecorder) CurrentContext() *CliCurrentContextCall {
|
||||
func (mr *MockCliMockRecorder) CurrentContext() *MockCliCurrentContextCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CurrentContext", reflect.TypeOf((*MockCli)(nil).CurrentContext))
|
||||
return &CliCurrentContextCall{Call: call}
|
||||
return &MockCliCurrentContextCall{Call: call}
|
||||
}
|
||||
|
||||
// CliCurrentContextCall wrap *gomock.Call
|
||||
type CliCurrentContextCall struct {
|
||||
// MockCliCurrentContextCall wrap *gomock.Call
|
||||
type MockCliCurrentContextCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliCurrentContextCall) Return(arg0 string) *CliCurrentContextCall {
|
||||
func (c *MockCliCurrentContextCall) Return(arg0 string) *MockCliCurrentContextCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliCurrentContextCall) Do(f func() string) *CliCurrentContextCall {
|
||||
func (c *MockCliCurrentContextCall) Do(f func() string) *MockCliCurrentContextCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliCurrentContextCall) DoAndReturn(f func() string) *CliCurrentContextCall {
|
||||
func (c *MockCliCurrentContextCall) DoAndReturn(f func() string) *MockCliCurrentContextCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -328,31 +332,31 @@ func (m *MockCli) CurrentVersion() string {
|
||||
}
|
||||
|
||||
// CurrentVersion indicates an expected call of CurrentVersion.
|
||||
func (mr *MockCliMockRecorder) CurrentVersion() *CliCurrentVersionCall {
|
||||
func (mr *MockCliMockRecorder) CurrentVersion() *MockCliCurrentVersionCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CurrentVersion", reflect.TypeOf((*MockCli)(nil).CurrentVersion))
|
||||
return &CliCurrentVersionCall{Call: call}
|
||||
return &MockCliCurrentVersionCall{Call: call}
|
||||
}
|
||||
|
||||
// CliCurrentVersionCall wrap *gomock.Call
|
||||
type CliCurrentVersionCall struct {
|
||||
// MockCliCurrentVersionCall wrap *gomock.Call
|
||||
type MockCliCurrentVersionCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliCurrentVersionCall) Return(arg0 string) *CliCurrentVersionCall {
|
||||
func (c *MockCliCurrentVersionCall) Return(arg0 string) *MockCliCurrentVersionCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliCurrentVersionCall) Do(f func() string) *CliCurrentVersionCall {
|
||||
func (c *MockCliCurrentVersionCall) Do(f func() string) *MockCliCurrentVersionCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliCurrentVersionCall) DoAndReturn(f func() string) *CliCurrentVersionCall {
|
||||
func (c *MockCliCurrentVersionCall) DoAndReturn(f func() string) *MockCliCurrentVersionCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -366,31 +370,31 @@ func (m *MockCli) DefaultVersion() string {
|
||||
}
|
||||
|
||||
// DefaultVersion indicates an expected call of DefaultVersion.
|
||||
func (mr *MockCliMockRecorder) DefaultVersion() *CliDefaultVersionCall {
|
||||
func (mr *MockCliMockRecorder) DefaultVersion() *MockCliDefaultVersionCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DefaultVersion", reflect.TypeOf((*MockCli)(nil).DefaultVersion))
|
||||
return &CliDefaultVersionCall{Call: call}
|
||||
return &MockCliDefaultVersionCall{Call: call}
|
||||
}
|
||||
|
||||
// CliDefaultVersionCall wrap *gomock.Call
|
||||
type CliDefaultVersionCall struct {
|
||||
// MockCliDefaultVersionCall wrap *gomock.Call
|
||||
type MockCliDefaultVersionCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliDefaultVersionCall) Return(arg0 string) *CliDefaultVersionCall {
|
||||
func (c *MockCliDefaultVersionCall) Return(arg0 string) *MockCliDefaultVersionCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliDefaultVersionCall) Do(f func() string) *CliDefaultVersionCall {
|
||||
func (c *MockCliDefaultVersionCall) Do(f func() string) *MockCliDefaultVersionCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliDefaultVersionCall) DoAndReturn(f func() string) *CliDefaultVersionCall {
|
||||
func (c *MockCliDefaultVersionCall) DoAndReturn(f func() string) *MockCliDefaultVersionCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -404,69 +408,69 @@ func (m *MockCli) DockerEndpoint() docker.Endpoint {
|
||||
}
|
||||
|
||||
// DockerEndpoint indicates an expected call of DockerEndpoint.
|
||||
func (mr *MockCliMockRecorder) DockerEndpoint() *CliDockerEndpointCall {
|
||||
func (mr *MockCliMockRecorder) DockerEndpoint() *MockCliDockerEndpointCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DockerEndpoint", reflect.TypeOf((*MockCli)(nil).DockerEndpoint))
|
||||
return &CliDockerEndpointCall{Call: call}
|
||||
return &MockCliDockerEndpointCall{Call: call}
|
||||
}
|
||||
|
||||
// CliDockerEndpointCall wrap *gomock.Call
|
||||
type CliDockerEndpointCall struct {
|
||||
// MockCliDockerEndpointCall wrap *gomock.Call
|
||||
type MockCliDockerEndpointCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliDockerEndpointCall) Return(arg0 docker.Endpoint) *CliDockerEndpointCall {
|
||||
func (c *MockCliDockerEndpointCall) Return(arg0 docker.Endpoint) *MockCliDockerEndpointCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliDockerEndpointCall) Do(f func() docker.Endpoint) *CliDockerEndpointCall {
|
||||
func (c *MockCliDockerEndpointCall) Do(f func() docker.Endpoint) *MockCliDockerEndpointCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliDockerEndpointCall) DoAndReturn(f func() docker.Endpoint) *CliDockerEndpointCall {
|
||||
func (c *MockCliDockerEndpointCall) DoAndReturn(f func() docker.Endpoint) *MockCliDockerEndpointCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// Err mocks base method.
|
||||
func (m *MockCli) Err() io.Writer {
|
||||
func (m *MockCli) Err() *streams.Out {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Err")
|
||||
ret0, _ := ret[0].(io.Writer)
|
||||
ret0, _ := ret[0].(*streams.Out)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// Err indicates an expected call of Err.
|
||||
func (mr *MockCliMockRecorder) Err() *CliErrCall {
|
||||
func (mr *MockCliMockRecorder) Err() *MockCliErrCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Err", reflect.TypeOf((*MockCli)(nil).Err))
|
||||
return &CliErrCall{Call: call}
|
||||
return &MockCliErrCall{Call: call}
|
||||
}
|
||||
|
||||
// CliErrCall wrap *gomock.Call
|
||||
type CliErrCall struct {
|
||||
// MockCliErrCall wrap *gomock.Call
|
||||
type MockCliErrCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliErrCall) Return(arg0 io.Writer) *CliErrCall {
|
||||
func (c *MockCliErrCall) Return(arg0 *streams.Out) *MockCliErrCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliErrCall) Do(f func() io.Writer) *CliErrCall {
|
||||
func (c *MockCliErrCall) Do(f func() *streams.Out) *MockCliErrCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliErrCall) DoAndReturn(f func() io.Writer) *CliErrCall {
|
||||
func (c *MockCliErrCall) DoAndReturn(f func() *streams.Out) *MockCliErrCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -480,31 +484,31 @@ func (m *MockCli) In() *streams.In {
|
||||
}
|
||||
|
||||
// In indicates an expected call of In.
|
||||
func (mr *MockCliMockRecorder) In() *CliInCall {
|
||||
func (mr *MockCliMockRecorder) In() *MockCliInCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "In", reflect.TypeOf((*MockCli)(nil).In))
|
||||
return &CliInCall{Call: call}
|
||||
return &MockCliInCall{Call: call}
|
||||
}
|
||||
|
||||
// CliInCall wrap *gomock.Call
|
||||
type CliInCall struct {
|
||||
// MockCliInCall wrap *gomock.Call
|
||||
type MockCliInCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliInCall) Return(arg0 *streams.In) *CliInCall {
|
||||
func (c *MockCliInCall) Return(arg0 *streams.In) *MockCliInCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliInCall) Do(f func() *streams.In) *CliInCall {
|
||||
func (c *MockCliInCall) Do(f func() *streams.In) *MockCliInCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliInCall) DoAndReturn(f func() *streams.In) *CliInCall {
|
||||
func (c *MockCliInCall) DoAndReturn(f func() *streams.In) *MockCliInCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -518,31 +522,69 @@ func (m *MockCli) ManifestStore() store0.Store {
|
||||
}
|
||||
|
||||
// ManifestStore indicates an expected call of ManifestStore.
|
||||
func (mr *MockCliMockRecorder) ManifestStore() *CliManifestStoreCall {
|
||||
func (mr *MockCliMockRecorder) ManifestStore() *MockCliManifestStoreCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ManifestStore", reflect.TypeOf((*MockCli)(nil).ManifestStore))
|
||||
return &CliManifestStoreCall{Call: call}
|
||||
return &MockCliManifestStoreCall{Call: call}
|
||||
}
|
||||
|
||||
// CliManifestStoreCall wrap *gomock.Call
|
||||
type CliManifestStoreCall struct {
|
||||
// MockCliManifestStoreCall wrap *gomock.Call
|
||||
type MockCliManifestStoreCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliManifestStoreCall) Return(arg0 store0.Store) *CliManifestStoreCall {
|
||||
func (c *MockCliManifestStoreCall) Return(arg0 store0.Store) *MockCliManifestStoreCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliManifestStoreCall) Do(f func() store0.Store) *CliManifestStoreCall {
|
||||
func (c *MockCliManifestStoreCall) Do(f func() store0.Store) *MockCliManifestStoreCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliManifestStoreCall) DoAndReturn(f func() store0.Store) *CliManifestStoreCall {
|
||||
func (c *MockCliManifestStoreCall) DoAndReturn(f func() store0.Store) *MockCliManifestStoreCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// MeterProvider mocks base method.
|
||||
func (m *MockCli) MeterProvider() metric.MeterProvider {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "MeterProvider")
|
||||
ret0, _ := ret[0].(metric.MeterProvider)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// MeterProvider indicates an expected call of MeterProvider.
|
||||
func (mr *MockCliMockRecorder) MeterProvider() *MockCliMeterProviderCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MeterProvider", reflect.TypeOf((*MockCli)(nil).MeterProvider))
|
||||
return &MockCliMeterProviderCall{Call: call}
|
||||
}
|
||||
|
||||
// MockCliMeterProviderCall wrap *gomock.Call
|
||||
type MockCliMeterProviderCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *MockCliMeterProviderCall) Return(arg0 metric.MeterProvider) *MockCliMeterProviderCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *MockCliMeterProviderCall) Do(f func() metric.MeterProvider) *MockCliMeterProviderCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *MockCliMeterProviderCall) DoAndReturn(f func() metric.MeterProvider) *MockCliMeterProviderCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -557,31 +599,31 @@ func (m *MockCli) NotaryClient(imgRefAndAuth trust.ImageRefAndAuth, actions []st
|
||||
}
|
||||
|
||||
// NotaryClient indicates an expected call of NotaryClient.
|
||||
func (mr *MockCliMockRecorder) NotaryClient(imgRefAndAuth, actions any) *CliNotaryClientCall {
|
||||
func (mr *MockCliMockRecorder) NotaryClient(imgRefAndAuth, actions any) *MockCliNotaryClientCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NotaryClient", reflect.TypeOf((*MockCli)(nil).NotaryClient), imgRefAndAuth, actions)
|
||||
return &CliNotaryClientCall{Call: call}
|
||||
return &MockCliNotaryClientCall{Call: call}
|
||||
}
|
||||
|
||||
// CliNotaryClientCall wrap *gomock.Call
|
||||
type CliNotaryClientCall struct {
|
||||
// MockCliNotaryClientCall wrap *gomock.Call
|
||||
type MockCliNotaryClientCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliNotaryClientCall) Return(arg0 client1.Repository, arg1 error) *CliNotaryClientCall {
|
||||
func (c *MockCliNotaryClientCall) Return(arg0 client1.Repository, arg1 error) *MockCliNotaryClientCall {
|
||||
c.Call = c.Call.Return(arg0, arg1)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliNotaryClientCall) Do(f func(trust.ImageRefAndAuth, []string) (client1.Repository, error)) *CliNotaryClientCall {
|
||||
func (c *MockCliNotaryClientCall) Do(f func(trust.ImageRefAndAuth, []string) (client1.Repository, error)) *MockCliNotaryClientCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliNotaryClientCall) DoAndReturn(f func(trust.ImageRefAndAuth, []string) (client1.Repository, error)) *CliNotaryClientCall {
|
||||
func (c *MockCliNotaryClientCall) DoAndReturn(f func(trust.ImageRefAndAuth, []string) (client1.Repository, error)) *MockCliNotaryClientCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -595,31 +637,31 @@ func (m *MockCli) Out() *streams.Out {
|
||||
}
|
||||
|
||||
// Out indicates an expected call of Out.
|
||||
func (mr *MockCliMockRecorder) Out() *CliOutCall {
|
||||
func (mr *MockCliMockRecorder) Out() *MockCliOutCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Out", reflect.TypeOf((*MockCli)(nil).Out))
|
||||
return &CliOutCall{Call: call}
|
||||
return &MockCliOutCall{Call: call}
|
||||
}
|
||||
|
||||
// CliOutCall wrap *gomock.Call
|
||||
type CliOutCall struct {
|
||||
// MockCliOutCall wrap *gomock.Call
|
||||
type MockCliOutCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliOutCall) Return(arg0 *streams.Out) *CliOutCall {
|
||||
func (c *MockCliOutCall) Return(arg0 *streams.Out) *MockCliOutCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliOutCall) Do(f func() *streams.Out) *CliOutCall {
|
||||
func (c *MockCliOutCall) Do(f func() *streams.Out) *MockCliOutCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliOutCall) DoAndReturn(f func() *streams.Out) *CliOutCall {
|
||||
func (c *MockCliOutCall) DoAndReturn(f func() *streams.Out) *MockCliOutCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -633,31 +675,69 @@ func (m *MockCli) RegistryClient(arg0 bool) client.RegistryClient {
|
||||
}
|
||||
|
||||
// RegistryClient indicates an expected call of RegistryClient.
|
||||
func (mr *MockCliMockRecorder) RegistryClient(arg0 any) *CliRegistryClientCall {
|
||||
func (mr *MockCliMockRecorder) RegistryClient(arg0 any) *MockCliRegistryClientCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegistryClient", reflect.TypeOf((*MockCli)(nil).RegistryClient), arg0)
|
||||
return &CliRegistryClientCall{Call: call}
|
||||
return &MockCliRegistryClientCall{Call: call}
|
||||
}
|
||||
|
||||
// CliRegistryClientCall wrap *gomock.Call
|
||||
type CliRegistryClientCall struct {
|
||||
// MockCliRegistryClientCall wrap *gomock.Call
|
||||
type MockCliRegistryClientCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliRegistryClientCall) Return(arg0 client.RegistryClient) *CliRegistryClientCall {
|
||||
func (c *MockCliRegistryClientCall) Return(arg0 client.RegistryClient) *MockCliRegistryClientCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliRegistryClientCall) Do(f func(bool) client.RegistryClient) *CliRegistryClientCall {
|
||||
func (c *MockCliRegistryClientCall) Do(f func(bool) client.RegistryClient) *MockCliRegistryClientCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliRegistryClientCall) DoAndReturn(f func(bool) client.RegistryClient) *CliRegistryClientCall {
|
||||
func (c *MockCliRegistryClientCall) DoAndReturn(f func(bool) client.RegistryClient) *MockCliRegistryClientCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// Resource mocks base method.
|
||||
func (m *MockCli) Resource() *resource.Resource {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Resource")
|
||||
ret0, _ := ret[0].(*resource.Resource)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// Resource indicates an expected call of Resource.
|
||||
func (mr *MockCliMockRecorder) Resource() *MockCliResourceCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Resource", reflect.TypeOf((*MockCli)(nil).Resource))
|
||||
return &MockCliResourceCall{Call: call}
|
||||
}
|
||||
|
||||
// MockCliResourceCall wrap *gomock.Call
|
||||
type MockCliResourceCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *MockCliResourceCall) Return(arg0 *resource.Resource) *MockCliResourceCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *MockCliResourceCall) Do(f func() *resource.Resource) *MockCliResourceCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *MockCliResourceCall) DoAndReturn(f func() *resource.Resource) *MockCliResourceCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -671,31 +751,31 @@ func (m *MockCli) ServerInfo() command.ServerInfo {
|
||||
}
|
||||
|
||||
// ServerInfo indicates an expected call of ServerInfo.
|
||||
func (mr *MockCliMockRecorder) ServerInfo() *CliServerInfoCall {
|
||||
func (mr *MockCliMockRecorder) ServerInfo() *MockCliServerInfoCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ServerInfo", reflect.TypeOf((*MockCli)(nil).ServerInfo))
|
||||
return &CliServerInfoCall{Call: call}
|
||||
return &MockCliServerInfoCall{Call: call}
|
||||
}
|
||||
|
||||
// CliServerInfoCall wrap *gomock.Call
|
||||
type CliServerInfoCall struct {
|
||||
// MockCliServerInfoCall wrap *gomock.Call
|
||||
type MockCliServerInfoCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliServerInfoCall) Return(arg0 command.ServerInfo) *CliServerInfoCall {
|
||||
func (c *MockCliServerInfoCall) Return(arg0 command.ServerInfo) *MockCliServerInfoCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliServerInfoCall) Do(f func() command.ServerInfo) *CliServerInfoCall {
|
||||
func (c *MockCliServerInfoCall) Do(f func() command.ServerInfo) *MockCliServerInfoCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliServerInfoCall) DoAndReturn(f func() command.ServerInfo) *CliServerInfoCall {
|
||||
func (c *MockCliServerInfoCall) DoAndReturn(f func() command.ServerInfo) *MockCliServerInfoCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -707,31 +787,69 @@ func (m *MockCli) SetIn(in *streams.In) {
|
||||
}
|
||||
|
||||
// SetIn indicates an expected call of SetIn.
|
||||
func (mr *MockCliMockRecorder) SetIn(in any) *CliSetInCall {
|
||||
func (mr *MockCliMockRecorder) SetIn(in any) *MockCliSetInCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetIn", reflect.TypeOf((*MockCli)(nil).SetIn), in)
|
||||
return &CliSetInCall{Call: call}
|
||||
return &MockCliSetInCall{Call: call}
|
||||
}
|
||||
|
||||
// CliSetInCall wrap *gomock.Call
|
||||
type CliSetInCall struct {
|
||||
// MockCliSetInCall wrap *gomock.Call
|
||||
type MockCliSetInCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliSetInCall) Return() *CliSetInCall {
|
||||
func (c *MockCliSetInCall) Return() *MockCliSetInCall {
|
||||
c.Call = c.Call.Return()
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliSetInCall) Do(f func(*streams.In)) *CliSetInCall {
|
||||
func (c *MockCliSetInCall) Do(f func(*streams.In)) *MockCliSetInCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliSetInCall) DoAndReturn(f func(*streams.In)) *CliSetInCall {
|
||||
func (c *MockCliSetInCall) DoAndReturn(f func(*streams.In)) *MockCliSetInCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// TracerProvider mocks base method.
|
||||
func (m *MockCli) TracerProvider() trace.TracerProvider {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "TracerProvider")
|
||||
ret0, _ := ret[0].(trace.TracerProvider)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// TracerProvider indicates an expected call of TracerProvider.
|
||||
func (mr *MockCliMockRecorder) TracerProvider() *MockCliTracerProviderCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TracerProvider", reflect.TypeOf((*MockCli)(nil).TracerProvider))
|
||||
return &MockCliTracerProviderCall{Call: call}
|
||||
}
|
||||
|
||||
// MockCliTracerProviderCall wrap *gomock.Call
|
||||
type MockCliTracerProviderCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *MockCliTracerProviderCall) Return(arg0 trace.TracerProvider) *MockCliTracerProviderCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *MockCliTracerProviderCall) Do(f func() trace.TracerProvider) *MockCliTracerProviderCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *MockCliTracerProviderCall) DoAndReturn(f func() trace.TracerProvider) *MockCliTracerProviderCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
195
provider/internal/mockclient_test.go
generated
195
provider/internal/mockclient_test.go
generated
@@ -5,6 +5,7 @@
|
||||
//
|
||||
// mockgen -typed -package internal -source client.go -destination mockclient_test.go --self_package github.com/pulumi/pulumi-docker-build/provider/internal
|
||||
//
|
||||
|
||||
// Package internal is a generated GoMock package.
|
||||
package internal
|
||||
|
||||
@@ -23,6 +24,7 @@ import (
|
||||
type MockClient struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockClientMockRecorder
|
||||
isgomock struct{}
|
||||
}
|
||||
|
||||
// MockClientMockRecorder is the mock recorder for MockClient.
|
||||
@@ -52,31 +54,31 @@ func (m *MockClient) Build(ctx context.Context, b Build) (*client.SolveResponse,
|
||||
}
|
||||
|
||||
// Build indicates an expected call of Build.
|
||||
func (mr *MockClientMockRecorder) Build(ctx, b any) *ClientBuildCall {
|
||||
func (mr *MockClientMockRecorder) Build(ctx, b any) *MockClientBuildCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Build", reflect.TypeOf((*MockClient)(nil).Build), ctx, b)
|
||||
return &ClientBuildCall{Call: call}
|
||||
return &MockClientBuildCall{Call: call}
|
||||
}
|
||||
|
||||
// ClientBuildCall wrap *gomock.Call
|
||||
type ClientBuildCall struct {
|
||||
// MockClientBuildCall wrap *gomock.Call
|
||||
type MockClientBuildCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *ClientBuildCall) Return(arg0 *client.SolveResponse, arg1 error) *ClientBuildCall {
|
||||
func (c *MockClientBuildCall) Return(arg0 *client.SolveResponse, arg1 error) *MockClientBuildCall {
|
||||
c.Call = c.Call.Return(arg0, arg1)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *ClientBuildCall) Do(f func(context.Context, Build) (*client.SolveResponse, error)) *ClientBuildCall {
|
||||
func (c *MockClientBuildCall) Do(f func(context.Context, Build) (*client.SolveResponse, error)) *MockClientBuildCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *ClientBuildCall) DoAndReturn(f func(context.Context, Build) (*client.SolveResponse, error)) *ClientBuildCall {
|
||||
func (c *MockClientBuildCall) DoAndReturn(f func(context.Context, Build) (*client.SolveResponse, error)) *MockClientBuildCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -91,31 +93,31 @@ func (m *MockClient) BuildKitEnabled() (bool, error) {
|
||||
}
|
||||
|
||||
// BuildKitEnabled indicates an expected call of BuildKitEnabled.
|
||||
func (mr *MockClientMockRecorder) BuildKitEnabled() *ClientBuildKitEnabledCall {
|
||||
func (mr *MockClientMockRecorder) BuildKitEnabled() *MockClientBuildKitEnabledCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BuildKitEnabled", reflect.TypeOf((*MockClient)(nil).BuildKitEnabled))
|
||||
return &ClientBuildKitEnabledCall{Call: call}
|
||||
return &MockClientBuildKitEnabledCall{Call: call}
|
||||
}
|
||||
|
||||
// ClientBuildKitEnabledCall wrap *gomock.Call
|
||||
type ClientBuildKitEnabledCall struct {
|
||||
// MockClientBuildKitEnabledCall wrap *gomock.Call
|
||||
type MockClientBuildKitEnabledCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *ClientBuildKitEnabledCall) Return(arg0 bool, arg1 error) *ClientBuildKitEnabledCall {
|
||||
func (c *MockClientBuildKitEnabledCall) Return(arg0 bool, arg1 error) *MockClientBuildKitEnabledCall {
|
||||
c.Call = c.Call.Return(arg0, arg1)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *ClientBuildKitEnabledCall) Do(f func() (bool, error)) *ClientBuildKitEnabledCall {
|
||||
func (c *MockClientBuildKitEnabledCall) Do(f func() (bool, error)) *MockClientBuildKitEnabledCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *ClientBuildKitEnabledCall) DoAndReturn(f func() (bool, error)) *ClientBuildKitEnabledCall {
|
||||
func (c *MockClientBuildKitEnabledCall) DoAndReturn(f func() (bool, error)) *MockClientBuildKitEnabledCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -129,31 +131,31 @@ func (m *MockClient) Delete(ctx context.Context, id string) error {
|
||||
}
|
||||
|
||||
// Delete indicates an expected call of Delete.
|
||||
func (mr *MockClientMockRecorder) Delete(ctx, id any) *ClientDeleteCall {
|
||||
func (mr *MockClientMockRecorder) Delete(ctx, id any) *MockClientDeleteCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockClient)(nil).Delete), ctx, id)
|
||||
return &ClientDeleteCall{Call: call}
|
||||
return &MockClientDeleteCall{Call: call}
|
||||
}
|
||||
|
||||
// ClientDeleteCall wrap *gomock.Call
|
||||
type ClientDeleteCall struct {
|
||||
// MockClientDeleteCall wrap *gomock.Call
|
||||
type MockClientDeleteCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *ClientDeleteCall) Return(arg0 error) *ClientDeleteCall {
|
||||
func (c *MockClientDeleteCall) Return(arg0 error) *MockClientDeleteCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *ClientDeleteCall) Do(f func(context.Context, string) error) *ClientDeleteCall {
|
||||
func (c *MockClientDeleteCall) Do(f func(context.Context, string) error) *MockClientDeleteCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *ClientDeleteCall) DoAndReturn(f func(context.Context, string) error) *ClientDeleteCall {
|
||||
func (c *MockClientDeleteCall) DoAndReturn(f func(context.Context, string) error) *MockClientDeleteCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -168,31 +170,31 @@ func (m *MockClient) Inspect(ctx context.Context, id string) ([]descriptor.Descr
|
||||
}
|
||||
|
||||
// Inspect indicates an expected call of Inspect.
|
||||
func (mr *MockClientMockRecorder) Inspect(ctx, id any) *ClientInspectCall {
|
||||
func (mr *MockClientMockRecorder) Inspect(ctx, id any) *MockClientInspectCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Inspect", reflect.TypeOf((*MockClient)(nil).Inspect), ctx, id)
|
||||
return &ClientInspectCall{Call: call}
|
||||
return &MockClientInspectCall{Call: call}
|
||||
}
|
||||
|
||||
// ClientInspectCall wrap *gomock.Call
|
||||
type ClientInspectCall struct {
|
||||
// MockClientInspectCall wrap *gomock.Call
|
||||
type MockClientInspectCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *ClientInspectCall) Return(arg0 []descriptor.Descriptor, arg1 error) *ClientInspectCall {
|
||||
func (c *MockClientInspectCall) Return(arg0 []descriptor.Descriptor, arg1 error) *MockClientInspectCall {
|
||||
c.Call = c.Call.Return(arg0, arg1)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *ClientInspectCall) Do(f func(context.Context, string) ([]descriptor.Descriptor, error)) *ClientInspectCall {
|
||||
func (c *MockClientInspectCall) Do(f func(context.Context, string) ([]descriptor.Descriptor, error)) *MockClientInspectCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *ClientInspectCall) DoAndReturn(f func(context.Context, string) ([]descriptor.Descriptor, error)) *ClientInspectCall {
|
||||
func (c *MockClientInspectCall) DoAndReturn(f func(context.Context, string) ([]descriptor.Descriptor, error)) *MockClientInspectCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -210,32 +212,32 @@ func (m *MockClient) ManifestCreate(ctx context.Context, push bool, target strin
|
||||
}
|
||||
|
||||
// ManifestCreate indicates an expected call of ManifestCreate.
|
||||
func (mr *MockClientMockRecorder) ManifestCreate(ctx, push, target any, refs ...any) *ClientManifestCreateCall {
|
||||
func (mr *MockClientMockRecorder) ManifestCreate(ctx, push, target any, refs ...any) *MockClientManifestCreateCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
varargs := append([]any{ctx, push, target}, refs...)
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ManifestCreate", reflect.TypeOf((*MockClient)(nil).ManifestCreate), varargs...)
|
||||
return &ClientManifestCreateCall{Call: call}
|
||||
return &MockClientManifestCreateCall{Call: call}
|
||||
}
|
||||
|
||||
// ClientManifestCreateCall wrap *gomock.Call
|
||||
type ClientManifestCreateCall struct {
|
||||
// MockClientManifestCreateCall wrap *gomock.Call
|
||||
type MockClientManifestCreateCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *ClientManifestCreateCall) Return(arg0 error) *ClientManifestCreateCall {
|
||||
func (c *MockClientManifestCreateCall) Return(arg0 error) *MockClientManifestCreateCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *ClientManifestCreateCall) Do(f func(context.Context, bool, string, ...string) error) *ClientManifestCreateCall {
|
||||
func (c *MockClientManifestCreateCall) Do(f func(context.Context, bool, string, ...string) error) *MockClientManifestCreateCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *ClientManifestCreateCall) DoAndReturn(f func(context.Context, bool, string, ...string) error) *ClientManifestCreateCall {
|
||||
func (c *MockClientManifestCreateCall) DoAndReturn(f func(context.Context, bool, string, ...string) error) *MockClientManifestCreateCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -249,31 +251,31 @@ func (m *MockClient) ManifestDelete(ctx context.Context, target string) error {
|
||||
}
|
||||
|
||||
// ManifestDelete indicates an expected call of ManifestDelete.
|
||||
func (mr *MockClientMockRecorder) ManifestDelete(ctx, target any) *ClientManifestDeleteCall {
|
||||
func (mr *MockClientMockRecorder) ManifestDelete(ctx, target any) *MockClientManifestDeleteCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ManifestDelete", reflect.TypeOf((*MockClient)(nil).ManifestDelete), ctx, target)
|
||||
return &ClientManifestDeleteCall{Call: call}
|
||||
return &MockClientManifestDeleteCall{Call: call}
|
||||
}
|
||||
|
||||
// ClientManifestDeleteCall wrap *gomock.Call
|
||||
type ClientManifestDeleteCall struct {
|
||||
// MockClientManifestDeleteCall wrap *gomock.Call
|
||||
type MockClientManifestDeleteCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *ClientManifestDeleteCall) Return(arg0 error) *ClientManifestDeleteCall {
|
||||
func (c *MockClientManifestDeleteCall) Return(arg0 error) *MockClientManifestDeleteCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *ClientManifestDeleteCall) Do(f func(context.Context, string) error) *ClientManifestDeleteCall {
|
||||
func (c *MockClientManifestDeleteCall) Do(f func(context.Context, string) error) *MockClientManifestDeleteCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *ClientManifestDeleteCall) DoAndReturn(f func(context.Context, string) error) *ClientManifestDeleteCall {
|
||||
func (c *MockClientManifestDeleteCall) DoAndReturn(f func(context.Context, string) error) *MockClientManifestDeleteCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -288,31 +290,69 @@ func (m *MockClient) ManifestInspect(ctx context.Context, target string) (string
|
||||
}
|
||||
|
||||
// ManifestInspect indicates an expected call of ManifestInspect.
|
||||
func (mr *MockClientMockRecorder) ManifestInspect(ctx, target any) *ClientManifestInspectCall {
|
||||
func (mr *MockClientMockRecorder) ManifestInspect(ctx, target any) *MockClientManifestInspectCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ManifestInspect", reflect.TypeOf((*MockClient)(nil).ManifestInspect), ctx, target)
|
||||
return &ClientManifestInspectCall{Call: call}
|
||||
return &MockClientManifestInspectCall{Call: call}
|
||||
}
|
||||
|
||||
// ClientManifestInspectCall wrap *gomock.Call
|
||||
type ClientManifestInspectCall struct {
|
||||
// MockClientManifestInspectCall wrap *gomock.Call
|
||||
type MockClientManifestInspectCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *ClientManifestInspectCall) Return(arg0 string, arg1 error) *ClientManifestInspectCall {
|
||||
func (c *MockClientManifestInspectCall) Return(arg0 string, arg1 error) *MockClientManifestInspectCall {
|
||||
c.Call = c.Call.Return(arg0, arg1)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *ClientManifestInspectCall) Do(f func(context.Context, string) (string, error)) *ClientManifestInspectCall {
|
||||
func (c *MockClientManifestInspectCall) Do(f func(context.Context, string) (string, error)) *MockClientManifestInspectCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *ClientManifestInspectCall) DoAndReturn(f func(context.Context, string) (string, error)) *ClientManifestInspectCall {
|
||||
func (c *MockClientManifestInspectCall) DoAndReturn(f func(context.Context, string) (string, error)) *MockClientManifestInspectCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// SupportsMultipleExports mocks base method.
|
||||
func (m *MockClient) SupportsMultipleExports() bool {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "SupportsMultipleExports")
|
||||
ret0, _ := ret[0].(bool)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// SupportsMultipleExports indicates an expected call of SupportsMultipleExports.
|
||||
func (mr *MockClientMockRecorder) SupportsMultipleExports() *MockClientSupportsMultipleExportsCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SupportsMultipleExports", reflect.TypeOf((*MockClient)(nil).SupportsMultipleExports))
|
||||
return &MockClientSupportsMultipleExportsCall{Call: call}
|
||||
}
|
||||
|
||||
// MockClientSupportsMultipleExportsCall wrap *gomock.Call
|
||||
type MockClientSupportsMultipleExportsCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *MockClientSupportsMultipleExportsCall) Return(arg0 bool) *MockClientSupportsMultipleExportsCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *MockClientSupportsMultipleExportsCall) Do(f func() bool) *MockClientSupportsMultipleExportsCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *MockClientSupportsMultipleExportsCall) DoAndReturn(f func() bool) *MockClientSupportsMultipleExportsCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -321,6 +361,7 @@ func (c *ClientManifestInspectCall) DoAndReturn(f func(context.Context, string)
|
||||
type MockBuild struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockBuildMockRecorder
|
||||
isgomock struct{}
|
||||
}
|
||||
|
||||
// MockBuildMockRecorder is the mock recorder for MockBuild.
|
||||
@@ -349,31 +390,31 @@ func (m *MockBuild) BuildOptions() pb.BuildOptions {
|
||||
}
|
||||
|
||||
// BuildOptions indicates an expected call of BuildOptions.
|
||||
func (mr *MockBuildMockRecorder) BuildOptions() *BuildBuildOptionsCall {
|
||||
func (mr *MockBuildMockRecorder) BuildOptions() *MockBuildBuildOptionsCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BuildOptions", reflect.TypeOf((*MockBuild)(nil).BuildOptions))
|
||||
return &BuildBuildOptionsCall{Call: call}
|
||||
return &MockBuildBuildOptionsCall{Call: call}
|
||||
}
|
||||
|
||||
// BuildBuildOptionsCall wrap *gomock.Call
|
||||
type BuildBuildOptionsCall struct {
|
||||
// MockBuildBuildOptionsCall wrap *gomock.Call
|
||||
type MockBuildBuildOptionsCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *BuildBuildOptionsCall) Return(arg0 pb.BuildOptions) *BuildBuildOptionsCall {
|
||||
func (c *MockBuildBuildOptionsCall) Return(arg0 pb.BuildOptions) *MockBuildBuildOptionsCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *BuildBuildOptionsCall) Do(f func() pb.BuildOptions) *BuildBuildOptionsCall {
|
||||
func (c *MockBuildBuildOptionsCall) Do(f func() pb.BuildOptions) *MockBuildBuildOptionsCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *BuildBuildOptionsCall) DoAndReturn(f func() pb.BuildOptions) *BuildBuildOptionsCall {
|
||||
func (c *MockBuildBuildOptionsCall) DoAndReturn(f func() pb.BuildOptions) *MockBuildBuildOptionsCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -387,31 +428,31 @@ func (m *MockBuild) Inline() string {
|
||||
}
|
||||
|
||||
// Inline indicates an expected call of Inline.
|
||||
func (mr *MockBuildMockRecorder) Inline() *BuildInlineCall {
|
||||
func (mr *MockBuildMockRecorder) Inline() *MockBuildInlineCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Inline", reflect.TypeOf((*MockBuild)(nil).Inline))
|
||||
return &BuildInlineCall{Call: call}
|
||||
return &MockBuildInlineCall{Call: call}
|
||||
}
|
||||
|
||||
// BuildInlineCall wrap *gomock.Call
|
||||
type BuildInlineCall struct {
|
||||
// MockBuildInlineCall wrap *gomock.Call
|
||||
type MockBuildInlineCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *BuildInlineCall) Return(arg0 string) *BuildInlineCall {
|
||||
func (c *MockBuildInlineCall) Return(arg0 string) *MockBuildInlineCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *BuildInlineCall) Do(f func() string) *BuildInlineCall {
|
||||
func (c *MockBuildInlineCall) Do(f func() string) *MockBuildInlineCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *BuildInlineCall) DoAndReturn(f func() string) *BuildInlineCall {
|
||||
func (c *MockBuildInlineCall) DoAndReturn(f func() string) *MockBuildInlineCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -425,31 +466,31 @@ func (m *MockBuild) Secrets() session.Attachable {
|
||||
}
|
||||
|
||||
// Secrets indicates an expected call of Secrets.
|
||||
func (mr *MockBuildMockRecorder) Secrets() *BuildSecretsCall {
|
||||
func (mr *MockBuildMockRecorder) Secrets() *MockBuildSecretsCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Secrets", reflect.TypeOf((*MockBuild)(nil).Secrets))
|
||||
return &BuildSecretsCall{Call: call}
|
||||
return &MockBuildSecretsCall{Call: call}
|
||||
}
|
||||
|
||||
// BuildSecretsCall wrap *gomock.Call
|
||||
type BuildSecretsCall struct {
|
||||
// MockBuildSecretsCall wrap *gomock.Call
|
||||
type MockBuildSecretsCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *BuildSecretsCall) Return(arg0 session.Attachable) *BuildSecretsCall {
|
||||
func (c *MockBuildSecretsCall) Return(arg0 session.Attachable) *MockBuildSecretsCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *BuildSecretsCall) Do(f func() session.Attachable) *BuildSecretsCall {
|
||||
func (c *MockBuildSecretsCall) Do(f func() session.Attachable) *MockBuildSecretsCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *BuildSecretsCall) DoAndReturn(f func() session.Attachable) *BuildSecretsCall {
|
||||
func (c *MockBuildSecretsCall) DoAndReturn(f func() session.Attachable) *MockBuildSecretsCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
@@ -463,31 +504,31 @@ func (m *MockBuild) ShouldExec() bool {
|
||||
}
|
||||
|
||||
// ShouldExec indicates an expected call of ShouldExec.
|
||||
func (mr *MockBuildMockRecorder) ShouldExec() *BuildShouldExecCall {
|
||||
func (mr *MockBuildMockRecorder) ShouldExec() *MockBuildShouldExecCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ShouldExec", reflect.TypeOf((*MockBuild)(nil).ShouldExec))
|
||||
return &BuildShouldExecCall{Call: call}
|
||||
return &MockBuildShouldExecCall{Call: call}
|
||||
}
|
||||
|
||||
// BuildShouldExecCall wrap *gomock.Call
|
||||
type BuildShouldExecCall struct {
|
||||
// MockBuildShouldExecCall wrap *gomock.Call
|
||||
type MockBuildShouldExecCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *BuildShouldExecCall) Return(arg0 bool) *BuildShouldExecCall {
|
||||
func (c *MockBuildShouldExecCall) Return(arg0 bool) *MockBuildShouldExecCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *BuildShouldExecCall) Do(f func() bool) *BuildShouldExecCall {
|
||||
func (c *MockBuildShouldExecCall) Do(f func() bool) *MockBuildShouldExecCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *BuildShouldExecCall) DoAndReturn(f func() bool) *BuildShouldExecCall {
|
||||
func (c *MockBuildShouldExecCall) DoAndReturn(f func() bool) *MockBuildShouldExecCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
@@ -22,9 +22,12 @@ var _ = (infer.Enum[NetworkMode])((*NetworkMode)(nil))
|
||||
type NetworkMode string
|
||||
|
||||
const (
|
||||
Default NetworkMode = "default" // Default network mode.
|
||||
Host NetworkMode = "host" // Host network mode.
|
||||
None NetworkMode = "none" // None or no network mode.
|
||||
// Default network mode.
|
||||
Default NetworkMode = "default"
|
||||
// Host network mode.
|
||||
Host NetworkMode = "host"
|
||||
// None or no network mode.
|
||||
None NetworkMode = "none"
|
||||
)
|
||||
|
||||
// Values returns all valid NetworkMode values for SDK generation.
|
||||
|
||||
@@ -55,8 +55,8 @@ func (c *Config) Annotate(a infer.Annotator) {
|
||||
}
|
||||
|
||||
// Configure validates and processes user-provided configuration values.
|
||||
func (c *Config) Configure(_ context.Context) error {
|
||||
h, err := newHost(c)
|
||||
func (c *Config) Configure(ctx context.Context) error {
|
||||
h, err := newHost(ctx, c)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getting host: %w", err)
|
||||
}
|
||||
@@ -103,18 +103,12 @@ func NewBuildxProvider() provider.Provider {
|
||||
},
|
||||
"nodejs": tsgen.NodePackageInfo{
|
||||
RespectSchemaVersion: true,
|
||||
Dependencies: map[string]string{
|
||||
"@pulumi/pulumi": "^3.0.0",
|
||||
},
|
||||
},
|
||||
"python": pygen.PackageInfo{
|
||||
RespectSchemaVersion: true,
|
||||
PyProject: struct {
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
}{Enabled: true},
|
||||
Requires: map[string]string{
|
||||
"pulumi": ">=3.0.0,<4.0.0",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"postUpgradeTasks": {
|
||||
"executionMode": "branch",
|
||||
"commands": ["mise trust", "mise install --yes", "mise run sdk"]
|
||||
}
|
||||
}
|
||||
63
sdk/go/dockerbuild/go.mod
generated
63
sdk/go/dockerbuild/go.mod
generated
@@ -1,14 +1,16 @@
|
||||
module github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild
|
||||
|
||||
go 1.21.7
|
||||
go 1.22.0
|
||||
|
||||
toolchain go1.22.6
|
||||
|
||||
require (
|
||||
github.com/blang/semver v3.5.1+incompatible
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.128.0
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.142.0
|
||||
)
|
||||
|
||||
require (
|
||||
dario.cat/mergo v1.0.0 // indirect
|
||||
dario.cat/mergo v1.0.1 // indirect
|
||||
github.com/BurntSushi/toml v1.4.0 // indirect
|
||||
github.com/Microsoft/go-winio v0.6.2 // indirect
|
||||
github.com/ProtonMail/go-crypto v1.0.0 // indirect
|
||||
@@ -17,16 +19,14 @@ require (
|
||||
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
||||
github.com/atotto/clipboard v0.1.4 // indirect
|
||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
||||
github.com/charmbracelet/bubbles v0.18.0 // indirect
|
||||
github.com/charmbracelet/bubbletea v0.26.4 // indirect
|
||||
github.com/charmbracelet/lipgloss v0.11.0 // indirect
|
||||
github.com/charmbracelet/x/ansi v0.1.2 // indirect
|
||||
github.com/charmbracelet/x/input v0.1.0 // indirect
|
||||
github.com/charmbracelet/x/term v0.1.1 // indirect
|
||||
github.com/charmbracelet/x/windows v0.1.0 // indirect
|
||||
github.com/charmbracelet/bubbles v0.20.0 // indirect
|
||||
github.com/charmbracelet/bubbletea v1.1.0 // indirect
|
||||
github.com/charmbracelet/lipgloss v0.13.0 // indirect
|
||||
github.com/charmbracelet/x/ansi v0.2.3 // indirect
|
||||
github.com/charmbracelet/x/term v0.2.0 // indirect
|
||||
github.com/cheggaaa/pb v1.0.29 // indirect
|
||||
github.com/cloudflare/circl v1.3.8 // indirect
|
||||
github.com/cyphar/filepath-securejoin v0.2.5 // indirect
|
||||
github.com/cloudflare/circl v1.4.0 // indirect
|
||||
github.com/cyphar/filepath-securejoin v0.3.1 // indirect
|
||||
github.com/djherbis/times v1.6.0 // indirect
|
||||
github.com/emirpasic/gods v1.18.1 // indirect
|
||||
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
|
||||
@@ -36,21 +36,20 @@ require (
|
||||
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
||||
github.com/go-git/go-git/v5 v5.12.0 // indirect
|
||||
github.com/gogo/protobuf v1.3.2 // indirect
|
||||
github.com/golang/glog v1.2.1 // indirect
|
||||
github.com/golang/glog v1.2.2 // indirect
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||
github.com/google/uuid v1.6.0 // indirect
|
||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||
github.com/hashicorp/hcl/v2 v2.20.1 // indirect
|
||||
github.com/hashicorp/hcl/v2 v2.22.0 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
||||
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
||||
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
|
||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||
github.com/mattn/go-localereader v0.0.1 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.15 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.16 // indirect
|
||||
github.com/mitchellh/go-ps v1.0.0 // indirect
|
||||
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
||||
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
|
||||
@@ -64,37 +63,35 @@ require (
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/pkg/term v1.1.0 // indirect
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
||||
github.com/pulumi/esc v0.9.1 // indirect
|
||||
github.com/pulumi/esc v0.10.0 // indirect
|
||||
github.com/rivo/uniseg v0.4.7 // indirect
|
||||
github.com/rogpeppe/go-internal v1.12.0 // indirect
|
||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
|
||||
github.com/skeema/knownhosts v1.2.2 // indirect
|
||||
github.com/skeema/knownhosts v1.3.0 // indirect
|
||||
github.com/spf13/cast v1.5.0 // indirect
|
||||
github.com/spf13/cobra v1.8.1 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/stretchr/objx v0.5.2 // indirect
|
||||
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
|
||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect
|
||||
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
|
||||
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
|
||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
|
||||
github.com/zclconf/go-cty v1.14.4 // indirect
|
||||
github.com/zclconf/go-cty v1.15.0 // indirect
|
||||
go.uber.org/atomic v1.11.0 // indirect
|
||||
golang.org/x/crypto v0.25.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect
|
||||
golang.org/x/mod v0.18.0 // indirect
|
||||
golang.org/x/net v0.26.0 // indirect
|
||||
golang.org/x/sync v0.7.0 // indirect
|
||||
golang.org/x/sys v0.24.0 // indirect
|
||||
golang.org/x/term v0.22.0 // indirect
|
||||
golang.org/x/text v0.16.0 // indirect
|
||||
golang.org/x/tools v0.22.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect
|
||||
google.golang.org/grpc v1.64.1 // indirect
|
||||
google.golang.org/protobuf v1.34.2 // indirect
|
||||
golang.org/x/crypto v0.27.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
|
||||
golang.org/x/mod v0.21.0 // indirect
|
||||
golang.org/x/net v0.29.0 // indirect
|
||||
golang.org/x/sync v0.8.0 // indirect
|
||||
golang.org/x/sys v0.26.0 // indirect
|
||||
golang.org/x/term v0.24.0 // indirect
|
||||
golang.org/x/text v0.18.0 // indirect
|
||||
golang.org/x/tools v0.25.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect
|
||||
google.golang.org/grpc v1.67.1 // indirect
|
||||
google.golang.org/protobuf v1.35.1 // indirect
|
||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
lukechampine.com/frand v1.4.2 // indirect
|
||||
|
||||
118
sdk/go/dockerbuild/go.sum
generated
118
sdk/go/dockerbuild/go.sum
generated
@@ -1,5 +1,5 @@
|
||||
dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
|
||||
dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
|
||||
dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
|
||||
dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
|
||||
github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0=
|
||||
github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
|
||||
github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM=
|
||||
@@ -26,29 +26,25 @@ github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ
|
||||
github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
|
||||
github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
|
||||
github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
|
||||
github.com/charmbracelet/bubbles v0.18.0 h1:PYv1A036luoBGroX6VWjQIE9Syf2Wby2oOl/39KLfy0=
|
||||
github.com/charmbracelet/bubbles v0.18.0/go.mod h1:08qhZhtIwzgrtBjAcJnij1t1H0ZRjwHyGsy6AL11PSw=
|
||||
github.com/charmbracelet/bubbletea v0.26.4 h1:2gDkkzLZaTjMl/dQBpNVtnvcCxsh/FCkimep7FC9c40=
|
||||
github.com/charmbracelet/bubbletea v0.26.4/go.mod h1:P+r+RRA5qtI1DOHNFn0otoNwB4rn+zNAzSj/EXz6xU0=
|
||||
github.com/charmbracelet/lipgloss v0.11.0 h1:UoAcbQ6Qml8hDwSWs0Y1cB5TEQuZkDPH/ZqwWWYTG4g=
|
||||
github.com/charmbracelet/lipgloss v0.11.0/go.mod h1:1UdRTH9gYgpcdNN5oBtjbu/IzNKtzVtb7sqN1t9LNn8=
|
||||
github.com/charmbracelet/x/ansi v0.1.2 h1:6+LR39uG8DE6zAmbu023YlqjJHkYXDF1z36ZwzO4xZY=
|
||||
github.com/charmbracelet/x/ansi v0.1.2/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw=
|
||||
github.com/charmbracelet/x/input v0.1.0 h1:TEsGSfZYQyOtp+STIjyBq6tpRaorH0qpwZUj8DavAhQ=
|
||||
github.com/charmbracelet/x/input v0.1.0/go.mod h1:ZZwaBxPF7IG8gWWzPUVqHEtWhc1+HXJPNuerJGRGZ28=
|
||||
github.com/charmbracelet/x/term v0.1.1 h1:3cosVAiPOig+EV4X9U+3LDgtwwAoEzJjNdwbXDjF6yI=
|
||||
github.com/charmbracelet/x/term v0.1.1/go.mod h1:wB1fHt5ECsu3mXYusyzcngVWWlu1KKUmmLhfgr/Flxw=
|
||||
github.com/charmbracelet/x/windows v0.1.0 h1:gTaxdvzDM5oMa/I2ZNF7wN78X/atWemG9Wph7Ika2k4=
|
||||
github.com/charmbracelet/x/windows v0.1.0/go.mod h1:GLEO/l+lizvFDBPLIOk+49gdX49L9YWMB5t+DZd0jkQ=
|
||||
github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE=
|
||||
github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU=
|
||||
github.com/charmbracelet/bubbletea v1.1.0 h1:FjAl9eAL3HBCHenhz/ZPjkKdScmaS5SK69JAK2YJK9c=
|
||||
github.com/charmbracelet/bubbletea v1.1.0/go.mod h1:9Ogk0HrdbHolIKHdjfFpyXJmiCzGwy+FesYkZr7hYU4=
|
||||
github.com/charmbracelet/lipgloss v0.13.0 h1:4X3PPeoWEDCMvzDvGmTajSyYPcZM4+y8sCA/SsA3cjw=
|
||||
github.com/charmbracelet/lipgloss v0.13.0/go.mod h1:nw4zy0SBX/F/eAO1cWdcvy6qnkDUxr8Lw7dvFrAIbbY=
|
||||
github.com/charmbracelet/x/ansi v0.2.3 h1:VfFN0NUpcjBRd4DnKfRaIRo53KRgey/nhOoEqosGDEY=
|
||||
github.com/charmbracelet/x/ansi v0.2.3/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw=
|
||||
github.com/charmbracelet/x/term v0.2.0 h1:cNB9Ot9q8I711MyZ7myUR5HFWL/lc3OpU8jZ4hwm0x0=
|
||||
github.com/charmbracelet/x/term v0.2.0/go.mod h1:GVxgxAbjUrmpvIINHIQnJJKpMlHiZ4cktEQCN6GWyF0=
|
||||
github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo=
|
||||
github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30=
|
||||
github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA=
|
||||
github.com/cloudflare/circl v1.3.8 h1:j+V8jJt09PoeMFIu2uh5JUyEaIHTXVOHslFoLNAKqwI=
|
||||
github.com/cloudflare/circl v1.3.8/go.mod h1:PDRU+oXvdD7KCtgKxW95M5Z8BpSCJXQORiZFnBQS5QU=
|
||||
github.com/cloudflare/circl v1.4.0 h1:BV7h5MgrktNzytKmWjpOtdYrf0lkkbF8YMlBGPhJQrY=
|
||||
github.com/cloudflare/circl v1.4.0/go.mod h1:PDRU+oXvdD7KCtgKxW95M5Z8BpSCJXQORiZFnBQS5QU=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/cyphar/filepath-securejoin v0.2.5 h1:6iR5tXJ/e6tJZzzdMc1km3Sa7RRIVBKAK32O2s7AYfo=
|
||||
github.com/cyphar/filepath-securejoin v0.2.5/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
|
||||
github.com/cyphar/filepath-securejoin v0.3.1 h1:1V7cHiaW+C+39wEfpH6XlLBQo3j/PciWFrgfCLS8XrE=
|
||||
github.com/cyphar/filepath-securejoin v0.3.1/go.mod h1:F7i41x/9cBF7lzCrVsYs9fuzwRZm4NQsGTBdpp6mETc=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
@@ -78,8 +74,8 @@ github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXY
|
||||
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||
github.com/golang/glog v1.2.1 h1:OptwRhECazUx5ix5TTWC3EZhsZEHWcYWY4FQHTIubm4=
|
||||
github.com/golang/glog v1.2.1/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
|
||||
github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY=
|
||||
github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
@@ -94,8 +90,8 @@ github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY
|
||||
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
|
||||
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
|
||||
github.com/hashicorp/hcl/v2 v2.20.1 h1:M6hgdyz7HYt1UN9e61j+qKJBqR3orTWbI1HKBJEdxtc=
|
||||
github.com/hashicorp/hcl/v2 v2.20.1/go.mod h1:TZDqQ4kNKCbh1iJp99FdPiUaVDDUPivbqxZulxDYqL4=
|
||||
github.com/hashicorp/hcl/v2 v2.22.0 h1:hkZ3nCtqeJsDhPRFz5EA9iwcG1hNWGePOTw6oyul12M=
|
||||
github.com/hashicorp/hcl/v2 v2.22.0/go.mod h1:62ZYHrXgPoX8xBnzl8QzbWq4dyDsDtfCRgIq1rbJEvA=
|
||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
|
||||
@@ -119,14 +115,13 @@ github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxec
|
||||
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
|
||||
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
|
||||
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4=
|
||||
github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88=
|
||||
github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
||||
github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
|
||||
github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
|
||||
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
|
||||
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
|
||||
github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc=
|
||||
github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg=
|
||||
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
|
||||
@@ -157,10 +152,10 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
|
||||
github.com/pmezard/go-difflib v1.0.0/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/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
|
||||
github.com/pulumi/esc v0.9.1 h1:HH5eEv8sgyxSpY5a8yePyqFXzA8cvBvapfH8457+mIs=
|
||||
github.com/pulumi/esc v0.9.1/go.mod h1:oEJ6bOsjYlQUpjf70GiX+CXn3VBmpwFDxUTlmtUN84c=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.128.0 h1:5VPFfygxt6rva0bEYVQZXxsGAo2/D1wsb9erGOtXxzk=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.128.0/go.mod h1:p1U24en3zt51agx+WlNboSOV8eLlPWYAkxMzVEXKbnY=
|
||||
github.com/pulumi/esc v0.10.0 h1:jzBKzkLVW0mePeanDRfqSQoCJ5yrkux0jIwAkUxpRKE=
|
||||
github.com/pulumi/esc v0.10.0/go.mod h1:2Bfa+FWj/xl8CKqRTWbWgDX0SOD4opdQgvYSURTGK2c=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.142.0 h1:SmcVddGuvwAh3g3XUVQQ5gVRQUKH1yZ6iETpDNHIHlw=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.142.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI=
|
||||
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/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
|
||||
@@ -175,8 +170,8 @@ github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPO
|
||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
|
||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
|
||||
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||
github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A=
|
||||
github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
|
||||
github.com/skeema/knownhosts v1.3.0 h1:AM+y0rI04VksttfwjkSTNQorvGqmwATnvnAHpSgc0LY=
|
||||
github.com/skeema/knownhosts v1.3.0/go.mod h1:sPINvnADmT/qYH1kfv+ePMmOBTH6Tbl7b5LvTDjFK7M=
|
||||
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
|
||||
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
|
||||
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
|
||||
@@ -195,21 +190,17 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT
|
||||
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U=
|
||||
github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8=
|
||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 h1:X9dsIWPuuEJlPX//UmRKophhOKCGXc46RVIGuttks68=
|
||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7/go.mod h1:UxoP3EypF8JfGEjAII8jx1q8rQyDnX8qdTCs/UQBVIE=
|
||||
github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o=
|
||||
github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
|
||||
github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg=
|
||||
github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=
|
||||
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
|
||||
github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
|
||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
|
||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
|
||||
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||
github.com/zclconf/go-cty v1.14.4 h1:uXXczd9QDGsgu0i/QFR/hzI5NYCHLf6NQw/atrbnhq8=
|
||||
github.com/zclconf/go-cty v1.14.4/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
|
||||
github.com/zclconf/go-cty v1.15.0 h1:tTCRWxsexYUmtt/wVxgDClUe+uQusuI443uL6e+5sXQ=
|
||||
github.com/zclconf/go-cty v1.15.0/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
|
||||
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
|
||||
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=
|
||||
@@ -219,18 +210,18 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
|
||||
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
||||
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
||||
golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30=
|
||||
golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M=
|
||||
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM=
|
||||
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI=
|
||||
golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
|
||||
golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
|
||||
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk=
|
||||
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY=
|
||||
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.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0=
|
||||
golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||
golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
|
||||
golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
|
||||
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-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
@@ -242,15 +233,15 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
|
||||
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
|
||||
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
||||
golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
|
||||
golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
|
||||
golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
|
||||
golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
|
||||
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-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
|
||||
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
|
||||
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
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-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
@@ -268,20 +259,19 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
|
||||
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg=
|
||||
golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
|
||||
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
||||
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
||||
golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk=
|
||||
golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4=
|
||||
golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
|
||||
golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
|
||||
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.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
@@ -289,8 +279,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
|
||||
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
|
||||
golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
|
||||
golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
|
||||
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-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
@@ -299,18 +289,18 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY
|
||||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
||||
golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA=
|
||||
golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c=
|
||||
golang.org/x/tools v0.25.0 h1:oFU9pkj/iJgs+0DT+VMHrx+oBKs/LJMV+Uvg78sl+fE=
|
||||
golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg=
|
||||
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-20191204190536-9bdfabe68543/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-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0=
|
||||
google.golang.org/grpc v1.64.1 h1:LKtvyfbX3UGVPFcGqJ9ItpVWW6oN/2XqTxfAnwRRXiA=
|
||||
google.golang.org/grpc v1.64.1/go.mod h1:hiQF4LFZelK2WKaP6W0L92zGHtiQdZxk8CrSdvyjeP0=
|
||||
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
|
||||
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
|
||||
google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E=
|
||||
google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA=
|
||||
google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA=
|
||||
google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
|
||||
@@ -458,22 +458,22 @@ import javax.annotation.Nullable;
|
||||
* import java.nio.file.Files;
|
||||
* import java.nio.file.Paths;
|
||||
*
|
||||
* public class App {
|
||||
* public static void main(String[] args) {
|
||||
* public class App }{{@code
|
||||
* public static void main(String[] args) }{{@code
|
||||
* Pulumi.run(App::stack);
|
||||
* }
|
||||
* }}{@code
|
||||
*
|
||||
* public static void stack(Context ctx) {
|
||||
* public static void stack(Context ctx) }{{@code
|
||||
* var image = new Image("image", ImageArgs.builder()
|
||||
* .context(BuildContextArgs.builder()
|
||||
* .location("app")
|
||||
* .named(Map.of("golang:latest", Map.of("location", "docker-image://golang{@literal @}sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984")))
|
||||
* .named(Map.of("golang:latest", Map.of("location", "docker-image://golang}{@literal @}{@code sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984")))
|
||||
* .build())
|
||||
* .push(false)
|
||||
* .build());
|
||||
*
|
||||
* }
|
||||
* }
|
||||
* }}{@code
|
||||
* }}{@code
|
||||
* }
|
||||
* </pre>
|
||||
* ### Remote context
|
||||
@@ -1235,7 +1235,7 @@ public class Image extends com.pulumi.resources.CustomResource {
|
||||
*
|
||||
* @param name The _unique_ name of the resulting resource.
|
||||
*/
|
||||
public Image(String name) {
|
||||
public Image(java.lang.String name) {
|
||||
this(name, ImageArgs.Empty);
|
||||
}
|
||||
/**
|
||||
@@ -1243,7 +1243,7 @@ public class Image extends com.pulumi.resources.CustomResource {
|
||||
* @param name The _unique_ name of the resulting resource.
|
||||
* @param args The arguments to use to populate this resource's properties.
|
||||
*/
|
||||
public Image(String name, ImageArgs args) {
|
||||
public Image(java.lang.String name, ImageArgs args) {
|
||||
this(name, args, null);
|
||||
}
|
||||
/**
|
||||
@@ -1252,15 +1252,22 @@ public class Image extends com.pulumi.resources.CustomResource {
|
||||
* @param args The arguments to use to populate this resource's properties.
|
||||
* @param options A bag of options that control this resource's behavior.
|
||||
*/
|
||||
public Image(String name, ImageArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
super("docker-build:index:Image", name, args == null ? ImageArgs.Empty : args, makeResourceOptions(options, Codegen.empty()));
|
||||
public Image(java.lang.String name, ImageArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
super("docker-build:index:Image", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
|
||||
}
|
||||
|
||||
private Image(String name, Output<String> id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
super("docker-build:index:Image", name, null, makeResourceOptions(options, id));
|
||||
private Image(java.lang.String name, Output<java.lang.String> id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
super("docker-build:index:Image", name, null, makeResourceOptions(options, id), false);
|
||||
}
|
||||
|
||||
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output<String> id) {
|
||||
private static ImageArgs makeArgs(ImageArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
if (options != null && options.getUrn().isPresent()) {
|
||||
return null;
|
||||
}
|
||||
return args == null ? ImageArgs.Empty : args;
|
||||
}
|
||||
|
||||
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output<java.lang.String> id) {
|
||||
var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
|
||||
.version(Utilities.getVersion())
|
||||
.build();
|
||||
@@ -1275,7 +1282,7 @@ public class Image extends com.pulumi.resources.CustomResource {
|
||||
* @param id The _unique_ provider ID of the resource to lookup.
|
||||
* @param options Optional settings to control the behavior of the CustomResource.
|
||||
*/
|
||||
public static Image get(String name, Output<String> id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
public static Image get(java.lang.String name, Output<java.lang.String> id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
return new Image(name, id, options);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -209,7 +209,7 @@ public class Index extends com.pulumi.resources.CustomResource {
|
||||
*
|
||||
* @param name The _unique_ name of the resulting resource.
|
||||
*/
|
||||
public Index(String name) {
|
||||
public Index(java.lang.String name) {
|
||||
this(name, IndexArgs.Empty);
|
||||
}
|
||||
/**
|
||||
@@ -217,7 +217,7 @@ public class Index extends com.pulumi.resources.CustomResource {
|
||||
* @param name The _unique_ name of the resulting resource.
|
||||
* @param args The arguments to use to populate this resource's properties.
|
||||
*/
|
||||
public Index(String name, IndexArgs args) {
|
||||
public Index(java.lang.String name, IndexArgs args) {
|
||||
this(name, args, null);
|
||||
}
|
||||
/**
|
||||
@@ -226,15 +226,22 @@ public class Index extends com.pulumi.resources.CustomResource {
|
||||
* @param args The arguments to use to populate this resource's properties.
|
||||
* @param options A bag of options that control this resource's behavior.
|
||||
*/
|
||||
public Index(String name, IndexArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
super("docker-build:index:Index", name, args == null ? IndexArgs.Empty : args, makeResourceOptions(options, Codegen.empty()));
|
||||
public Index(java.lang.String name, IndexArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
super("docker-build:index:Index", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
|
||||
}
|
||||
|
||||
private Index(String name, Output<String> id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
super("docker-build:index:Index", name, null, makeResourceOptions(options, id));
|
||||
private Index(java.lang.String name, Output<java.lang.String> id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
super("docker-build:index:Index", name, null, makeResourceOptions(options, id), false);
|
||||
}
|
||||
|
||||
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output<String> id) {
|
||||
private static IndexArgs makeArgs(IndexArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
if (options != null && options.getUrn().isPresent()) {
|
||||
return null;
|
||||
}
|
||||
return args == null ? IndexArgs.Empty : args;
|
||||
}
|
||||
|
||||
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output<java.lang.String> id) {
|
||||
var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
|
||||
.version(Utilities.getVersion())
|
||||
.build();
|
||||
@@ -249,7 +256,7 @@ public class Index extends com.pulumi.resources.CustomResource {
|
||||
* @param id The _unique_ provider ID of the resource to lookup.
|
||||
* @param options Optional settings to control the behavior of the CustomResource.
|
||||
*/
|
||||
public static Index get(String name, Output<String> id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
public static Index get(java.lang.String name, Output<java.lang.String> id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
return new Index(name, id, options);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ public class Provider extends com.pulumi.resources.ProviderResource {
|
||||
*
|
||||
* @param name The _unique_ name of the resulting resource.
|
||||
*/
|
||||
public Provider(String name) {
|
||||
public Provider(java.lang.String name) {
|
||||
this(name, ProviderArgs.Empty);
|
||||
}
|
||||
/**
|
||||
@@ -42,7 +42,7 @@ public class Provider extends com.pulumi.resources.ProviderResource {
|
||||
* @param name The _unique_ name of the resulting resource.
|
||||
* @param args The arguments to use to populate this resource's properties.
|
||||
*/
|
||||
public Provider(String name, @Nullable ProviderArgs args) {
|
||||
public Provider(java.lang.String name, @Nullable ProviderArgs args) {
|
||||
this(name, args, null);
|
||||
}
|
||||
/**
|
||||
@@ -51,11 +51,18 @@ public class Provider extends com.pulumi.resources.ProviderResource {
|
||||
* @param args The arguments to use to populate this resource's properties.
|
||||
* @param options A bag of options that control this resource's behavior.
|
||||
*/
|
||||
public Provider(String name, @Nullable ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
super("docker-build", name, args == null ? ProviderArgs.Empty : args, makeResourceOptions(options, Codegen.empty()));
|
||||
public Provider(java.lang.String name, @Nullable ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
super("docker-build", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
|
||||
}
|
||||
|
||||
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output<String> id) {
|
||||
private static ProviderArgs makeArgs(@Nullable ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
||||
if (options != null && options.getUrn().isPresent()) {
|
||||
return null;
|
||||
}
|
||||
return args == null ? ProviderArgs.Empty : args;
|
||||
}
|
||||
|
||||
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output<java.lang.String> id) {
|
||||
var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
|
||||
.version(Utilities.getVersion())
|
||||
.build();
|
||||
|
||||
@@ -17,7 +17,7 @@ import com.pulumi.deployment.InvokeOptions;
|
||||
|
||||
public class Utilities {
|
||||
|
||||
public static Optional<String> getEnv(String... names) {
|
||||
public static Optional<java.lang.String> getEnv(java.lang.String... names) {
|
||||
for (var n : names) {
|
||||
var value = Environment.getEnvironmentVariable(n);
|
||||
if (value.isValue()) {
|
||||
@@ -27,7 +27,7 @@ public class Utilities {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
public static Optional<Boolean> getEnvBoolean(String... names) {
|
||||
public static Optional<java.lang.Boolean> getEnvBoolean(java.lang.String... names) {
|
||||
for (var n : names) {
|
||||
var value = Environment.getBooleanEnvironmentVariable(n);
|
||||
if (value.isValue()) {
|
||||
@@ -37,7 +37,7 @@ public class Utilities {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
public static Optional<Integer> getEnvInteger(String... names) {
|
||||
public static Optional<java.lang.Integer> getEnvInteger(java.lang.String... names) {
|
||||
for (var n : names) {
|
||||
var value = Environment.getIntegerEnvironmentVariable(n);
|
||||
if (value.isValue()) {
|
||||
@@ -47,7 +47,7 @@ public class Utilities {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
public static Optional<Double> getEnvDouble(String... names) {
|
||||
public static Optional<java.lang.Double> getEnvDouble(java.lang.String... names) {
|
||||
for (var n : names) {
|
||||
var value = Environment.getDoubleEnvironmentVariable(n);
|
||||
if (value.isValue()) {
|
||||
@@ -68,8 +68,8 @@ public class Utilities {
|
||||
);
|
||||
}
|
||||
|
||||
private static final String version;
|
||||
public static String getVersion() {
|
||||
private static final java.lang.String version;
|
||||
public static java.lang.String getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ public class Utilities {
|
||||
var versionFile = Utilities.class.getClassLoader().getResourceAsStream(resourceName);
|
||||
if (versionFile == null) {
|
||||
throw new IllegalStateException(
|
||||
String.format("expected resource '%s' on Classpath, not found", resourceName)
|
||||
java.lang.String.format("expected resource '%s' on Classpath, not found", resourceName)
|
||||
);
|
||||
}
|
||||
version = new BufferedReader(new InputStreamReader(versionFile))
|
||||
|
||||
@@ -33,7 +33,7 @@ import java.util.StringJoiner;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
public java.lang.String toString() {
|
||||
return new StringJoiner(", ", "CacheMode[", "]")
|
||||
.add("value='" + this.value + "'")
|
||||
.toString();
|
||||
|
||||
@@ -38,7 +38,7 @@ import java.util.StringJoiner;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
public java.lang.String toString() {
|
||||
return new StringJoiner(", ", "CompressionType[", "]")
|
||||
.add("value='" + this.value + "'")
|
||||
.toString();
|
||||
|
||||
@@ -38,7 +38,7 @@ import java.util.StringJoiner;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
public java.lang.String toString() {
|
||||
return new StringJoiner(", ", "NetworkMode[", "]")
|
||||
.add("value='" + this.value + "'")
|
||||
.toString();
|
||||
|
||||
@@ -51,7 +51,7 @@ import java.util.StringJoiner;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
public java.lang.String toString() {
|
||||
return new StringJoiner(", ", "Platform[", "]")
|
||||
.add("value='" + this.value + "'")
|
||||
.toString();
|
||||
|
||||
2
sdk/nodejs/package.json
generated
2
sdk/nodejs/package.json
generated
@@ -14,7 +14,7 @@
|
||||
"build": "tsc"
|
||||
},
|
||||
"dependencies": {
|
||||
"@pulumi/pulumi": "^3.0.0"
|
||||
"@pulumi/pulumi": "^3.136.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^14",
|
||||
|
||||
813
sdk/python/pulumi_docker_build/_inputs.py
generated
813
sdk/python/pulumi_docker_build/_inputs.py
generated
File diff suppressed because it is too large
Load Diff
2
sdk/python/pulumi_docker_build/_utilities.py
generated
2
sdk/python/pulumi_docker_build/_utilities.py
generated
@@ -264,7 +264,7 @@ def call_plain(
|
||||
output = pulumi.runtime.call(tok, props, res, typ)
|
||||
|
||||
# Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency.
|
||||
result, known, secret, _ = _sync_await(asyncio.ensure_future(_await_output(output)))
|
||||
result, known, secret, _ = _sync_await(asyncio.create_task(_await_output(output)))
|
||||
|
||||
problem = None
|
||||
if not known:
|
||||
|
||||
@@ -4,9 +4,14 @@
|
||||
|
||||
import copy
|
||||
import warnings
|
||||
import sys
|
||||
import pulumi
|
||||
import pulumi.runtime
|
||||
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
||||
if sys.version_info >= (3, 11):
|
||||
from typing import NotRequired, TypedDict, TypeAlias
|
||||
else:
|
||||
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
||||
from .. import _utilities
|
||||
from .. import outputs as _root_outputs
|
||||
|
||||
|
||||
5
sdk/python/pulumi_docker_build/config/vars.py
generated
5
sdk/python/pulumi_docker_build/config/vars.py
generated
@@ -4,9 +4,14 @@
|
||||
|
||||
import copy
|
||||
import warnings
|
||||
import sys
|
||||
import pulumi
|
||||
import pulumi.runtime
|
||||
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
||||
if sys.version_info >= (3, 11):
|
||||
from typing import NotRequired, TypedDict, TypeAlias
|
||||
else:
|
||||
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
||||
from .. import _utilities
|
||||
from .. import outputs as _root_outputs
|
||||
|
||||
|
||||
9
sdk/python/pulumi_docker_build/image.py
generated
9
sdk/python/pulumi_docker_build/image.py
generated
@@ -4,9 +4,14 @@
|
||||
|
||||
import copy
|
||||
import warnings
|
||||
import sys
|
||||
import pulumi
|
||||
import pulumi.runtime
|
||||
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
||||
if sys.version_info >= (3, 11):
|
||||
from typing import NotRequired, TypedDict, TypeAlias
|
||||
else:
|
||||
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
||||
from . import _utilities
|
||||
from . import outputs
|
||||
from ._enums import *
|
||||
@@ -847,7 +852,7 @@ class Image(pulumi.CustomResource):
|
||||
context={
|
||||
"location": "app",
|
||||
"named": {
|
||||
"golang_latest": {
|
||||
"golang:latest": {
|
||||
"location": "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984",
|
||||
},
|
||||
},
|
||||
@@ -1285,7 +1290,7 @@ class Image(pulumi.CustomResource):
|
||||
context={
|
||||
"location": "app",
|
||||
"named": {
|
||||
"golang_latest": {
|
||||
"golang:latest": {
|
||||
"location": "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984",
|
||||
},
|
||||
},
|
||||
|
||||
5
sdk/python/pulumi_docker_build/index.py
generated
5
sdk/python/pulumi_docker_build/index.py
generated
@@ -4,9 +4,14 @@
|
||||
|
||||
import copy
|
||||
import warnings
|
||||
import sys
|
||||
import pulumi
|
||||
import pulumi.runtime
|
||||
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
||||
if sys.version_info >= (3, 11):
|
||||
from typing import NotRequired, TypedDict, TypeAlias
|
||||
else:
|
||||
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
||||
from . import _utilities
|
||||
from . import outputs
|
||||
from ._inputs import *
|
||||
|
||||
5
sdk/python/pulumi_docker_build/outputs.py
generated
5
sdk/python/pulumi_docker_build/outputs.py
generated
@@ -4,9 +4,14 @@
|
||||
|
||||
import copy
|
||||
import warnings
|
||||
import sys
|
||||
import pulumi
|
||||
import pulumi.runtime
|
||||
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
||||
if sys.version_info >= (3, 11):
|
||||
from typing import NotRequired, TypedDict, TypeAlias
|
||||
else:
|
||||
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
||||
from . import _utilities
|
||||
from . import outputs
|
||||
from ._enums import *
|
||||
|
||||
5
sdk/python/pulumi_docker_build/provider.py
generated
5
sdk/python/pulumi_docker_build/provider.py
generated
@@ -4,9 +4,14 @@
|
||||
|
||||
import copy
|
||||
import warnings
|
||||
import sys
|
||||
import pulumi
|
||||
import pulumi.runtime
|
||||
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
||||
if sys.version_info >= (3, 11):
|
||||
from typing import NotRequired, TypedDict, TypeAlias
|
||||
else:
|
||||
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
||||
from . import _utilities
|
||||
from ._inputs import *
|
||||
|
||||
|
||||
2
sdk/python/pyproject.toml
generated
2
sdk/python/pyproject.toml
generated
@@ -1,7 +1,7 @@
|
||||
[project]
|
||||
name = "pulumi_docker_build"
|
||||
description = "A Pulumi provider for building modern Docker images with buildx and BuildKit."
|
||||
dependencies = ["parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "semver>=2.8.1"]
|
||||
dependencies = ["parver>=0.2.1", "pulumi>=3.136.0,<4.0.0", "semver>=2.8.1", "typing-extensions>=4.11; python_version < \"3.11\""]
|
||||
keywords = ["docker", "buildkit", "buildx", "kind/native"]
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.8"
|
||||
|
||||
17
tools/tools.go
Normal file
17
tools/tools.go
Normal file
@@ -0,0 +1,17 @@
|
||||
//go:build tools
|
||||
// +build tools
|
||||
|
||||
// See https://play-with-go.dev/tools-as-dependencies_go119_en/ for an explanation of this file.
|
||||
package tools
|
||||
|
||||
import (
|
||||
_ "github.com/golangci/golangci-lint/cmd/golangci-lint"
|
||||
_ "github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet"
|
||||
_ "github.com/pulumi/pulumi-java/pkg/cmd/pulumi-language-java"
|
||||
_ "github.com/pulumi/pulumi-yaml/cmd/pulumi-converter-yaml"
|
||||
_ "github.com/pulumi/pulumi-yaml/cmd/pulumi-language-yaml"
|
||||
_ "github.com/pulumi/pulumi/pkg/v3/cmd/pulumi"
|
||||
_ "github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3"
|
||||
_ "github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3"
|
||||
_ "github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3"
|
||||
)
|
||||
Reference in New Issue
Block a user