diff --git a/.github/workflows/build_sdk.yml b/.github/workflows/build_sdk.yml index f3ab94a3fc..40c7bfe8c5 100644 --- a/.github/workflows/build_sdk.yml +++ b/.github/workflows/build_sdk.yml @@ -1,7 +1,11 @@ name: "Build SDK" on: - workflow_call: {} + workflow_call: + inputs: + version: + required: true + type: string env: ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }} @@ -28,6 +32,7 @@ env: SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} TF_APPEND_USER_AGENT: pulumi + PROVIDER_VERSION: ${{ inputs.version }} jobs: build_sdk: @@ -45,9 +50,6 @@ jobs: steps: - name: Checkout Repo uses: actions/checkout@v4 - - uses: pulumi/provider-version-action@v1 - with: - set-env: 'PROVIDER_VERSION' - name: Cache examples generation uses: actions/cache@v4 with: diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 57e786445d..f5aa8bb002 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -26,11 +26,21 @@ env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} TF_APPEND_USER_AGENT: pulumi jobs: + prerequisites: + uses: ./.github/workflows/prerequisites.yml + secrets: inherit + with: + default_branch: ${{ github.event.repository.default_branch }} + is_pr: ${{ github.event_name == 'pull_request' }} + is_automated: ${{ github.actor == 'dependabot[bot]' }} + build_sdk: name: build_sdk needs: prerequisites uses: ./.github/workflows/build_sdk.yml secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} generate_coverage_data: continue-on-error: true @@ -94,17 +104,11 @@ jobs: name: License Check uses: ./.github/workflows/license.yml secrets: inherit - prerequisites: - uses: ./.github/workflows/prerequisites.yml - secrets: inherit - with: - default_branch: ${{ github.event.repository.default_branch }} - is_pr: ${{ github.event_name == 'pull_request' }} - is_automated: ${{ github.actor == 'dependabot[bot]' }} publish: name: publish needs: + - prerequisites - test - license_check runs-on: ubuntu-latest @@ -143,13 +147,11 @@ jobs: role-external-id: upload-pulumi-release role-session-name: azure@githubActions role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }} - - id: version - uses: pulumi/provider-version-action@v1 - name: Run GoReleaser uses: goreleaser/goreleaser-action@v5 env: - GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }} - PROVIDER_VERSION: ${{ steps.version.outputs.version }} + GORELEASER_CURRENT_TAG: v${{ needs.prerequisites.outputs.version }} + PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }} with: args: -p 1 -f .goreleaser.prerelease.yml --rm-dist --skip-validate --timeout 90m0s @@ -163,16 +165,16 @@ jobs: status: ${{ job.status }} publish_sdk: name: publish_sdk - needs: publish + needs: + - prerequisites + - publish runs-on: ubuntu-latest steps: - - id: version - uses: pulumi/provider-version-action@v1 - name: Publish SDKs uses: pulumi/pulumi-package-publisher@v0.0.18 with: sdk: all - version: ${{ steps.version.outputs.version }} + version: ${{ needs.prerequisites.outputs.version }} dotnet-version: "6.0.x" java-version: "11" node-version: "20.x" @@ -208,17 +210,18 @@ jobs: test: name: test - needs: build_sdk + needs: + - prerequisites + - build_sdk permissions: contents: read id-token: write runs-on: ubuntu-latest + env: + PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }} steps: - name: Checkout Repo uses: actions/checkout@v4 - - uses: pulumi/provider-version-action@v1 - with: - set-env: 'PROVIDER_VERSION' - name: Install Go uses: actions/setup-go@v5 with: diff --git a/.github/workflows/nightly-test.yml b/.github/workflows/nightly-test.yml index 1d38ffab6f..2e77994140 100644 --- a/.github/workflows/nightly-test.yml +++ b/.github/workflows/nightly-test.yml @@ -26,12 +26,6 @@ env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} TF_APPEND_USER_AGENT: pulumi jobs: - build_sdk: - name: build_sdk - needs: prerequisites - uses: ./.github/workflows/build_sdk.yml - secrets: inherit - prerequisites: uses: ./.github/workflows/prerequisites.yml secrets: inherit @@ -40,19 +34,28 @@ jobs: is_pr: ${{ github.event_name == 'pull_request' }} is_automated: ${{ github.actor == 'dependabot[bot]' }} + build_sdk: + name: build_sdk + needs: prerequisites + uses: ./.github/workflows/build_sdk.yml + secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} + test: name: test - needs: build_sdk + needs: + - prerequisites + - build_sdk permissions: contents: read id-token: write runs-on: ubuntu-latest + env: + PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }} steps: - name: Checkout Repo uses: actions/checkout@v4 - - uses: pulumi/provider-version-action@v1 - with: - set-env: 'PROVIDER_VERSION' - name: Install Go uses: actions/setup-go@v5 with: diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 528be41ad7..73604d828c 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -27,11 +27,21 @@ env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} TF_APPEND_USER_AGENT: pulumi jobs: + prerequisites: + uses: ./.github/workflows/prerequisites.yml + secrets: inherit + with: + default_branch: ${{ github.event.repository.default_branch }} + is_pr: ${{ github.event_name == 'pull_request' }} + is_automated: ${{ github.actor == 'dependabot[bot]' }} + build_sdk: name: build_sdk needs: prerequisites uses: ./.github/workflows/build_sdk.yml secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} lint: name: lint @@ -41,17 +51,11 @@ jobs: name: License Check uses: ./.github/workflows/license.yml secrets: inherit - prerequisites: - uses: ./.github/workflows/prerequisites.yml - secrets: inherit - with: - default_branch: ${{ github.event.repository.default_branch }} - is_pr: ${{ github.event_name == 'pull_request' }} - is_automated: ${{ github.actor == 'dependabot[bot]' }} publish: name: publish needs: + - prerequisites - test - license_check runs-on: ubuntu-latest @@ -90,13 +94,11 @@ jobs: role-external-id: upload-pulumi-release role-session-name: azure@githubActions role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }} - - id: version - uses: pulumi/provider-version-action@v1 - name: Run GoReleaser uses: goreleaser/goreleaser-action@v5 env: - GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }} - PROVIDER_VERSION: ${{ steps.version.outputs.version }} + GORELEASER_CURRENT_TAG: v${{ needs.prerequisites.outputs.version }} + PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }} with: args: -p 1 -f .goreleaser.prerelease.yml --rm-dist --skip-validate --timeout 90m0s @@ -110,16 +112,16 @@ jobs: status: ${{ job.status }} publish_sdk: name: publish_sdk - needs: publish + needs: + - prerequisites + - publish runs-on: ubuntu-latest steps: - - id: version - uses: pulumi/provider-version-action@v1 - name: Publish SDKs uses: pulumi/pulumi-package-publisher@v0.0.18 with: sdk: all - version: ${{ steps.version.outputs.version }} + version: ${{ needs.prerequisites.outputs.version }} dotnet-version: "6.0.x" java-version: "11" node-version: "20.x" @@ -137,7 +139,9 @@ jobs: uses: rtCamp/action-slack-notify@v2 publish_go_sdk: name: publish_go_sdk - needs: publish_sdk + needs: + - prerequisites + - publish_sdk runs-on: ubuntu-latest steps: - name: Checkout Repo @@ -147,8 +151,6 @@ jobs: with: tag: v0.0.46 repo: pulumi/pulumictl - - id: version - uses: pulumi/provider-version-action@v1 - name: Download Go SDK uses: actions/download-artifact@v4 with: @@ -164,7 +166,7 @@ jobs: base-ref: ${{ github.sha }} source: sdk path: sdk - version: ${{ steps.version.outputs.version }} + version: ${{ needs.prerequisites.outputs.version }} additive: false # Avoid including other language SDKs & artifacts in the commit files: | @@ -173,17 +175,18 @@ jobs: !*.tar.gz test: name: test - needs: build_sdk + needs: + - prerequisites + - build_sdk permissions: contents: read id-token: write runs-on: ubuntu-latest + env: + PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }} steps: - name: Checkout Repo uses: actions/checkout@v4 - - uses: pulumi/provider-version-action@v1 - with: - set-env: 'PROVIDER_VERSION' - name: Install Go uses: actions/setup-go@v5 with: diff --git a/.github/workflows/prerequisites.yml b/.github/workflows/prerequisites.yml index 3ae93eab32..05e606d312 100644 --- a/.github/workflows/prerequisites.yml +++ b/.github/workflows/prerequisites.yml @@ -12,6 +12,10 @@ on: default_branch: type: string required: true + outputs: + version: + description: "Provider version being built" + value: ${{ jobs.prerequisites.outputs.version }} env: ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }} @@ -43,10 +47,13 @@ jobs: prerequisites: name: prerequisites runs-on: ubuntu-latest + outputs: + version: ${{ steps.provider-version.outputs.version }} steps: - name: Checkout Repo uses: actions/checkout@v4 - uses: pulumi/provider-version-action@v1 + id: provider-version with: set-env: 'PROVIDER_VERSION' - name: Cache examples generation diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9b040c68b6..24d80ca91f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,11 +26,21 @@ env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} TF_APPEND_USER_AGENT: pulumi jobs: + prerequisites: + uses: ./.github/workflows/prerequisites.yml + secrets: inherit + with: + default_branch: ${{ github.event.repository.default_branch }} + is_pr: ${{ github.event_name == 'pull_request' }} + is_automated: ${{ github.actor == 'dependabot[bot]' }} + build_sdk: name: build_sdk needs: prerequisites uses: ./.github/workflows/build_sdk.yml secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} create_docs_build: name: create_docs_build @@ -57,17 +67,11 @@ jobs: name: License Check uses: ./.github/workflows/license.yml secrets: inherit - prerequisites: - uses: ./.github/workflows/prerequisites.yml - secrets: inherit - with: - default_branch: ${{ github.event.repository.default_branch }} - is_pr: ${{ github.event_name == 'pull_request' }} - is_automated: ${{ github.actor == 'dependabot[bot]' }} publish: name: publish needs: + - prerequisites - test - license_check runs-on: ubuntu-latest @@ -106,13 +110,11 @@ jobs: role-external-id: upload-pulumi-release role-session-name: azure@githubActions role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }} - - id: version - uses: pulumi/provider-version-action@v1 - name: Run GoReleaser uses: goreleaser/goreleaser-action@v5 env: - GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }} - PROVIDER_VERSION: ${{ steps.version.outputs.version }} + GORELEASER_CURRENT_TAG: v${{ needs.prerequisites.outputs.version }} + PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }} with: args: -p 1 release --rm-dist --timeout 90m0s version: latest @@ -125,16 +127,16 @@ jobs: status: ${{ job.status }} publish_sdk: name: publish_sdk - needs: publish + needs: + - prerequisites + - publish runs-on: ubuntu-latest steps: - - id: version - uses: pulumi/provider-version-action@v1 - name: Publish SDKs uses: pulumi/pulumi-package-publisher@v0.0.18 with: sdk: all - version: ${{ steps.version.outputs.version }} + version: ${{ needs.prerequisites.outputs.version }} dotnet-version: "6.0.x" java-version: "11" node-version: "20.x" @@ -152,7 +154,9 @@ jobs: uses: rtCamp/action-slack-notify@v2 tag_sdk: name: tag_sdk - needs: publish_sdk + needs: + - prerequisites + - publish_sdk runs-on: ubuntu-latest steps: - name: Checkout Repo @@ -162,8 +166,6 @@ jobs: with: tag: v0.0.46 repo: pulumi/pulumictl - - id: version - uses: pulumi/provider-version-action@v1 - name: Download Go SDK uses: actions/download-artifact@v4 with: @@ -179,7 +181,7 @@ jobs: base-ref: ${{ github.sha }} source: sdk path: sdk - version: ${{ steps.version.outputs.version }} + version: ${{ needs.prerequisites.outputs.version }} additive: false # Avoid including other language SDKs & artifacts in the commit files: | @@ -206,17 +208,18 @@ jobs: test: name: test - needs: build_sdk + needs: + - prerequisites + - build_sdk permissions: contents: read id-token: write runs-on: ubuntu-latest + env: + PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }} steps: - name: Checkout Repo uses: actions/checkout@v4 - - uses: pulumi/provider-version-action@v1 - with: - set-env: 'PROVIDER_VERSION' - name: Install Go uses: actions/setup-go@v5 with: diff --git a/.github/workflows/run-acceptance-tests.yml b/.github/workflows/run-acceptance-tests.yml index 9744889eee..f33c9f1cc6 100644 --- a/.github/workflows/run-acceptance-tests.yml +++ b/.github/workflows/run-acceptance-tests.yml @@ -32,6 +32,16 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: + prerequisites: + if: github.event_name == 'repository_dispatch' || + github.event.pull_request.head.repo.full_name == github.repository + uses: ./.github/workflows/prerequisites.yml + secrets: inherit + with: + default_branch: ${{ github.event.repository.default_branch }} + is_pr: ${{ github.event_name == 'pull_request' }} + is_automated: ${{ github.actor == 'dependabot[bot]' }} + build_sdk: if: github.event_name == 'repository_dispatch' || github.event.pull_request.head.repo.full_name == github.repository @@ -39,6 +49,8 @@ jobs: needs: prerequisites uses: ./.github/workflows/build_sdk.yml secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} comment-notification: if: github.event_name == 'repository_dispatch' @@ -61,16 +73,6 @@ jobs: name: lint uses: ./.github/workflows/lint.yml secrets: inherit - prerequisites: - if: github.event_name == 'repository_dispatch' || - github.event.pull_request.head.repo.full_name == github.repository - uses: ./.github/workflows/prerequisites.yml - secrets: inherit - with: - default_branch: ${{ github.event.repository.default_branch }} - is_pr: ${{ github.event_name == 'pull_request' }} - is_automated: ${{ github.actor == 'dependabot[bot]' }} - sentinel: name: sentinel if: github.event_name == 'repository_dispatch' || @@ -97,19 +99,20 @@ jobs: if: github.event_name == 'repository_dispatch' || github.event.pull_request.head.repo.full_name == github.repository name: test - needs: build_sdk + needs: + - prerequisites + - build_sdk permissions: contents: read id-token: write runs-on: ubuntu-latest + env: + PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }} steps: - name: Checkout Repo uses: actions/checkout@v4 with: ref: ${{ env.PR_COMMIT_SHA }} - - uses: pulumi/provider-version-action@v1 - with: - set-env: 'PROVIDER_VERSION' - name: Checkout p/examples if: matrix.testTarget == 'pulumiExamples' uses: actions/checkout@v4