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