@@ -29,15 +29,35 @@ jobs:
29
29
if-no-files-found : error
30
30
retention-days : 3
31
31
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
+
32
50
shellcomp :
51
+ needs : msrv
33
52
runs-on : ubuntu-latest
34
53
steps :
35
54
- name : Checkout code
36
55
uses : actions/checkout@v4
37
56
38
57
- 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 }}
41
61
42
62
- name : Generate files
43
63
run : cargo run --features shell --bin bite-shell-comp -p bugbite-cli
@@ -52,15 +72,16 @@ jobs:
52
72
53
73
source :
54
74
if : startsWith(github.ref, 'refs/tags/')
55
- needs : [" man", " shellcomp" ]
75
+ needs : [man, shellcomp, msrv ]
56
76
runs-on : ubuntu-latest
57
77
steps :
58
78
- name : Checkout code
59
79
uses : actions/checkout@v4
60
80
61
81
- 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 }}
64
85
65
86
- name : Create vendored release
66
87
run : .ci/vendor-release bugbite-cli
93
114
retention-days : 3
94
115
95
116
linux :
117
+ needs : msrv
96
118
runs-on : ubuntu-22.04
97
119
strategy :
98
120
matrix :
@@ -109,7 +131,9 @@ jobs:
109
131
uses : actions/checkout@v4
110
132
111
133
- 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 }}
113
137
114
138
- name : Install cross
115
139
run : cargo install cross --git https://github.com/cross-rs/cross
@@ -132,13 +156,16 @@ jobs:
132
156
retention-days : 3
133
157
134
158
macos :
159
+ needs : msrv
135
160
runs-on : macos-latest
136
161
steps :
137
162
- name : Checkout code
138
163
uses : actions/checkout@v4
139
164
140
165
- 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 }}
142
169
143
170
- name : Build binary
144
171
run : cargo build --profile release-strip -p bugbite-cli
0 commit comments