Skip to content

Commit

Permalink
Applying patched versions of generated upgrade-bridge & upgrade-provi…
Browse files Browse the repository at this point in the history
…der workflows

Signed-off-by: Ringo De Smet <ringo@de-smet.name>
  • Loading branch information
ringods committed Nov 3, 2024
1 parent c5a2fe4 commit 4861ca3
Show file tree
Hide file tree
Showing 2 changed files with 148 additions and 31 deletions.
111 changes: 93 additions & 18 deletions .github/workflows/upgrade-bridge.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,100 @@
name: Upgrade bridge
# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt

name: Upgrade bridge
on:
repository_dispatch:
types:
- upgrade-bridge
- upgrade-bridge-test
workflow_dispatch:
schedule:
# At 05:00 on Monday
- cron: 0 5 * * 1
inputs:
kind:
description: Overrides the kind of upgrade. Must be one of `all`, `bridge`, `provider`, `code`, `pf`, or `pulumi`.
required: false
type: string
default: "bridge"
target-bridge-version:
description: pulumi-terraform-bridge version or hash reference
required: false
type: string
default: "latest"
target-pulumi-version:
description: |
Set the version of `pulumi/pkg` and `pulumi/sdk` to depend on for bridged providers. Currently,
these versions inform the linked runtime and SDK generation in all languages except Java. Valid
options are:
- "": Use the same version as pulumi-terraform-bridge
- A go version such as "v3.90.1"
- A commit SHA in pulumi/pulumi such as "ac71ebc1d34e5ccfd1a7fed61e6ff43a3160f3cb"
required: false
type: string
default: ""
pr-reviewers:
description: Reviewers to assign to the auto-opened pull request
required: false
type: string
default: ""
pr-description:
description: Extra description to add to the auto-opened pull request
required: false
type: string
default: ""
pr-title-prefix:
description: Prefix to add to the auto-opened pull request title
required: false
type: string
default: ""
automerge:
description: Mark created PR for auto-merging?
required: false
type: boolean
default: false

permissions:
contents: write
issues: write
pull-requests: write

env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
upgrade_bridge:
name: upgrade-bridge
upgrade_provider:
name: upgrade-provider
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
steps:
- name: Call upgrade provider action
uses: pulumi/pulumi-upgrade-provider-action@v0.0.12
with:
kind: bridge
email: ringo@de-smet.name
username: "Ringo De Smet"
env:
GH_TOKEN: ${{ secrets.UPGRADE_PROVIDER_TOKEN }}
- name: Checkout Repo
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup tools
uses: ./.github/actions/setup-tools
with:
tools: pulumictl, pulumicli, dotnet, go, nodejs, python
- name: Call upgrade provider action
if: github.event_name == 'workflow_dispatch'
uses: pulumi/pulumi-upgrade-provider-action@v0.0.12
with:
kind: ${{ inputs.kind }}
email: bot@pulumi.com
username: pulumi-bot
automerge: ${{ inputs.automerge }}
target-bridge-version: ${{ inputs.target-bridge-version }}
target-pulumi-version: ${{ inputs.target-pulumi-version }}
pr-reviewers: ${{ inputs.pr-reviewers }}
pr-description: ${{ inputs.pr-description }}
pr-title-prefix: ${{ inputs.pr-title-prefix }}
- name: Call upgrade provider action
if: github.event_name == 'repository_dispatch'
uses: pulumi/pulumi-upgrade-provider-action@v0.0.12
with:
kind: ${{ github.event.client_payload.kind || 'bridge' }}
email: bot@pulumi.com
username: pulumi-bot
automerge: ${{ github.event.client_payload.automerge }}
target-pulumi-version: ${{ github.event.client_payload.target-pulumi-version }}
target-bridge-version: ${{ github.event.client_payload.target-bridge-version }}
pr-reviewers: ${{ github.event.client_payload.pr-reviewers }}
pr-description: ${{ github.event.client_payload.pr-description }}
pr-title-prefix: ${{ github.event.client_payload.pr-title-prefix }}
68 changes: 55 additions & 13 deletions .github/workflows/upgrade-provider.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,67 @@
name: Upgrade provider
# 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
If no version is specified, it will be inferred from the upstream provider's release tags.
required: false
type: string
schedule:
# At 05:00 on Wednesday
- cron: 0 5 * * 3
# 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.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
upgrade_provider:
name: upgrade-provider
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
steps:
- name: Call upgrade provider action
uses: pulumi/pulumi-upgrade-provider-action@v0.0.12
- name: Checkout Repo
uses: actions/checkout@v4
with:
# Persist credentials so upgrade-provider can push a new branch.
persist-credentials: true
- name: Setup tools
uses: ./.github/actions/setup-tools
with:
kind: provider
email: ringo@de-smet.name
username: "Ringo De Smet"
tools: pulumictl, pulumicli, go, nodejs, dotnet, python, java
- name: Install upgrade-provider
run: go install github.com/pulumi/upgrade-provider@main
shell: bash
- name: "Set up git identity"
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:
GH_TOKEN: ${{ secrets.UPGRADE_PROVIDER_TOKEN }}
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 }}"
shell: bash

0 comments on commit 4861ca3

Please sign in to comment.