diff --git a/.github/workflows/check-upstream-upgrade.yml b/.github/workflows/check-upstream-upgrade.yml new file mode 100644 index 00000000..a4d997bc --- /dev/null +++ b/.github/workflows/check-upstream-upgrade.yml @@ -0,0 +1,38 @@ + +#WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt + +env: + GH_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} +jobs: + check_upgrade_provider: + name: Check for upstream provider upgrades + runs-on: ubuntu-latest + steps: + - 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 + - name: "Set up git identity: name" + run: git config --global user.name pulumi-bot + shell: bash + - name: "Set up git identity: email" + run: git config --global user.email bot@pulumi.com + shell: bash + - name: Run upgrade-provider upstream check + id: upstream_version + run: | + upgrade-provider "$REPO" --kind=check-upstream-version + env: + REPO: ${{ github.repository }} + shell: bash +name: Check upstream upgrade +on: + workflow_dispatch: {} #so we can run this manually if necessary. + schedule: + # 3 AM UTC ~ 8 PM PDT / 7 PM PST daily. Time chosen to run during off hours. + - cron: 0 3 * * * diff --git a/.github/workflows/upgrade-provider.yml b/.github/workflows/upgrade-provider.yml index c1047820..04709574 100644 --- a/.github/workflows/upgrade-provider.yml +++ b/.github/workflows/upgrade-provider.yml @@ -1,22 +1,11 @@ # WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt -name: Upgrade provider -on: - workflow_dispatch: - inputs: - version: - description: "The version of the upstream provider to upgrade to, without the 'v' prefix" - required: false - type: string - schedule: - # 3 AM UTC ~ 8 PM PDT / 7 PM PST daily. Time chosen to run during off hours. - - cron: 0 3 * * * - env: GH_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} jobs: upgrade_provider: + if: ${{ (github.event.issue.user.login == 'pulumi-bot' && contains(github.event.issue.title, 'Upgrade terraform-provider-')) || github.event_name == 'workflow_dispatch' }} name: upgrade-provider runs-on: ubuntu-latest steps: @@ -36,27 +25,17 @@ jobs: - name: Install upgrade-provider run: go install github.com/pulumi/upgrade-provider@main shell: bash - - name: "Set up git identity" + - name: "Set up git identity: name" run: | git config --global user.name 'bot@pulumi.com' git config --global user.email 'bot@pulumi.com' shell: bash - - name: Create issues for new upstream version - if: inputs.version == '' - id: upstream_version - # This step outputs `latest_version` if there is a pending upgrade - run: upgrade-provider "$REPO" --kind=check-upstream-version - env: - REPO: ${{ github.repository }} - shell: bash - - name: Calculate target version - id: target_version - # Prefer the manually specified version if it exists - # upstream_version will be empty if the provider is up-to-date - run: echo "version=${{ github.event.inputs.version || steps.upstream_version.outputs.latest_version }}" >> "$GITHUB_OUTPUT" - shell: bash - - name: Attempt provider upgrade - # Only attempt the upgrade if we have a target version - if: steps.target_version.outputs.version != '' - run: upgrade-provider "${{ github.repository }}" --kind="all" --target-version="${{ steps.target_version.outputs.version }}" + - name: Run upgrade-provider + run: upgrade-provider "${{ github.repository }}" --kind="all" shell: bash +name: Upgrade provider +on: + issues: + types: + - opened + workflow_dispatch: {}