1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Release clapfig — thin caller into the canonical rust-lib reusable
# workflow at `arthur-debert/release/.github/workflows/rust-lib.yml`.
#
# Trigger model: **workflow_dispatch** (matches the rust-cli pattern
# used by lex + the cascade-handler contract). Previously triggered
# on tag-push; the canonical workflow's `prepare-release` action now
# drives the bump + commit + tag + push, so the caller only needs to
# pass the version.
#
# To cut a release:
# gh workflow run release.yml --ref main -f version=0.18.3
# or via the GH web UI's "Run workflow" button on the Actions tab.
name: Release clapfig
on:
workflow_dispatch:
inputs:
version:
description: 'Version to release (bare semver, e.g. 0.18.3 — no leading v)'
required: true
type: string
permissions:
contents: write
jobs:
release:
uses: arthur-debert/release/.github/workflows/rust-lib.yml@v1
with:
version: ${{ inputs.version }}
# Lockstep: both crates ship at the same version, derive first
# (clapfig's `derive` feature pulls in clapfig-derive as a
# registry dep with a pinned `version = "X.Y.Z"`, so the derive
# crate must already exist on crates.io when clapfig publishes).
# Matches the serde/serde_derive, clap/clap_derive convention.
crates: clapfig-derive,clapfig
changelog-path: CHANGELOG.md
secrets:
RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }}
CRATES_IO_KEY: ${{ secrets.CRATES_IO_KEY }}