Skip to content

Merge pull request #7 from InkyQuill/fix/crates-io-rename-to-sel-rs #4

Merge pull request #7 from InkyQuill/fix/crates-io-rename-to-sel-rs

Merge pull request #7 from InkyQuill/fix/crates-io-rename-to-sel-rs #4

Workflow file for this run

name: Release-plz
# Runs on every push to `main` and maintains the automated release flow:
#
# * release-plz-pr job — opens or updates the "release PR" that bumps
# Cargo.toml + CHANGELOG.md for the next version (based on Conventional
# Commits since the last tag).
# * release-plz-release job — when a release PR is merged, detects the
# new version on main and pushes the corresponding git tag. The tag
# push then triggers `release.yml` (cargo-dist).
#
# The job uses a PAT (`secrets.RELEASE_PLZ_TOKEN`) rather than the default
# `GITHUB_TOKEN` because pushes made with `GITHUB_TOKEN` do NOT trigger
# downstream workflows — cargo-dist's release.yml would never fire on the
# tag otherwise.
#
# See: https://release-plz.ieni.dev/docs/github/
on:
push:
branches: [main]
env:
# actions/upload-artifact@v5 and download-artifact@v5 still run on Node
# 20. Forcing Node 24 here silences the deprecation notice.
# https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
permissions:
contents: read
jobs:
# Push the tag once the release PR has been merged. The commit we see
# here is either the release-PR merge (which carries the version bump)
# or an unrelated commit (in which case this job is a no-op).
release-plz-release:
name: Release-plz release
runs-on: ubuntu-24.04
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
token: ${{ secrets.RELEASE_PLZ_TOKEN }}
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Run release-plz
uses: MarcoIeni/[email protected]
with:
command: release
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_PLZ_TOKEN }}
# Maintain the release PR. Concurrency-gated so concurrent pushes don't
# race each other when touching the same PR.
release-plz-pr:
name: Release-plz PR
runs-on: ubuntu-24.04
permissions:
contents: write
pull-requests: write
concurrency:
group: release-plz-${{ github.ref }}
cancel-in-progress: false
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
token: ${{ secrets.RELEASE_PLZ_TOKEN }}
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Run release-plz
uses: MarcoIeni/[email protected]
with:
command: release-pr
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_PLZ_TOKEN }}