Protect publishes with env gate (#610)

* Protect publishes with env gate

* tweak CODEOWNERS and release-pr

* remove redundant permission

* fix syntax

* Use app with protection bypass for publishing

* handle forks better

* remove redundant permission
This commit is contained in:
Mateusz Burzyński
2026-05-07 09:16:30 +00:00
committed by GitHub
parent d4c53c2943
commit 91b911142e
4 changed files with 153 additions and 33 deletions
+62
View File
@@ -0,0 +1,62 @@
name: Publish
on:
push:
branches:
- main
concurrency: ${{ github.workflow }}-${{ github.ref }}
permissions: {} # each job should define its own permission explicitly
jobs:
version:
name: Version
runs-on: ubuntu-latest
timeout-minutes: 20
outputs:
hasChangesets: ${{ steps.changesets.outputs.hasChangesets }}
permissions:
contents: write # to create release (changesets/action)
issues: write # to post issue comments (changesets/action)
pull-requests: write # to create pull request (changesets/action)
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/ci-setup
- name: Build
run: yarn build
- name: Create or update release pull request
id: changesets
uses: ./
with:
version: yarn bump
publish:
name: Publish
if: needs.version.outputs.hasChangesets == 'false'
needs: version
runs-on: ubuntu-latest
environment: marketplace
timeout-minutes: 20
steps:
- uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # v3.1.1
id: app-token
with:
client-id: ${{ vars.APP_CLIENT_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
token: ${{ steps.app-token.outputs.token }}
- uses: ./.github/actions/ci-setup
- name: Build
run: yarn build
- name: Publish to marketplace
uses: ./
with:
publish: yarn release