diff --git a/.github/workflows/build_sdk.yml b/.github/workflows/build_sdk.yml index 4c9cae8..78da2bc 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: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -22,6 +26,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: @@ -39,9 +44,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/main.yml b/.github/workflows/main.yml index ab5e51c..6a085fd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,11 +20,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 @@ -88,17 +98,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 @@ -137,13 +141,11 @@ jobs: role-external-id: upload-pulumi-release role-session-name: http@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 3 -f .goreleaser.prerelease.yml --rm-dist --skip-validate --timeout 60m0s @@ -157,16 +159,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" @@ -202,17 +204,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/prerelease.yml b/.github/workflows/prerelease.yml index 8523fc2..273ca2b 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -21,11 +21,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 @@ -35,17 +45,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 @@ -84,13 +88,11 @@ jobs: role-external-id: upload-pulumi-release role-session-name: http@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 3 -f .goreleaser.prerelease.yml --rm-dist --skip-validate --timeout 60m0s @@ -104,16 +106,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" @@ -131,7 +133,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 @@ -141,8 +145,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: @@ -158,7 +160,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: | @@ -167,17 +169,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 1b06f04..fe5c3ec 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: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -37,10 +41,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 daa80b6..3ba4dd7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,11 +20,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 @@ -34,17 +44,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 @@ -83,13 +87,11 @@ jobs: role-external-id: upload-pulumi-release role-session-name: http@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 3 release --rm-dist --timeout 60m0s version: latest @@ -102,16 +104,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" @@ -129,7 +131,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 @@ -139,8 +143,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: @@ -156,7 +158,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: | @@ -183,17 +185,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 92d1b7d..e281c8d 100644 --- a/.github/workflows/run-acceptance-tests.yml +++ b/.github/workflows/run-acceptance-tests.yml @@ -26,6 +26,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 @@ -33,6 +43,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' @@ -55,16 +67,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' || @@ -91,19 +93,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