Skip to content

Commit 97df85d

Browse files
committed
Add update-helm job to production workflow
After a successful build on main or workflow_dispatch, dispatch the product-release workflow in rstudio/helm to update the Package Manager chart appVersion.
1 parent c29e2bc commit 97df85d

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

.github/workflows/production.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,12 @@ jobs:
2525
runs-on: ubuntu-latest
2626
needs:
2727
- build
28+
- update-helm
2829
steps:
2930
- uses: re-actors/alls-green@release/v1
3031
with:
3132
jobs: ${{ toJSON(needs) }}
33+
allowed-skips: update-helm
3234

3335
build:
3436
name: Build
@@ -51,6 +53,46 @@ jobs:
5153
# Push images only for merges into main and weekly schduled re-builds.
5254
push: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' || github.event_name == 'schedule' }}
5355

56+
update-helm:
57+
name: Update Helm
58+
if: ${{ needs.build.result == 'success' && (github.event_name == 'push' && github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/main') }}
59+
needs:
60+
- build
61+
runs-on: ubuntu-latest
62+
63+
steps:
64+
- name: Checkout
65+
uses: actions/checkout@v6
66+
67+
- name: Install bakery
68+
uses: posit-dev/images-shared/setup-bakery@main
69+
70+
- name: Get latest version
71+
id: version
72+
run: |
73+
APP_VERSION=$(bakery get version package-manager)
74+
APP_VERSION="${APP_VERSION%%[+-]*}"
75+
echo "app-version=$APP_VERSION" >> "$GITHUB_OUTPUT"
76+
77+
- name: Generate GitHub App Token
78+
id: app-token
79+
uses: actions/create-github-app-token@v3
80+
with:
81+
app-id: ${{ secrets.APP_ID }}
82+
private-key: ${{ secrets.APP_PRIVATE_KEY }}
83+
owner: rstudio
84+
repositories: helm
85+
86+
- name: Dispatch Helm update
87+
env:
88+
GH_TOKEN: ${{ steps.app-token.outputs.token }}
89+
APP_VERSION: ${{ steps.version.outputs.app-version }}
90+
run: |
91+
gh workflow run product-release.yml \
92+
--repo rstudio/helm \
93+
--field product=package-manager \
94+
--field version="$APP_VERSION"
95+
5496
clean:
5597
name: Clean
5698
if: always() && github.ref == 'refs/heads/main'

0 commit comments

Comments
 (0)