diff --git a/.github/actions/download-bin/action.yml b/.github/actions/download-bin/action.yml index 0aaf97e4..fafe98b0 100644 --- a/.github/actions/download-bin/action.yml +++ b/.github/actions/download-bin/action.yml @@ -5,7 +5,7 @@ runs: using: "composite" steps: - name: Download provider + tfgen binaries - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v4.1.8 with: name: github-provider.tar.gz path: ${{ github.workspace }}/bin diff --git a/.github/actions/download-sdk/action.yml b/.github/actions/download-sdk/action.yml index 1fd54841..272e3317 100644 --- a/.github/actions/download-sdk/action.yml +++ b/.github/actions/download-sdk/action.yml @@ -10,7 +10,7 @@ runs: using: "composite" steps: - name: Download ${{ inputs.language }} SDK - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v4.1.8 with: name: ${{ inputs.language }}-sdk.tar.gz path: ${{ github.workspace}}/sdk/ diff --git a/.github/actions/upload-bin/action.yml b/.github/actions/upload-bin/action.yml index d886d065..55db9f09 100644 --- a/.github/actions/upload-bin/action.yml +++ b/.github/actions/upload-bin/action.yml @@ -8,7 +8,7 @@ runs: shell: bash run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ github.workspace }}/bin/ pulumi-resource-github pulumi-tfgen-github - name: Upload artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v4.4.3 with: name: github-provider.tar.gz path: ${{ github.workspace }}/bin/provider.tar.gz diff --git a/.github/actions/upload-sdk/action.yml b/.github/actions/upload-sdk/action.yml index 77d48494..c8c88de9 100644 --- a/.github/actions/upload-sdk/action.yml +++ b/.github/actions/upload-sdk/action.yml @@ -13,7 +13,7 @@ runs: shell: bash run: tar -zcf sdk/${{ inputs.language }}.tar.gz -C sdk/${{ inputs.language }} . - name: Upload artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v4.4.3 with: name: ${{ inputs.language }}-sdk.tar.gz path: ${{ github.workspace}}/sdk/${{ inputs.language }}.tar.gz diff --git a/.github/workflows/build_provider.yml b/.github/workflows/build_provider.yml index 2465fe5b..35b01421 100644 --- a/.github/workflows/build_provider.yml +++ b/.github/workflows/build_provider.yml @@ -30,7 +30,7 @@ jobs: arch: amd64 steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - name: Setup tools @@ -40,7 +40,7 @@ jobs: - name: Prepare local workspace before restoring previously built run: make prepare_local_workspace - name: Download schema-embed.json - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v4.1.8 with: # Use a pattern to avoid failing if the artifact doesn't exist pattern: schema-embed.* @@ -48,14 +48,11 @@ jobs: merge-multiple: true path: provider/cmd/pulumi-resource-github/schema-embed.json - name: Restore makefile progress - uses: actions/download-artifact@v4 - with: - name: prerequisites.make - path: .make + run: make --touch provider schema - name: Build & package provider run: make provider_dist-${{ matrix.platform.os }}-${{ matrix.platform.arch }} - name: Upload artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v4.4.3 with: name: pulumi-resource-github-v${{ inputs.version }}-${{ matrix.platform.os }}-${{ matrix.platform.arch }}.tar.gz path: bin/pulumi-resource-github-v${{ inputs.version }}-${{ matrix.platform.os }}-${{ matrix.platform.arch }}.tar.gz diff --git a/.github/workflows/build_sdk.yml b/.github/workflows/build_sdk.yml index 8ae5f610..ab513d4d 100644 --- a/.github/workflows/build_sdk.yml +++ b/.github/workflows/build_sdk.yml @@ -43,7 +43,7 @@ jobs: - java steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - name: Cache examples generation @@ -63,10 +63,7 @@ jobs: - name: Update path run: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH" - name: Restore makefile progress - uses: actions/download-artifact@v4 - with: - name: prerequisites.make - path: .make + run: make --touch provider schema - name: Build SDK run: make build_${{ matrix.language }} - name: Check worktree clean @@ -82,9 +79,3 @@ jobs: uses: ./.github/actions/upload-sdk with: language: ${{ matrix.language }} - - name: Save makefile progress - uses: actions/upload-artifact@v4 - with: - name: build_${{ matrix.language }}.make - path: .make - include-hidden-files: true diff --git a/.github/workflows/command-dispatch.yml b/.github/workflows/command-dispatch.yml index c11e8410..09ff5d00 100644 --- a/.github/workflows/command-dispatch.yml +++ b/.github/workflows/command-dispatch.yml @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - uses: peter-evans/slash-command-dispatch@v4 diff --git a/.github/workflows/community-moderation.yml b/.github/workflows/community-moderation.yml index fc701df6..0a7dd4bc 100644 --- a/.github/workflows/community-moderation.yml +++ b/.github/workflows/community-moderation.yml @@ -8,24 +8,24 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - id: schema_changed name: Check for diff in schema - uses: dorny/paths-filter@v2 + uses: dorny/paths-filter@v2.12.0 with: filters: "changed: 'provider/cmd/**/schema.json'" - id: sdk_changed if: steps.schema_changed.outputs.changed == 'false' name: Check for diff in sdk/** - uses: dorny/paths-filter@v2 + uses: dorny/paths-filter@v2.12.0 with: filters: "changed: 'sdk/**'" - if: steps.sdk_changed.outputs.changed == 'true' && github.event.pull_request.head.repo.full_name != github.repository name: Send codegen warning as comment on PR - uses: thollander/actions-comment-pull-request@v2 + uses: thollander/actions-comment-pull-request@v2.5.0 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} message: > diff --git a/.github/workflows/license.yml b/.github/workflows/license.yml index 0f7c32e9..282d609d 100644 --- a/.github/workflows/license.yml +++ b/.github/workflows/license.yml @@ -32,7 +32,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - name: Setup tools diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 123dfaab..0fadf082 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -32,7 +32,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - name: Install go diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index d21d75b5..471616a3 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -57,11 +57,11 @@ jobs: tool-cache: false swap-storage: false - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v4 + uses: aws-actions/configure-aws-credentials@v4.0.2 with: aws-access-key-id: ${{ secrets.AWS_CORP_S3_UPLOAD_ACCESS_KEY_ID }} aws-region: us-west-2 @@ -139,7 +139,7 @@ jobs: PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }} steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - name: Setup tools @@ -155,10 +155,7 @@ jobs: with: language: ${{ matrix.language }} - name: Restore makefile progress - uses: actions/download-artifact@v4 - with: - name: build_${{ matrix.language }}.make - path: .make + run: make --touch provider schema build_${{ matrix.language }} - name: Update path run: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH" - name: Install Python deps diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index bfbd8fc1..bc57e512 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -81,7 +81,7 @@ jobs: PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }} steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - name: Setup tools @@ -97,10 +97,7 @@ jobs: with: language: ${{ matrix.language }} - name: Restore makefile progress - uses: actions/download-artifact@v4 - with: - name: build_${{ matrix.language }}.make - path: .make + run: make --touch provider schema build_${{ matrix.language }} - name: Update path run: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH" - name: Install Python deps diff --git a/.github/workflows/prerequisites.yml b/.github/workflows/prerequisites.yml index e8795dcb..f1d82f56 100644 --- a/.github/workflows/prerequisites.yml +++ b/.github/workflows/prerequisites.yml @@ -45,7 +45,7 @@ jobs: version: ${{ steps.provider-version.outputs.version }} steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - uses: pulumi/provider-version-action@v1 @@ -66,6 +66,8 @@ jobs: run: make prepare_local_workspace - name: Generate schema run: make schema + - name: Build registry docs + run: make build_registry_docs - name: Build provider binary run: make provider - name: Unit-test provider code @@ -79,15 +81,9 @@ jobs: schema-tools compare -r github://api.github.com/pulumi -p github -o "${{ inputs.default_branch }}" -n --local-path=provider/cmd/pulumi-resource-github/schema.json; echo "$EOF"; } >> "$GITHUB_ENV" - - name: Save makefile progress - uses: actions/upload-artifact@v4 - with: - name: prerequisites.make - path: .make - include-hidden-files: true - if: inputs.is_pr && inputs.is_automated == false name: Comment on PR with Details of Schema Check - uses: thollander/actions-comment-pull-request@v2 + uses: thollander/actions-comment-pull-request@v2.5.0 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} comment_tag: schemaCheck @@ -101,7 +97,7 @@ jobs: uses: ./.github/actions/upload-bin - name: Upload schema-embed.json - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v4.4.3 with: name: schema-embed.json path: provider/cmd/pulumi-resource-github/schema-embed.json diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index fa178e29..230ea257 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -48,7 +48,7 @@ jobs: if: inputs.skipGoSdk && inputs.isPrerelease == false run: echo "Can't skip Go SDK for stable releases. This is likely a bug in the calling workflow." && exit 1 - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - name: Setup tools @@ -56,7 +56,7 @@ jobs: with: tools: pulumictl, pulumicli, go, schema-tools - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v4 + uses: aws-actions/configure-aws-credentials@v4.0.2 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-region: us-east-2 @@ -68,7 +68,7 @@ jobs: - name: Create dist directory run: mkdir -p dist - name: Download provider assets - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v4.1.8 with: pattern: pulumi-resource-github-v${{ inputs.version }}-* path: dist @@ -112,7 +112,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: # Persist credentials so we can push back to the repo persist-credentials: true @@ -172,7 +172,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - name: Clean up release labels diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 100c44f3..54f55e71 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -26,11 +26,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - name: Comment PR - uses: thollander/actions-comment-pull-request@v2 + uses: thollander/actions-comment-pull-request@v2.5.0 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} message: > diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 78236e72..89a9b6c8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -87,7 +87,7 @@ jobs: PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }} steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - name: Setup tools @@ -103,10 +103,7 @@ jobs: with: language: ${{ matrix.language }} - name: Restore makefile progress - uses: actions/download-artifact@v4 - with: - name: build_${{ matrix.language }}.make - path: .make + run: make --touch provider schema build_${{ matrix.language }} - name: Update path run: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH" - name: Install Python deps diff --git a/.github/workflows/release_command.yml b/.github/workflows/release_command.yml index f199952c..ea43de93 100644 --- a/.github/workflows/release_command.yml +++ b/.github/workflows/release_command.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - name: Should release PR diff --git a/.github/workflows/resync-build.yml b/.github/workflows/resync-build.yml index 3654332c..8d5fa864 100644 --- a/.github/workflows/resync-build.yml +++ b/.github/workflows/resync-build.yml @@ -27,12 +27,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: # Persist credentials so we can push a new branch. persist-credentials: true - name: Checkout repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: path: ci-mgmt repository: pulumi/ci-mgmt diff --git a/.github/workflows/run-acceptance-tests.yml b/.github/workflows/run-acceptance-tests.yml index 2806d7d4..b0797134 100644 --- a/.github/workflows/run-acceptance-tests.yml +++ b/.github/workflows/run-acceptance-tests.yml @@ -129,13 +129,13 @@ jobs: PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }} steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: ref: ${{ env.PR_COMMIT_SHA }} persist-credentials: false - name: Checkout p/examples if: matrix.testTarget == 'pulumiExamples' - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: repository: pulumi/examples path: p-examples @@ -152,10 +152,7 @@ jobs: with: language: ${{ matrix.language }} - name: Restore makefile progress - uses: actions/download-artifact@v4 - with: - name: build_${{ matrix.language }}.make - path: .make + run: make --touch provider schema build_${{ matrix.language }} - name: Update path run: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH" - name: Install Python deps diff --git a/.github/workflows/upgrade-bridge.yml b/.github/workflows/upgrade-bridge.yml index dcfea70e..b47d57a2 100644 --- a/.github/workflows/upgrade-bridge.yml +++ b/.github/workflows/upgrade-bridge.yml @@ -49,16 +49,23 @@ on: required: false type: boolean default: false + +permissions: + contents: write + issues: write + pull-requests: write + env: - GH_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} + GH_TOKEN: ${{ secrets.PULUMI_PROVIDER_AUTOMATION_TOKEN || secrets.PULUMI_BOT_TOKEN || secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + jobs: upgrade_provider: name: upgrade-provider runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - name: Setup tools diff --git a/.github/workflows/upgrade-provider.yml b/.github/workflows/upgrade-provider.yml index 6e7ec04d..174d3f49 100644 --- a/.github/workflows/upgrade-provider.yml +++ b/.github/workflows/upgrade-provider.yml @@ -22,16 +22,22 @@ on: # 3 AM UTC ~ 8 PM PDT / 7 PM PST daily. Time chosen to run during off hours. - cron: 0 3 * * * +permissions: + contents: write + issues: write + pull-requests: write + env: - GH_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} + GH_TOKEN: ${{ secrets.PULUMI_PROVIDER_AUTOMATION_TOKEN || secrets.PULUMI_BOT_TOKEN || secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + jobs: upgrade_provider: name: upgrade-provider runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: # Persist credentials so upgrade-provider can push a new branch. persist-credentials: true diff --git a/.github/workflows/verify-release.yml b/.github/workflows/verify-release.yml index 2375f0f0..2fad43c6 100644 --- a/.github/workflows/verify-release.yml +++ b/.github/workflows/verify-release.yml @@ -71,7 +71,7 @@ jobs: runs-on: ${{ matrix.runner }} steps: - name: Checkout Repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: persist-credentials: false - name: Setup tools diff --git a/Makefile b/Makefile index 8aff9e17..884f28a8 100644 --- a/Makefile +++ b/Makefile @@ -248,12 +248,12 @@ tfgen_no_deps: .make/schema .make/schema: export PULUMI_CONVERT_EXAMPLES_CACHE_DIR := $(WORKING_DIR)/.pulumi/examples-cache .make/schema: export PULUMI_DISABLE_AUTOMATIC_PLUGIN_ACQUISITION := $(PULUMI_CONVERT) .make/schema: export PULUMI_MISSING_DOCS_ERROR := $(PULUMI_MISSING_DOCS_ERROR) -.make/schema: bin/$(TFGEN) provider/resources.go provider/go.mod .make/install_plugins .make/upstream +.make/schema: bin/$(TFGEN) .make/install_plugins .make/upstream $(WORKING_DIR)/bin/$(TFGEN) schema --out provider/cmd/$(PROVIDER) (cd provider && VERSION=$(VERSION_GENERIC) go generate cmd/$(PROVIDER)/main.go) @touch $@ tfgen_build_only: bin/$(TFGEN) -bin/$(TFGEN): +bin/$(TFGEN): provider/*.go provider/go.* .make/upstream (cd provider && go build $(PULUMI_PROVIDER_BUILD_PARALLELISM) -o $(WORKING_DIR)/bin/$(TFGEN) -ldflags "$(LDFLAGS_PROJ_VERSION) $(LDFLAGS_EXTRAS)" $(PROJECT)/$(PROVIDER_PATH)/cmd/$(TFGEN)) .PHONY: tfgen schema tfgen_no_deps tfgen_build_only