diff --git a/provider-ci/internal/pkg/templates/bridged-provider.config.yaml b/provider-ci/internal/pkg/templates/bridged-provider.config.yaml index 202cc8641..6b61a1816 100644 --- a/provider-ci/internal/pkg/templates/bridged-provider.config.yaml +++ b/provider-ci/internal/pkg/templates/bridged-provider.config.yaml @@ -133,27 +133,14 @@ runner: # actionVersions should be used wherever we use external actions to make upgrading easier. # These are never overridden by providers: https://github.com/search?q=org%3Apulumi+path%3A.ci-mgmt.yaml+%22actionVersions%3A%22&type=code actionVersions: - setupGo: actions/setup-go@v5 - setupDotNet: actions/setup-dotnet@v4 - setupJava: actions/setup-java@v4 - setupGradle: gradle/gradle-build-action@v3 - setupNode: actions/setup-node@v4 - setupPulumi: pulumi/actions@v5 - setupPython: actions/setup-python@v5 - configureAwsCredentials: aws-actions/configure-aws-credentials@v4 setupGcloud: google-github-actions/setup-gcloud@v2 googleAuth: google-github-actions/auth@v2 goReleaser: goreleaser/goreleaser-action@v5 - installGhRelease: jaxxstorm/action-install-gh-release@v1.11.0 checkout: actions/checkout@v4 - pulumictlTag: v0.0.46 - cleanupArtifact: c-hive/gha-remove-artifacts@v1 - createOrUpdateComment: peter-evans/create-or-update-comment@v1 downloadArtifact: actions/download-artifact@v4 pathsFilter: dorny/paths-filter@v2 prComment: thollander/actions-comment-pull-request@v2 - slashCommand: peter-evans/slash-command-dispatch@v2 uploadArtifact: actions/upload-artifact@v4 upgradeProviderAction: pulumi/pulumi-upgrade-provider-action@v0.0.12 diff --git a/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/check-upstream-upgrade.yml b/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/check-upstream-upgrade.yml index 707493514..083eddf70 100644 --- a/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/check-upstream-upgrade.yml +++ b/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/check-upstream-upgrade.yml @@ -8,18 +8,16 @@ jobs: name: Check for upstream provider upgrades runs-on: #{{ .Config.runner.default }}# steps: - - name: Install Go - uses: #{{ .Config.actionVersions.setupGo }}# - with: - go-version: "#{{ .Config.toolVersions.go }}#" - cache-dependency-path: | - sdk/go.sum - name: Checkout Repo uses: #{{ .Config.actionVersions.checkout }}# #{{- if .Config.checkoutSubmodules }}# with: submodules: #{{ .Config.checkoutSubmodules }}# #{{- end }}# + - name: Setup tools + uses: ./.github/actions/setup-tools + with: + tools: go - name: Install upgrade-provider run: go install github.com/pulumi/upgrade-provider@main shell: bash diff --git a/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/main.yml b/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/main.yml index 35d427244..677ab773b 100644 --- a/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/main.yml +++ b/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/main.yml @@ -44,26 +44,10 @@ jobs: aws-access-key-id: ${{ secrets.AWS_CORP_S3_UPLOAD_ACCESS_KEY_ID }} aws-region: us-west-2 aws-secret-access-key: ${{ secrets.AWS_CORP_S3_UPLOAD_SECRET_ACCESS_KEY }} - - name: Install Go - uses: #{{ .Config.actionVersions.setupGo }}# + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "#{{ .Config.toolVersions.go }}#" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: #{{ .Config.actionVersions.installGhRelease }}# - with: - tag: #{{ .Config.actionVersions.pulumictlTag }}# - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: #{{ .Config.actionVersions.setupPulumi }}# - with: - pulumi-version: "#{{ .Config.toolVersions.pulumi }}#" - - if: github.event_name == 'pull_request' - name: Install Schema Tools - uses: #{{ .Config.actionVersions.installGhRelease }}# - with: - repo: pulumi/schema-tools + tools: pulumictl, pulumicli, go, schema-tools - name: Echo Coverage Output Dir run: 'echo "Coverage output directory: ${{ env.COVERAGE_OUTPUT_DIR }}"' - name: Generate Coverage Data @@ -113,21 +97,10 @@ jobs: with: submodules: #{{ .Config.checkoutSubmodules }}# #{{- end }}# - - name: Install Go - uses: #{{ .Config.actionVersions.setupGo }}# - with: - go-version: "#{{ .Config.toolVersions.go }}#" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: #{{ .Config.actionVersions.installGhRelease }}# + - name: Setup tools + uses: ./.github/actions/setup-tools with: - tag: #{{ .Config.actionVersions.pulumictlTag }}# - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: #{{ .Config.actionVersions.setupPulumi }}# - with: - pulumi-version: "#{{ .Config.toolVersions.pulumi }}#" + tools: pulumictl, pulumicli, go - name: Configure AWS Credentials uses: #{{ .Config.actionVersions.configureAwsCredentials }}# with: @@ -208,44 +181,10 @@ jobs: with: submodules: #{{ .Config.checkoutSubmodules }}# #{{- end }}# - - name: Install Go - uses: #{{ .Config.actionVersions.setupGo }}# - with: - go-version: "#{{ .Config.toolVersions.go }}#" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: #{{ .Config.actionVersions.installGhRelease }}# - with: - tag: #{{ .Config.actionVersions.pulumictlTag }}# - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: #{{ .Config.actionVersions.setupPulumi }}# - with: - pulumi-version: "#{{ .Config.toolVersions.pulumi }}#" - - name: Setup Node - uses: #{{ .Config.actionVersions.setupNode }}# - with: - node-version: "#{{ .Config.toolVersions.node }}#" - registry-url: https://registry.npmjs.org - - name: Setup DotNet - uses: #{{ .Config.actionVersions.setupDotNet }}# - with: - dotnet-version: "#{{ .Config.toolVersions.dotnet }}#" - - name: Setup Python - uses: #{{ .Config.actionVersions.setupPython }}# - with: - python-version: "#{{ .Config.toolVersions.python }}#" - - name: Setup Java - uses: #{{ .Config.actionVersions.setupJava }}# - with: - cache: gradle - distribution: temurin - java-version: "#{{ .Config.toolVersions.java }}#" - - name: Setup Gradle - uses: #{{ .Config.actionVersions.setupGradle }}# + - name: Setup tools + uses: ./.github/actions/setup-tools with: - gradle-version: "#{{ .Config.toolVersions.gradle }}#" + tools: pulumictl, pulumicli, go, node, dotnet, python, java - name: Download provider + tfgen binaries uses: #{{ .Config.actionVersions.downloadArtifact }}# with: diff --git a/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/nightly-test.yml b/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/nightly-test.yml index 276d50f57..2fa0d5382 100644 --- a/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/nightly-test.yml +++ b/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/nightly-test.yml @@ -46,44 +46,10 @@ jobs: with: submodules: #{{ .Config.checkoutSubmodules }}# #{{- end }}# - - name: Install Go - uses: #{{ .Config.actionVersions.setupGo }}# + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "#{{ .Config.toolVersions.go }}#" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: #{{ .Config.actionVersions.installGhRelease }}# - with: - tag: #{{ .Config.actionVersions.pulumictlTag }}# - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: #{{ .Config.actionVersions.setupPulumi }}# - with: - pulumi-version: "#{{ .Config.toolVersions.pulumi }}#" - - name: Setup Node - uses: #{{ .Config.actionVersions.setupNode }}# - with: - node-version: "#{{ .Config.toolVersions.node }}#" - registry-url: https://registry.npmjs.org - - name: Setup DotNet - uses: #{{ .Config.actionVersions.setupDotNet }}# - with: - dotnet-version: "#{{ .Config.toolVersions.dotnet }}#" - - name: Setup Python - uses: #{{ .Config.actionVersions.setupPython }}# - with: - python-version: "#{{ .Config.toolVersions.python }}#" - - name: Setup Java - uses: #{{ .Config.actionVersions.setupJava }}# - with: - cache: gradle - distribution: temurin - java-version: "#{{ .Config.toolVersions.java }}#" - - name: Setup Gradle - uses: #{{ .Config.actionVersions.setupGradle }}# - with: - gradle-version: "#{{ .Config.toolVersions.gradle }}#" + tools: pulumictl, pulumicli, go, node, dotnet, python, java - name: Download provider + tfgen binaries uses: #{{ .Config.actionVersions.downloadArtifact }}# with: diff --git a/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/prerelease.yml b/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/prerelease.yml index 57589595b..4c2a5df07 100644 --- a/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/prerelease.yml +++ b/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/prerelease.yml @@ -56,21 +56,10 @@ jobs: with: submodules: #{{ .Config.checkoutSubmodules }}# #{{- end }}# - - name: Install Go - uses: #{{ .Config.actionVersions.setupGo }}# + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "#{{ .Config.toolVersions.go }}#" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: #{{ .Config.actionVersions.installGhRelease }}# - with: - tag: #{{ .Config.actionVersions.pulumictlTag }}# - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: #{{ .Config.actionVersions.setupPulumi }}# - with: - pulumi-version: "#{{ .Config.toolVersions.pulumi }}#" + tools: pulumictl, pulumicli, go - name: Configure AWS Credentials uses: #{{ .Config.actionVersions.configureAwsCredentials }}# with: @@ -120,11 +109,6 @@ jobs: with: submodules: #{{ .Config.checkoutSubmodules }}# #{{- end }}# - - name: Install pulumictl - uses: #{{ .Config.actionVersions.installGhRelease }}# - with: - tag: #{{ .Config.actionVersions.pulumictlTag }}# - repo: pulumi/pulumictl - name: Download Go SDK uses: actions/download-artifact@v4 with: @@ -174,44 +158,10 @@ jobs: with: submodules: #{{ .Config.checkoutSubmodules }}# #{{- end }}# - - name: Install Go - uses: #{{ .Config.actionVersions.setupGo }}# - with: - go-version: "#{{ .Config.toolVersions.go }}#" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: #{{ .Config.actionVersions.installGhRelease }}# - with: - tag: #{{ .Config.actionVersions.pulumictlTag }}# - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: #{{ .Config.actionVersions.setupPulumi }}# - with: - pulumi-version: "#{{ .Config.toolVersions.pulumi }}#" - - name: Setup Node - uses: #{{ .Config.actionVersions.setupNode }}# - with: - node-version: "#{{ .Config.toolVersions.node }}#" - registry-url: https://registry.npmjs.org - - name: Setup DotNet - uses: #{{ .Config.actionVersions.setupDotNet }}# - with: - dotnet-version: "#{{ .Config.toolVersions.dotnet }}#" - - name: Setup Python - uses: #{{ .Config.actionVersions.setupPython }}# - with: - python-version: "#{{ .Config.toolVersions.python }}#" - - name: Setup Java - uses: #{{ .Config.actionVersions.setupJava }}# - with: - cache: gradle - distribution: temurin - java-version: "#{{ .Config.toolVersions.java }}#" - - name: Setup Gradle - uses: #{{ .Config.actionVersions.setupGradle }}# + - name: Setup tools + uses: ./.github/actions/setup-tools with: - gradle-version: "#{{ .Config.toolVersions.gradle }}#" + tools: pulumictl, pulumicli, go, node, dotnet, python, java - name: Download provider + tfgen binaries uses: #{{ .Config.actionVersions.downloadArtifact }}# with: diff --git a/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/release.yml b/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/release.yml index 9f1e0717a..e406a4885 100644 --- a/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/release.yml +++ b/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/release.yml @@ -74,21 +74,10 @@ jobs: with: submodules: #{{ .Config.checkoutSubmodules }}# #{{- end }}# - - name: Install Go - uses: #{{ .Config.actionVersions.setupGo }}# + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "#{{ .Config.toolVersions.go }}#" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: #{{ .Config.actionVersions.installGhRelease }}# - with: - tag: #{{ .Config.actionVersions.pulumictlTag }}# - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: #{{ .Config.actionVersions.setupPulumi }}# - with: - pulumi-version: "#{{ .Config.toolVersions.pulumi }}#" + tools: pulumictl, pulumicli, go - name: Configure AWS Credentials uses: #{{ .Config.actionVersions.configureAwsCredentials }}# with: @@ -136,11 +125,6 @@ jobs: with: submodules: #{{ .Config.checkoutSubmodules }}# #{{- end }}# - - name: Install pulumictl - uses: #{{ .Config.actionVersions.installGhRelease }}# - with: - tag: #{{ .Config.actionVersions.pulumictlTag }}# - repo: pulumi/pulumictl #{{- if .Config.publish.goSdk.usePush }}# - name: Download Go SDK uses: actions/download-artifact@v4 @@ -216,44 +200,10 @@ jobs: with: submodules: #{{ .Config.checkoutSubmodules }}# #{{- end }}# - - name: Install Go - uses: #{{ .Config.actionVersions.setupGo }}# - with: - go-version: "#{{ .Config.toolVersions.go }}#" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: #{{ .Config.actionVersions.installGhRelease }}# - with: - tag: #{{ .Config.actionVersions.pulumictlTag }}# - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: #{{ .Config.actionVersions.setupPulumi }}# - with: - pulumi-version: "#{{ .Config.toolVersions.pulumi }}#" - - name: Setup Node - uses: #{{ .Config.actionVersions.setupNode }}# - with: - node-version: "#{{ .Config.toolVersions.node }}#" - registry-url: https://registry.npmjs.org - - name: Setup DotNet - uses: #{{ .Config.actionVersions.setupDotNet }}# - with: - dotnet-version: "#{{ .Config.toolVersions.dotnet }}#" - - name: Setup Python - uses: #{{ .Config.actionVersions.setupPython }}# - with: - python-version: "#{{ .Config.toolVersions.python }}#" - - name: Setup Java - uses: #{{ .Config.actionVersions.setupJava }}# - with: - cache: gradle - distribution: temurin - java-version: "#{{ .Config.toolVersions.java }}#" - - name: Setup Gradle - uses: #{{ .Config.actionVersions.setupGradle }}# + - name: Setup tools + uses: ./.github/actions/setup-tools with: - gradle-version: "#{{ .Config.toolVersions.gradle }}#" + tools: pulumictl, pulumicli, go, node, dotnet, python, java - name: Download provider + tfgen binaries uses: #{{ .Config.actionVersions.downloadArtifact }}# with: diff --git a/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/resync-build.yml b/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/resync-build.yml index 611c97a80..830478606 100644 --- a/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/resync-build.yml +++ b/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/resync-build.yml @@ -23,34 +23,10 @@ jobs: - id: run-url name: Create URL to the run output run: echo "run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> "$GITHUB_OUTPUT" - - name: Install Go - uses: #{{ .Config.actionVersions.setupGo }}# + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "#{{ .Config.toolVersions.go }}#" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: #{{ .Config.actionVersions.installGhRelease }}# - with: - tag: #{{ .Config.actionVersions.pulumictlTag }}# - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: #{{ .Config.actionVersions.setupPulumi }}# - with: - pulumi-version: "#{{ .Config.toolVersions.pulumi }}#" - - name: Setup DotNet - uses: #{{ .Config.actionVersions.setupDotNet }}# - with: - dotnet-version: "#{{ .Config.toolVersions.dotnet }}#" - - name: Setup Node - uses: #{{ .Config.actionVersions.setupNode }}# - with: - node-version: "#{{ .Config.toolVersions.node }}#" - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: #{{ .Config.actionVersions.setupPython }}# - with: - python-version: "#{{ .Config.toolVersions.python }}#" + tools: pulumictl, pulumicli, go, node, dotnet, python - name: Sync with ci-mgmt run: cp -r "ci-mgmt/provider-ci/providers/$PROVIDER/repo/." . - name: Remove ci-mgmt directory diff --git a/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/run-acceptance-tests.yml b/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/run-acceptance-tests.yml index ecd5e6977..7b2ab1494 100644 --- a/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/run-acceptance-tests.yml +++ b/provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/run-acceptance-tests.yml @@ -38,7 +38,7 @@ jobs: name: Create URL to the run output run: echo "run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> "$GITHUB_OUTPUT" - name: Update with Result - uses: #{{ .Config.actionVersions.createOrUpdateComment }}# + uses: peter-evans/create-or-update-comment@v1 with: body: "Please view the PR build: ${{ steps.run-url.outputs.run-url }}" issue-number: ${{ github.event.client_payload.github.payload.issue.number }} diff --git a/provider-ci/internal/pkg/templates/provider/.github/actions/setup-tools/action.yml b/provider-ci/internal/pkg/templates/provider/.github/actions/setup-tools/action.yml index 0aa69352e..4634f20b0 100644 --- a/provider-ci/internal/pkg/templates/provider/.github/actions/setup-tools/action.yml +++ b/provider-ci/internal/pkg/templates/provider/.github/actions/setup-tools/action.yml @@ -20,54 +20,55 @@ runs: steps: - name: Install Go if: inputs.tools == 'all' || contains(inputs.tools, 'go') - uses: #{{ .Config.actionVersions.setupGo }}# + uses: actions/setup-go@v5 with: go-version: "#{{ .Config.toolVersions.go }}#" cache-dependency-path: | provider/*.sum upstream/*.sum + sdk/*.sum - name: Install pulumictl if: inputs.tools == 'all' || contains(inputs.tools, 'pulumictl') - uses: #{{ .Config.actionVersions.installGhRelease }}# + uses: jaxxstorm/action-install-gh-release@v1.11.0 with: - tag: #{{ .Config.actionVersions.pulumictlTag }}# + tag: v0.0.46 repo: pulumi/pulumictl - name: Install Pulumi CLI if: inputs.tools == 'all' || contains(inputs.tools, 'pulumicli') - uses: #{{ .Config.actionVersions.setupPulumi }}# + uses: pulumi/actions@v5 with: pulumi-version: "#{{ .Config.toolVersions.pulumi }}#" - name: Install Schema Tools if: inputs.tools == 'all' || contains(inputs.tools, 'schema-tools') - uses: #{{ .Config.actionVersions.installGhRelease }}# + uses: jaxxstorm/action-install-gh-release@v1.11.0 with: repo: pulumi/schema-tools - name: Setup Node if: inputs.tools == 'all' || contains(inputs.tools, 'node') - uses: #{{ .Config.actionVersions.setupNode }}# + uses: actions/setup-node@v4 with: node-version: #{{ .Config.toolVersions.node }}# registry-url: https://registry.npmjs.org - name: Setup DotNet if: inputs.tools == 'all' || contains(inputs.tools, 'dotnet') - uses: #{{ .Config.actionVersions.setupDotNet }}# + uses: actions/setup-dotnet@v4 with: dotnet-version: #{{ .Config.toolVersions.dotnet }}# - name: Setup Python if: inputs.tools == 'all' || contains(inputs.tools, 'python') - uses: #{{ .Config.actionVersions.setupPython }}# + uses: actions/setup-python@v5 with: python-version: #{{ .Config.toolVersions.python }}# - name: Setup Java if: inputs.tools == 'all' || contains(inputs.tools, 'java') - uses: #{{ .Config.actionVersions.setupJava }}# + uses: actions/setup-java@v4 with: cache: gradle distribution: temurin @@ -75,6 +76,6 @@ runs: - name: Setup Gradle if: inputs.tools == 'all' || contains(inputs.tools, 'java') - uses: #{{ .Config.actionVersions.setupGradle }}# + uses: gradle/gradle-build-action@v3 with: gradle-version: #{{ .Config.toolVersions.gradle }}# diff --git a/provider-ci/internal/pkg/templates/provider/.github/workflows/command-dispatch.yml b/provider-ci/internal/pkg/templates/provider/.github/workflows/command-dispatch.yml index 97e494b69..38af06d9f 100644 --- a/provider-ci/internal/pkg/templates/provider/.github/workflows/command-dispatch.yml +++ b/provider-ci/internal/pkg/templates/provider/.github/workflows/command-dispatch.yml @@ -13,7 +13,7 @@ jobs: with: submodules: #{{ .Config.checkoutSubmodules }}# #{{- end }}# - - uses: #{{ .Config.actionVersions.slashCommand }}# + - uses: peter-evans/slash-command-dispatch@v2 with: commands: | run-acceptance-tests diff --git a/provider-ci/internal/pkg/templates/provider/.github/workflows/license.yml b/provider-ci/internal/pkg/templates/provider/.github/workflows/license.yml index a9500273f..a90af6969 100644 --- a/provider-ci/internal/pkg/templates/provider/.github/workflows/license.yml +++ b/provider-ci/internal/pkg/templates/provider/.github/workflows/license.yml @@ -19,12 +19,10 @@ jobs: uses: actions/checkout@v4 with: ref: ${{ env.PR_COMMIT_SHA }} - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - cache-dependency-path: | - sdk/go.sum - go-version: "#{{ .Config.toolVersions.go }}#" + tools: go - run: make upstream - uses: pulumi/license-check-action@main with: diff --git a/provider-ci/internal/pkg/templates/provider/.github/workflows/verify-release.yml b/provider-ci/internal/pkg/templates/provider/.github/workflows/verify-release.yml index dba4c4a6c..24175de8c 100644 --- a/provider-ci/internal/pkg/templates/provider/.github/workflows/verify-release.yml +++ b/provider-ci/internal/pkg/templates/provider/.github/workflows/verify-release.yml @@ -57,6 +57,8 @@ jobs: uses: actions/checkout@v4 - name: Setup tools uses: ./.github/actions/setup-tools + with: + tools: pulumicli, go, node, dotnet, python, java #{{- if .Config.releaseVerification.nodejs }}# - name: Verify nodejs release uses: pulumi/verify-provider-release@v1 diff --git a/provider-ci/test-providers/aws/.github/actions/setup-tools/action.yml b/provider-ci/test-providers/aws/.github/actions/setup-tools/action.yml index a3f170c83..ec2dddec6 100644 --- a/provider-ci/test-providers/aws/.github/actions/setup-tools/action.yml +++ b/provider-ci/test-providers/aws/.github/actions/setup-tools/action.yml @@ -26,6 +26,7 @@ runs: cache-dependency-path: | provider/*.sum upstream/*.sum + sdk/*.sum - name: Install pulumictl if: inputs.tools == 'all' || contains(inputs.tools, 'pulumictl') diff --git a/provider-ci/test-providers/aws/.github/workflows/check-upstream-upgrade.yml b/provider-ci/test-providers/aws/.github/workflows/check-upstream-upgrade.yml index 9c3b830b3..d79f5127e 100644 --- a/provider-ci/test-providers/aws/.github/workflows/check-upstream-upgrade.yml +++ b/provider-ci/test-providers/aws/.github/workflows/check-upstream-upgrade.yml @@ -8,16 +8,14 @@ jobs: name: Check for upstream provider upgrades runs-on: ubuntu-latest steps: - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - name: Checkout Repo uses: actions/checkout@v4 with: submodules: true + - name: Setup tools + uses: ./.github/actions/setup-tools + with: + tools: go - name: Install upgrade-provider run: go install github.com/pulumi/upgrade-provider@main shell: bash diff --git a/provider-ci/test-providers/aws/.github/workflows/license.yml b/provider-ci/test-providers/aws/.github/workflows/license.yml index 025940c42..b146f85e5 100644 --- a/provider-ci/test-providers/aws/.github/workflows/license.yml +++ b/provider-ci/test-providers/aws/.github/workflows/license.yml @@ -37,12 +37,10 @@ jobs: uses: actions/checkout@v4 with: ref: ${{ env.PR_COMMIT_SHA }} - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - cache-dependency-path: | - sdk/go.sum - go-version: "1.21.x" + tools: go - run: make upstream - uses: pulumi/license-check-action@main with: diff --git a/provider-ci/test-providers/aws/.github/workflows/master.yml b/provider-ci/test-providers/aws/.github/workflows/master.yml index 291d46890..1f235370d 100644 --- a/provider-ci/test-providers/aws/.github/workflows/master.yml +++ b/provider-ci/test-providers/aws/.github/workflows/master.yml @@ -60,26 +60,10 @@ jobs: aws-access-key-id: ${{ secrets.AWS_CORP_S3_UPLOAD_ACCESS_KEY_ID }} aws-region: us-west-2 aws-secret-access-key: ${{ secrets.AWS_CORP_S3_UPLOAD_SECRET_ACCESS_KEY }} - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" - - if: github.event_name == 'pull_request' - name: Install Schema Tools - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - repo: pulumi/schema-tools + tools: pulumictl, pulumicli, go, schema-tools - name: Echo Coverage Output Dir run: 'echo "Coverage output directory: ${{ env.COVERAGE_OUTPUT_DIR }}"' - name: Generate Coverage Data @@ -120,21 +104,10 @@ jobs: uses: actions/checkout@v4 with: submodules: true - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" + tools: pulumictl, pulumicli, go - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 with: @@ -211,44 +184,10 @@ jobs: uses: actions/checkout@v4 with: submodules: true - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20.x" - registry-url: https://registry.npmjs.org - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "6.0.x" - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.11.8" - - name: Setup Java - uses: actions/setup-java@v4 - with: - cache: gradle - distribution: temurin - java-version: "11" - - name: Setup Gradle - uses: gradle/gradle-build-action@v3 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - gradle-version: "7.6" + tools: pulumictl, pulumicli, go, node, dotnet, python, java - name: Download provider + tfgen binaries uses: actions/download-artifact@v4 with: diff --git a/provider-ci/test-providers/aws/.github/workflows/nightly-test.yml b/provider-ci/test-providers/aws/.github/workflows/nightly-test.yml index 4661b4bd8..a48c52770 100644 --- a/provider-ci/test-providers/aws/.github/workflows/nightly-test.yml +++ b/provider-ci/test-providers/aws/.github/workflows/nightly-test.yml @@ -59,44 +59,10 @@ jobs: uses: actions/checkout@v4 with: submodules: true - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20.x" - registry-url: https://registry.npmjs.org - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "6.0.x" - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.11.8" - - name: Setup Java - uses: actions/setup-java@v4 - with: - cache: gradle - distribution: temurin - java-version: "11" - - name: Setup Gradle - uses: gradle/gradle-build-action@v3 - with: - gradle-version: "7.6" + tools: pulumictl, pulumicli, go, node, dotnet, python, java - name: Download provider + tfgen binaries uses: actions/download-artifact@v4 with: diff --git a/provider-ci/test-providers/aws/.github/workflows/prerelease.yml b/provider-ci/test-providers/aws/.github/workflows/prerelease.yml index f647eba10..548a95710 100644 --- a/provider-ci/test-providers/aws/.github/workflows/prerelease.yml +++ b/provider-ci/test-providers/aws/.github/workflows/prerelease.yml @@ -65,21 +65,10 @@ jobs: uses: actions/checkout@v4 with: submodules: true - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" + tools: pulumictl, pulumicli, go - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 with: @@ -126,11 +115,6 @@ jobs: uses: actions/checkout@v4 with: submodules: true - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - name: Download Go SDK uses: actions/download-artifact@v4 with: @@ -175,44 +159,10 @@ jobs: uses: actions/checkout@v4 with: submodules: true - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20.x" - registry-url: https://registry.npmjs.org - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "6.0.x" - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.11.8" - - name: Setup Java - uses: actions/setup-java@v4 - with: - cache: gradle - distribution: temurin - java-version: "11" - - name: Setup Gradle - uses: gradle/gradle-build-action@v3 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - gradle-version: "7.6" + tools: pulumictl, pulumicli, go, node, dotnet, python, java - name: Download provider + tfgen binaries uses: actions/download-artifact@v4 with: diff --git a/provider-ci/test-providers/aws/.github/workflows/release.yml b/provider-ci/test-providers/aws/.github/workflows/release.yml index 5f7a8f193..86b203ac3 100644 --- a/provider-ci/test-providers/aws/.github/workflows/release.yml +++ b/provider-ci/test-providers/aws/.github/workflows/release.yml @@ -81,21 +81,10 @@ jobs: uses: actions/checkout@v4 with: submodules: true - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" + tools: pulumictl, pulumicli, go - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 with: @@ -141,11 +130,6 @@ jobs: uses: actions/checkout@v4 with: submodules: true - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - name: Download Go SDK uses: actions/download-artifact@v4 with: @@ -208,44 +192,10 @@ jobs: uses: actions/checkout@v4 with: submodules: true - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20.x" - registry-url: https://registry.npmjs.org - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "6.0.x" - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.11.8" - - name: Setup Java - uses: actions/setup-java@v4 - with: - cache: gradle - distribution: temurin - java-version: "11" - - name: Setup Gradle - uses: gradle/gradle-build-action@v3 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - gradle-version: "7.6" + tools: pulumictl, pulumicli, go, node, dotnet, python, java - name: Download provider + tfgen binaries uses: actions/download-artifact@v4 with: diff --git a/provider-ci/test-providers/aws/.github/workflows/resync-build.yml b/provider-ci/test-providers/aws/.github/workflows/resync-build.yml index 13c00ac15..21cd27e98 100644 --- a/provider-ci/test-providers/aws/.github/workflows/resync-build.yml +++ b/provider-ci/test-providers/aws/.github/workflows/resync-build.yml @@ -39,34 +39,10 @@ jobs: - id: run-url name: Create URL to the run output run: echo "run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> "$GITHUB_OUTPUT" - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "6.0.x" - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20.x" - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.11.8" + tools: pulumictl, pulumicli, go, node, dotnet, python - name: Sync with ci-mgmt run: cp -r "ci-mgmt/provider-ci/providers/$PROVIDER/repo/." . - name: Remove ci-mgmt directory diff --git a/provider-ci/test-providers/aws/.github/workflows/verify-release.yml b/provider-ci/test-providers/aws/.github/workflows/verify-release.yml index 2a55c6c72..3006d5a7f 100644 --- a/provider-ci/test-providers/aws/.github/workflows/verify-release.yml +++ b/provider-ci/test-providers/aws/.github/workflows/verify-release.yml @@ -65,3 +65,5 @@ jobs: uses: actions/checkout@v4 - name: Setup tools uses: ./.github/actions/setup-tools + with: + tools: pulumicli, go, node, dotnet, python, java diff --git a/provider-ci/test-providers/cloudflare/.github/actions/setup-tools/action.yml b/provider-ci/test-providers/cloudflare/.github/actions/setup-tools/action.yml index a3f170c83..ec2dddec6 100644 --- a/provider-ci/test-providers/cloudflare/.github/actions/setup-tools/action.yml +++ b/provider-ci/test-providers/cloudflare/.github/actions/setup-tools/action.yml @@ -26,6 +26,7 @@ runs: cache-dependency-path: | provider/*.sum upstream/*.sum + sdk/*.sum - name: Install pulumictl if: inputs.tools == 'all' || contains(inputs.tools, 'pulumictl') diff --git a/provider-ci/test-providers/cloudflare/.github/workflows/check-upstream-upgrade.yml b/provider-ci/test-providers/cloudflare/.github/workflows/check-upstream-upgrade.yml index e36a0af14..a4d997bc0 100644 --- a/provider-ci/test-providers/cloudflare/.github/workflows/check-upstream-upgrade.yml +++ b/provider-ci/test-providers/cloudflare/.github/workflows/check-upstream-upgrade.yml @@ -8,14 +8,12 @@ jobs: name: Check for upstream provider upgrades runs-on: ubuntu-latest steps: - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - name: Checkout Repo uses: actions/checkout@v4 + - name: Setup tools + uses: ./.github/actions/setup-tools + with: + tools: go - name: Install upgrade-provider run: go install github.com/pulumi/upgrade-provider@main shell: bash diff --git a/provider-ci/test-providers/cloudflare/.github/workflows/license.yml b/provider-ci/test-providers/cloudflare/.github/workflows/license.yml index b1210cee1..e8f372c88 100644 --- a/provider-ci/test-providers/cloudflare/.github/workflows/license.yml +++ b/provider-ci/test-providers/cloudflare/.github/workflows/license.yml @@ -36,12 +36,10 @@ jobs: uses: actions/checkout@v4 with: ref: ${{ env.PR_COMMIT_SHA }} - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - cache-dependency-path: | - sdk/go.sum - go-version: "1.21.x" + tools: go - run: make upstream - uses: pulumi/license-check-action@main with: diff --git a/provider-ci/test-providers/cloudflare/.github/workflows/master.yml b/provider-ci/test-providers/cloudflare/.github/workflows/master.yml index 3a09573d4..c10cb5d29 100644 --- a/provider-ci/test-providers/cloudflare/.github/workflows/master.yml +++ b/provider-ci/test-providers/cloudflare/.github/workflows/master.yml @@ -57,26 +57,10 @@ jobs: aws-access-key-id: ${{ secrets.AWS_CORP_S3_UPLOAD_ACCESS_KEY_ID }} aws-region: us-west-2 aws-secret-access-key: ${{ secrets.AWS_CORP_S3_UPLOAD_SECRET_ACCESS_KEY }} - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" - - if: github.event_name == 'pull_request' - name: Install Schema Tools - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - repo: pulumi/schema-tools + tools: pulumictl, pulumicli, go, schema-tools - name: Echo Coverage Output Dir run: 'echo "Coverage output directory: ${{ env.COVERAGE_OUTPUT_DIR }}"' - name: Generate Coverage Data @@ -116,21 +100,10 @@ jobs: swap-storage: false - name: Checkout Repo uses: actions/checkout@v4 - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" + tools: pulumictl, pulumicli, go - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 with: @@ -199,44 +172,10 @@ jobs: steps: - name: Checkout Repo uses: actions/checkout@v4 - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20.x" - registry-url: https://registry.npmjs.org - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "6.0.x" - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.11.8" - - name: Setup Java - uses: actions/setup-java@v4 - with: - cache: gradle - distribution: temurin - java-version: "11" - - name: Setup Gradle - uses: gradle/gradle-build-action@v3 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - gradle-version: "7.6" + tools: pulumictl, pulumicli, go, node, dotnet, python, java - name: Download provider + tfgen binaries uses: actions/download-artifact@v4 with: diff --git a/provider-ci/test-providers/cloudflare/.github/workflows/prerelease.yml b/provider-ci/test-providers/cloudflare/.github/workflows/prerelease.yml index ce69ff98d..3fec15ee7 100644 --- a/provider-ci/test-providers/cloudflare/.github/workflows/prerelease.yml +++ b/provider-ci/test-providers/cloudflare/.github/workflows/prerelease.yml @@ -63,21 +63,10 @@ jobs: swap-storage: false - name: Checkout Repo uses: actions/checkout@v4 - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" + tools: pulumictl, pulumicli, go - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 with: @@ -122,11 +111,6 @@ jobs: steps: - name: Checkout Repo uses: actions/checkout@v4 - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - name: Download Go SDK uses: actions/download-artifact@v4 with: @@ -163,44 +147,10 @@ jobs: steps: - name: Checkout Repo uses: actions/checkout@v4 - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20.x" - registry-url: https://registry.npmjs.org - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "6.0.x" - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.11.8" - - name: Setup Java - uses: actions/setup-java@v4 - with: - cache: gradle - distribution: temurin - java-version: "11" - - name: Setup Gradle - uses: gradle/gradle-build-action@v3 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - gradle-version: "7.6" + tools: pulumictl, pulumicli, go, node, dotnet, python, java - name: Download provider + tfgen binaries uses: actions/download-artifact@v4 with: diff --git a/provider-ci/test-providers/cloudflare/.github/workflows/release.yml b/provider-ci/test-providers/cloudflare/.github/workflows/release.yml index fa7f540c1..b47bd24a5 100644 --- a/provider-ci/test-providers/cloudflare/.github/workflows/release.yml +++ b/provider-ci/test-providers/cloudflare/.github/workflows/release.yml @@ -79,21 +79,10 @@ jobs: swap-storage: false - name: Checkout Repo uses: actions/checkout@v4 - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" + tools: pulumictl, pulumicli, go - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 with: @@ -137,11 +126,6 @@ jobs: steps: - name: Checkout Repo uses: actions/checkout@v4 - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - name: Download Go SDK uses: actions/download-artifact@v4 with: @@ -196,44 +180,10 @@ jobs: steps: - name: Checkout Repo uses: actions/checkout@v4 - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20.x" - registry-url: https://registry.npmjs.org - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "6.0.x" - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.11.8" - - name: Setup Java - uses: actions/setup-java@v4 - with: - cache: gradle - distribution: temurin - java-version: "11" - - name: Setup Gradle - uses: gradle/gradle-build-action@v3 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - gradle-version: "7.6" + tools: pulumictl, pulumicli, go, node, dotnet, python, java - name: Download provider + tfgen binaries uses: actions/download-artifact@v4 with: diff --git a/provider-ci/test-providers/cloudflare/.github/workflows/resync-build.yml b/provider-ci/test-providers/cloudflare/.github/workflows/resync-build.yml index c822f5fa1..e56683861 100644 --- a/provider-ci/test-providers/cloudflare/.github/workflows/resync-build.yml +++ b/provider-ci/test-providers/cloudflare/.github/workflows/resync-build.yml @@ -36,34 +36,10 @@ jobs: - id: run-url name: Create URL to the run output run: echo "run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> "$GITHUB_OUTPUT" - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "6.0.x" - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20.x" - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.11.8" + tools: pulumictl, pulumicli, go, node, dotnet, python - name: Sync with ci-mgmt run: cp -r "ci-mgmt/provider-ci/providers/$PROVIDER/repo/." . - name: Remove ci-mgmt directory diff --git a/provider-ci/test-providers/cloudflare/.github/workflows/verify-release.yml b/provider-ci/test-providers/cloudflare/.github/workflows/verify-release.yml index bbe3e9b45..cc56122da 100644 --- a/provider-ci/test-providers/cloudflare/.github/workflows/verify-release.yml +++ b/provider-ci/test-providers/cloudflare/.github/workflows/verify-release.yml @@ -64,3 +64,5 @@ jobs: uses: actions/checkout@v4 - name: Setup tools uses: ./.github/actions/setup-tools + with: + tools: pulumicli, go, node, dotnet, python, java diff --git a/provider-ci/test-providers/docker/.github/actions/setup-tools/action.yml b/provider-ci/test-providers/docker/.github/actions/setup-tools/action.yml index a3f170c83..ec2dddec6 100644 --- a/provider-ci/test-providers/docker/.github/actions/setup-tools/action.yml +++ b/provider-ci/test-providers/docker/.github/actions/setup-tools/action.yml @@ -26,6 +26,7 @@ runs: cache-dependency-path: | provider/*.sum upstream/*.sum + sdk/*.sum - name: Install pulumictl if: inputs.tools == 'all' || contains(inputs.tools, 'pulumictl') diff --git a/provider-ci/test-providers/docker/.github/workflows/check-upstream-upgrade.yml b/provider-ci/test-providers/docker/.github/workflows/check-upstream-upgrade.yml index e36a0af14..a4d997bc0 100644 --- a/provider-ci/test-providers/docker/.github/workflows/check-upstream-upgrade.yml +++ b/provider-ci/test-providers/docker/.github/workflows/check-upstream-upgrade.yml @@ -8,14 +8,12 @@ jobs: name: Check for upstream provider upgrades runs-on: ubuntu-latest steps: - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - name: Checkout Repo uses: actions/checkout@v4 + - name: Setup tools + uses: ./.github/actions/setup-tools + with: + tools: go - name: Install upgrade-provider run: go install github.com/pulumi/upgrade-provider@main shell: bash diff --git a/provider-ci/test-providers/docker/.github/workflows/license.yml b/provider-ci/test-providers/docker/.github/workflows/license.yml index 6a24e75d6..42623d2db 100644 --- a/provider-ci/test-providers/docker/.github/workflows/license.yml +++ b/provider-ci/test-providers/docker/.github/workflows/license.yml @@ -49,12 +49,10 @@ jobs: uses: actions/checkout@v4 with: ref: ${{ env.PR_COMMIT_SHA }} - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - cache-dependency-path: | - sdk/go.sum - go-version: "1.21.x" + tools: go - run: make upstream - uses: pulumi/license-check-action@main with: diff --git a/provider-ci/test-providers/docker/.github/workflows/master.yml b/provider-ci/test-providers/docker/.github/workflows/master.yml index 927a8fc6f..a06966ba4 100644 --- a/provider-ci/test-providers/docker/.github/workflows/master.yml +++ b/provider-ci/test-providers/docker/.github/workflows/master.yml @@ -70,26 +70,10 @@ jobs: aws-access-key-id: ${{ secrets.AWS_CORP_S3_UPLOAD_ACCESS_KEY_ID }} aws-region: us-west-2 aws-secret-access-key: ${{ secrets.AWS_CORP_S3_UPLOAD_SECRET_ACCESS_KEY }} - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" - - if: github.event_name == 'pull_request' - name: Install Schema Tools - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - repo: pulumi/schema-tools + tools: pulumictl, pulumicli, go, schema-tools - name: Echo Coverage Output Dir run: 'echo "Coverage output directory: ${{ env.COVERAGE_OUTPUT_DIR }}"' - name: Generate Coverage Data @@ -129,21 +113,10 @@ jobs: swap-storage: false - name: Checkout Repo uses: actions/checkout@v4 - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" + tools: pulumictl, pulumicli, go - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 with: @@ -212,44 +185,10 @@ jobs: steps: - name: Checkout Repo uses: actions/checkout@v4 - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20.x" - registry-url: https://registry.npmjs.org - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "6.0.x" - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.11.8" - - name: Setup Java - uses: actions/setup-java@v4 - with: - cache: gradle - distribution: temurin - java-version: "11" - - name: Setup Gradle - uses: gradle/gradle-build-action@v3 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - gradle-version: "7.6" + tools: pulumictl, pulumicli, go, node, dotnet, python, java - name: Download provider + tfgen binaries uses: actions/download-artifact@v4 with: diff --git a/provider-ci/test-providers/docker/.github/workflows/prerelease.yml b/provider-ci/test-providers/docker/.github/workflows/prerelease.yml index 8751cc7f6..f679a7805 100644 --- a/provider-ci/test-providers/docker/.github/workflows/prerelease.yml +++ b/provider-ci/test-providers/docker/.github/workflows/prerelease.yml @@ -76,21 +76,10 @@ jobs: swap-storage: false - name: Checkout Repo uses: actions/checkout@v4 - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" + tools: pulumictl, pulumicli, go - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 with: @@ -135,11 +124,6 @@ jobs: steps: - name: Checkout Repo uses: actions/checkout@v4 - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - name: Download Go SDK uses: actions/download-artifact@v4 with: @@ -176,44 +160,10 @@ jobs: steps: - name: Checkout Repo uses: actions/checkout@v4 - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20.x" - registry-url: https://registry.npmjs.org - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "6.0.x" - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.11.8" - - name: Setup Java - uses: actions/setup-java@v4 - with: - cache: gradle - distribution: temurin - java-version: "11" - - name: Setup Gradle - uses: gradle/gradle-build-action@v3 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - gradle-version: "7.6" + tools: pulumictl, pulumicli, go, node, dotnet, python, java - name: Download provider + tfgen binaries uses: actions/download-artifact@v4 with: diff --git a/provider-ci/test-providers/docker/.github/workflows/release.yml b/provider-ci/test-providers/docker/.github/workflows/release.yml index dbdafb2a3..62f03f6b6 100644 --- a/provider-ci/test-providers/docker/.github/workflows/release.yml +++ b/provider-ci/test-providers/docker/.github/workflows/release.yml @@ -92,21 +92,10 @@ jobs: swap-storage: false - name: Checkout Repo uses: actions/checkout@v4 - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" + tools: pulumictl, pulumicli, go - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 with: @@ -150,11 +139,6 @@ jobs: steps: - name: Checkout Repo uses: actions/checkout@v4 - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - name: Download Go SDK uses: actions/download-artifact@v4 with: @@ -209,44 +193,10 @@ jobs: steps: - name: Checkout Repo uses: actions/checkout@v4 - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20.x" - registry-url: https://registry.npmjs.org - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "6.0.x" - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.11.8" - - name: Setup Java - uses: actions/setup-java@v4 - with: - cache: gradle - distribution: temurin - java-version: "11" - - name: Setup Gradle - uses: gradle/gradle-build-action@v3 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - gradle-version: "7.6" + tools: pulumictl, pulumicli, go, node, dotnet, python, java - name: Download provider + tfgen binaries uses: actions/download-artifact@v4 with: diff --git a/provider-ci/test-providers/docker/.github/workflows/resync-build.yml b/provider-ci/test-providers/docker/.github/workflows/resync-build.yml index 43d2eeb09..d09469cf9 100644 --- a/provider-ci/test-providers/docker/.github/workflows/resync-build.yml +++ b/provider-ci/test-providers/docker/.github/workflows/resync-build.yml @@ -49,34 +49,10 @@ jobs: - id: run-url name: Create URL to the run output run: echo "run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> "$GITHUB_OUTPUT" - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "dev" - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "6.0.x" - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20.x" - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.11.8" + tools: pulumictl, pulumicli, go, node, dotnet, python - name: Sync with ci-mgmt run: cp -r "ci-mgmt/provider-ci/providers/$PROVIDER/repo/." . - name: Remove ci-mgmt directory diff --git a/provider-ci/test-providers/docker/.github/workflows/verify-release.yml b/provider-ci/test-providers/docker/.github/workflows/verify-release.yml index d6c9c8276..c44ad1829 100644 --- a/provider-ci/test-providers/docker/.github/workflows/verify-release.yml +++ b/provider-ci/test-providers/docker/.github/workflows/verify-release.yml @@ -77,3 +77,5 @@ jobs: uses: actions/checkout@v4 - name: Setup tools uses: ./.github/actions/setup-tools + with: + tools: pulumicli, go, node, dotnet, python, java