Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 75 additions & 7 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,37 @@ on:
branches:
- main

permissions: {}

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}

jobs:
release:
select-mode:
if: github.event.repository.fork != true
name: Release
name: Select Changesets Mode
outputs:
mode: ${{ steps.select-mode.outputs.mode }}
publish-plan-artifact-id: ${{ steps.select-mode.outputs.publish-plan-artifact-id }}
runs-on: ubuntu-latest
permissions:
contents: write
id-token: write
contents: read
steps:
- uses: $/.github/actions/setup
with:
cache: false

- name: Select Changesets Mode
id: select-mode
uses: changesets/action/select-mode@198f833dd7d863100ea6e28967bc9a9fdefadb0a # v2.1.0

version:
if: needs.select-mode.outputs.mode == 'version'
name: Version Packages
needs: select-mode
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: $/.github/actions/setup
with:
Expand All @@ -30,8 +50,56 @@ jobs:
permission-pull-requests: write
private-key: ${{ secrets.FLINT_TOKENS_BOT_PRIVATE_KEY }}

- name: Changesets Release
uses: changesets/action@198f833dd7d863100ea6e28967bc9a9fdefadb0a # v2.1.0
- name: Version Packages
uses: changesets/action/version@198f833dd7d863100ea6e28967bc9a9fdefadb0a # v2.1.0
with:
github-token: ${{ steps.create_token.outputs.token }}

pack:
if: needs.select-mode.outputs.mode == 'publish'
name: Pack Packages
needs: select-mode
outputs:
pack-dir-artifact-id: ${{ steps.pack.outputs.pack-dir-artifact-id }}
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: $/.github/actions/setup
with:
cache: false

- name: Build Packages
run: pnpm build

- name: Pack Packages
id: pack
uses: changesets/action/pack@22ccf9aa43179fe9e27dc62e575971d28cce197c # v2.0.0
with:
publish-plan-artifact-id: ${{ needs.select-mode.outputs.publish-plan-artifact-id }}

publish:
name: Publish Packages
needs: pack
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- uses: $/.github/actions/setup
with:
cache: false

- name: Create Token
id: create_token
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
with:
client-id: ${{ vars.FLINT_TOKENS_BOT_CLIENT_ID }}
permission-contents: write
private-key: ${{ secrets.FLINT_TOKENS_BOT_PRIVATE_KEY }}

- name: Publish Packages
uses: changesets/action/publish@198f833dd7d863100ea6e28967bc9a9fdefadb0a # v2.1.0
with:
github-token: ${{ steps.create_token.outputs.token }}
publish-script: pnpm release
pack-dir-artifact-id: ${{ needs.pack.outputs.pack-dir-artifact-id }}