name: Release
on:
push:
branches: [main]
jobs:
release:
name: Publish prepared releases
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: read
id-token: write
actions: write
concurrency:
group: release-plz-release
cancel-in-progress: false
steps:
- name: Checkout main
uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- uses: rust-lang/crates-io-auth-action@v1
id: crates-io-auth
- name: Publish releases
uses: release-plz/action@v0.5
id: release-plz
with:
command: release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CARGO_REGISTRY_TOKEN: ${{ steps.crates-io-auth.outputs.token }}
- name: Dispatch binary builds
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RELEASES: ${{ steps.release-plz.outputs.releases }}
run: |
echo "${RELEASES:-[]}" | jq -r '.[] | select(.package_name == "skyzen-cli") | .tag // ("skyzen-cli-v" + .version)' |
while read -r tag; do
gh workflow run binaries.yml -f "tag=$tag"
done
release-pr:
name: Prepare release pull request
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
concurrency:
group: release-plz-pr
cancel-in-progress: false
steps:
- name: Checkout main
uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Prepare release pull request
uses: release-plz/action@v0.5
with:
command: release-pr
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}