-
Notifications
You must be signed in to change notification settings - Fork 0
68 lines (62 loc) · 2.61 KB
/
Copy pathrelease-plz.yml
File metadata and controls
68 lines (62 loc) · 2.61 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
name: release-plz
# Owns crates.io publishing + changelogs + version bumps for the workspace
# libraries (winevt-core, winevt-binxml, winevt-integrity, winevt-carver,
# winevt-memory, winevt-writer, winevt-extract, winevt-manifest, winevt-analysis,
# winevt-triage). Configuration lives in release-plz.toml.
#
# On every push to main:
# - release-plz-pr: opens/updates a human-reviewed version-bump PR
# - release-plz-release: publishes any crate whose version is ahead of crates.io
# (release-plz resolves dependency order) and tags it
#
# Binary distribution (ev4n6 / winevt-cli) stays in release.yml, triggered by a
# manual v[0-9]* tag. The two pipelines do not overlap: release-plz uses
# package-prefixed tags (winevt-core-v*, …) which never match v[0-9]*.
permissions:
contents: write
pull-requests: write
on:
push:
branches: [main]
concurrency:
group: release-plz-${{ github.ref }}
cancel-in-progress: false
jobs:
release-plz-release:
name: release-plz release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
fetch-depth: 0
- uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
- name: release-plz release
uses: release-plz/action@e8792575c7f2366cf6ff3ccc33ead9ace5b691c7 # v0.5.130
with:
command: release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
release-plz-pr:
name: release-plz PR
runs-on: ubuntu-latest
# Serialize PR updates so concurrent pushes don't fight over the release PR.
concurrency:
group: release-plz-pr
cancel-in-progress: false
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
fetch-depth: 0
- uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
- name: release-plz release-pr
uses: release-plz/action@e8792575c7f2366cf6ff3ccc33ead9ace5b691c7 # v0.5.130
with:
command: release-pr
env:
# PRs created with the built-in GITHUB_TOKEN do NOT trigger other workflows
# (CI won't run on the release PR). Set a RELEASE_PLZ_TOKEN secret (a
# fine-grained PAT or a GitHub App token) to get CI on the release PR; until
# then this falls back to GITHUB_TOKEN and works without checks.
GITHUB_TOKEN: ${{ secrets.RELEASE_PLZ_TOKEN || secrets.GITHUB_TOKEN }}
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}