name: Release
on:
workflow_dispatch:
inputs:
bump:
description: "Version bump type (ignored for prerelease continuation/graduation or exact version)"
required: true
type: choice
options: [patch, minor, major]
default: patch
prerelease:
description: "Start or continue a pre-release"
required: false
type: boolean
default: false
prerelease_identifier:
description: "Pre-release identifier (e.g., rc, beta, alpha)"
required: false
type: string
default: rc
override_version:
description: "Exact, strictly newer semver; overrides bump and prerelease controls"
required: false
type: string
default: ""
target_branch:
description: "Branch to base the release on"
required: false
type: string
default: main
dry_run:
description: "Validate and build the candidate without pushing or publishing"
required: false
type: boolean
default: false
skip_gates:
description: "Skip preparation checks; real releases still run required CI and package verification"
required: false
type: boolean
default: false
jobs:
release:
permissions:
contents: write
actions: write
statuses: write
uses: reekta92/.github/.github/workflows/rust-release.yml@abf1d7e22d5c821607c4933011cce4c3fd41c8cc
with:
release_kind: crate
BIN_NAME: pinstar
PKG_PREFIX: pinstar
build_targets: linux-only
all_features: true
bump: ${{ inputs.bump }}
prerelease: ${{ inputs.prerelease }}
prerelease_identifier: ${{ inputs.prerelease_identifier }}
override_version: ${{ inputs.override_version }}
target_branch: ${{ inputs.target_branch }}
dry_run: ${{ inputs.dry_run }}
skip_gates: ${{ inputs.skip_gates }}
secrets:
BOT_TOKEN: ${{ secrets.BOT_TOKEN }}
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}