diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 25d1e671..f7b1b3b1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -82,3 +82,19 @@ 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: + actions: write + 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..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", @@ -234,6 +235,28 @@ 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: { + actions: workflows.JobPermission.WRITE, + }, + 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(); /**