Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 74d4a8f

Browse files
committed
ci: use the MSRV to build releases
1 parent 5a24669 commit 74d4a8f

File tree

1 file changed

+34
-7
lines changed

1 file changed

+34
-7
lines changed

.github/workflows/bugbite-cli.yml

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,35 @@ jobs:
2929
if-no-files-found: error
3030
retention-days: 3
3131

32+
msrv:
33+
runs-on: ubuntu-latest
34+
outputs:
35+
version: ${{ steps.msrv.outputs.version }}
36+
steps:
37+
- name: Checkout code to determine the minimum supported rust version
38+
uses: actions/checkout@v4
39+
40+
- name: Get the minimum supported rust version (MSRV)
41+
id: msrv
42+
run: |
43+
min_ver=$(sed -rn '/^rust-version\s*=/ s/^.*=\s*"([0-9](\.[0-9]+)+)(.*)/\1/p' Cargo.toml)
44+
if [[ -n ${min_ver} ]]; then
45+
echo "version=${min_ver}" >> $GITHUB_OUTPUT
46+
else
47+
exit 1
48+
fi
49+
3250
shellcomp:
51+
needs: msrv
3352
runs-on: ubuntu-latest
3453
steps:
3554
- name: Checkout code
3655
uses: actions/checkout@v4
3756

3857
- name: Set up rust toolchain
39-
uses: dtolnay/rust-toolchain@stable
40-
id: rust
58+
uses: dtolnay/rust-toolchain@master
59+
with:
60+
toolchain: ${{ needs.msrv.outputs.version }}
4161

4262
- name: Generate files
4363
run: cargo run --features shell --bin bite-shell-comp -p bugbite-cli
@@ -52,15 +72,16 @@ jobs:
5272

5373
source:
5474
if: startsWith(github.ref, 'refs/tags/')
55-
needs: ["man", "shellcomp"]
75+
needs: [man, shellcomp, msrv]
5676
runs-on: ubuntu-latest
5777
steps:
5878
- name: Checkout code
5979
uses: actions/checkout@v4
6080

6181
- name: Set up rust toolchain
62-
uses: dtolnay/rust-toolchain@stable
63-
id: rust
82+
uses: dtolnay/rust-toolchain@master
83+
with:
84+
toolchain: ${{ needs.msrv.outputs.version }}
6485

6586
- name: Create vendored release
6687
run: .ci/vendor-release bugbite-cli
@@ -93,6 +114,7 @@ jobs:
93114
retention-days: 3
94115

95116
linux:
117+
needs: msrv
96118
runs-on: ubuntu-22.04
97119
strategy:
98120
matrix:
@@ -109,7 +131,9 @@ jobs:
109131
uses: actions/checkout@v4
110132

111133
- name: Set up rust toolchain
112-
uses: dtolnay/rust-toolchain@stable
134+
uses: dtolnay/rust-toolchain@master
135+
with:
136+
toolchain: ${{ needs.msrv.outputs.version }}
113137

114138
- name: Install cross
115139
run: cargo install cross --git https://github.com/cross-rs/cross
@@ -132,13 +156,16 @@ jobs:
132156
retention-days: 3
133157

134158
macos:
159+
needs: msrv
135160
runs-on: macos-latest
136161
steps:
137162
- name: Checkout code
138163
uses: actions/checkout@v4
139164

140165
- name: Set up rust toolchain
141-
uses: dtolnay/rust-toolchain@stable
166+
uses: dtolnay/rust-toolchain@master
167+
with:
168+
toolchain: ${{ needs.msrv.outputs.version }}
142169

143170
- name: Build binary
144171
run: cargo build --profile release-strip -p bugbite-cli

0 commit comments

Comments
 (0)