name: Release
on:
push:
branches:
- main
concurrency: ${{ github.workflow }}-${{ github.ref }}
permissions:
actions: write
contents: write
pull-requests: write
jobs:
release:
name: Release
runs-on: ubuntu-latest
outputs:
published: ${{ steps.changesets.outputs.published }}
publishedPackages: ${{ steps.changesets.outputs.publishedPackages }}
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: pnpm/action-setup@v6
with:
version: latest
cache: true
- uses: dtolnay/rust-toolchain@stable
- uses: taiki-e/install-action@v2
with:
tool: just,jaq,sd
- run: cargo install --path .
- run: just install
- name: Create Release Pull Request or Tag
id: changesets
uses: changesets/action@v1
with:
version: just version
publish: just publish
commit: "chore(release): bump version"
title: "chore(release): bump version"
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
binaries:
needs: release
if: needs.release.outputs.published == 'true'
uses: ./.github/workflows/binaries.yml
with:
tag: v${{ fromJSON(needs.release.outputs.publishedPackages)[0].version }}
permissions:
contents: write