From 3b512bab44b65e57b57e341cf04825a5678a99e3 Mon Sep 17 00:00:00 2001 From: Christopher Rybicki Date: Tue, 19 Oct 2021 16:46:14 -0700 Subject: [PATCH 1/2] feat: upgrade construct-hub whenever a release is made --- .github/workflows/release.yml | 15 +++++++++++++++ .projenrc.js | 20 ++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 25d1e671..ea6b82ae 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -82,3 +82,18 @@ jobs: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} container: image: jsii/superchain:1-buster-slim-node14 + upgrade_construct_hub: + name: Upgrade construct-hub + needs: + - release + - release_github + - release_npm + runs-on: ubuntu-latest + permissions: {} + steps: + - name: Trigger upgrade workflow + run: gh api -X POST + /repos/cdklabs/construct-hub/actions/workflows/upgrade-main.yml/dispatches + --field ref="main" + env: + GITHUB_TOKEN: ${{ secrets.PROJEN_GITHUB_TOKEN }} diff --git a/.projenrc.js b/.projenrc.js index 7eca2ce1..91d9a90d 100644 --- a/.projenrc.js +++ b/.projenrc.js @@ -234,6 +234,26 @@ rewireCRA(buildTask); rewireCRA(project.tasks.tryFind("test")); rewireCRA(project.tasks.tryFind("dev")); +// trigger construct-hub to pick up changes from construct-hub-webapp +// whenever a new release is made +project.release.addJobs({ + upgrade_construct_hub: { + name: "Upgrade construct-hub", + runsOn: "ubuntu-latest", + permissions: {}, + needs: ["release", "release_github", "release_npm"], + steps: [ + { + name: "Trigger upgrade workflow", + run: 'gh api -X POST /repos/cdklabs/construct-hub/actions/workflows/upgrade-main.yml/dispatches --field ref="main"', + env: { + GITHUB_TOKEN: "${{ secrets.PROJEN_GITHUB_TOKEN }}", + }, + }, + ], + }, +}); + project.synth(); /** From 62578b5f293916d3e0a83f489965707f886bd06d Mon Sep 17 00:00:00 2001 From: Christopher Rybicki Date: Tue, 19 Oct 2021 17:00:21 -0700 Subject: [PATCH 2/2] add permissions --- .github/workflows/release.yml | 3 ++- .projenrc.js | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ea6b82ae..f7b1b3b1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -89,7 +89,8 @@ jobs: - release_github - release_npm runs-on: ubuntu-latest - permissions: {} + permissions: + actions: write steps: - name: Trigger upgrade workflow run: gh api -X POST diff --git a/.projenrc.js b/.projenrc.js index 91d9a90d..69a13fa4 100644 --- a/.projenrc.js +++ b/.projenrc.js @@ -1,4 +1,5 @@ -const { SourceCode, web } = require("projen"); +const { web } = require("projen"); +const { workflows } = require("projen/lib/github"); const project = new web.ReactTypeScriptProject({ defaultReleaseBranch: "main", @@ -240,7 +241,9 @@ project.release.addJobs({ upgrade_construct_hub: { name: "Upgrade construct-hub", runsOn: "ubuntu-latest", - permissions: {}, + permissions: { + actions: workflows.JobPermission.WRITE, + }, needs: ["release", "release_github", "release_npm"], steps: [ {