1+ name : Release-plz
2+
3+ permissions :
4+ pull-requests : write
5+ contents : write
6+
7+ on :
8+ push :
9+ branches :
10+ - main
11+
12+ jobs :
13+
14+ # Release unpublished packages.
15+ release-plz-release :
16+ name : Release-plz release
17+ runs-on : ubuntu-latest
18+ permissions :
19+ contents : write
20+ outputs :
21+ release_created : ${{ steps.release.outputs.releases_created }}
22+ release_version : ${{ steps.release.outputs.releases }}
23+ steps :
24+ - name : Checkout repository
25+ uses : actions/checkout@v4
26+ with :
27+ fetch-depth : 0
28+ - name : Install Rust toolchain
29+ uses : dtolnay/rust-toolchain@stable
30+ - name : Run release-plz
31+ uses :
release-plz/[email protected] 32+ id : release
33+ with :
34+ command : release
35+ env :
36+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
37+ CARGO_REGISTRY_TOKEN : ${{ secrets.CARGO_REGISTRY_TOKEN }}
38+
39+ upload_binary :
40+ needs : release-plz-release
41+ if : ${{ needs.release-plz-release.outputs.release_created }}
42+ env :
43+ CARGO_INCREMENTAL : 0
44+ CARGO_NET_GIT_FETCH_WITH_CLI : true
45+ CARGO_NET_RETRY : 10
46+ CARGO_TERM_COLOR : always
47+ RUST_BACKTRACE : 1
48+ RUSTFLAGS : -D warnings
49+ RUSTUP_MAX_RETRIES : 10
50+ name : ${{ matrix.target }}
51+ runs-on : ${{ matrix.os }}
52+ strategy :
53+ matrix :
54+ include :
55+ - target : aarch64-unknown-linux-gnu
56+ os : ubuntu-22.04
57+ - target : aarch64-unknown-linux-musl
58+ os : ubuntu-22.04
59+ - target : aarch64-apple-darwin
60+ os : macos-13
61+ - target : aarch64-pc-windows-msvc
62+ os : windows-2022
63+ - target : x86_64-unknown-linux-gnu
64+ os : ubuntu-22.04
65+ - target : x86_64-unknown-linux-musl
66+ os : ubuntu-22.04
67+ - target : x86_64-apple-darwin
68+ os : macos-13
69+ timeout-minutes : 60
70+ steps :
71+ - name : Checkout repository
72+ uses : actions/checkout@v4
73+ - name : Install Rust toolchain
74+ uses : dtolnay/rust-toolchain@stable
75+ - uses : taiki-e/setup-cross-toolchain-action@v1
76+ with :
77+ target : ${{ matrix.target }}
78+ if : startsWith(matrix.os, 'ubuntu') && !contains(matrix.target, '-musl')
79+ - uses : taiki-e/install-action@v2
80+ with :
81+ tool : cross
82+ if : contains(matrix.target, '-musl')
83+ - run : echo "RUSTFLAGS=${RUSTFLAGS} -C target-feature=+crt-static" >> "${GITHUB_ENV}"
84+ if : endsWith(matrix.target, 'windows-msvc')
85+ - uses : taiki-e/upload-rust-binary-action@v1
86+ with :
87+ bin : algolia-monitor
88+ target : ${{ matrix.target }}
89+ tar : all
90+ zip : windows
91+ token : ${{ secrets.GITHUB_TOKEN }}
92+
93+ # Create a PR with the new versions and changelog, preparing the next release.
94+ release-plz-pr :
95+ name : Release-plz PR
96+ runs-on : ubuntu-latest
97+ permissions :
98+ contents : write
99+ pull-requests : write
100+ concurrency :
101+ group : release-plz-${{ github.ref }}
102+ cancel-in-progress : false
103+ steps :
104+ - name : Checkout repository
105+ uses : actions/checkout@v4
106+ with :
107+ fetch-depth : 0
108+ - name : Install Rust toolchain
109+ uses : dtolnay/rust-toolchain@stable
110+ - name : Run release-plz
111+ uses :
release-plz/[email protected] 112+ with :
113+ command : release-pr
114+ env :
115+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
116+ CARGO_REGISTRY_TOKEN : ${{ secrets.CARGO_REGISTRY_TOKEN }}
0 commit comments