Skip to content

Commit c5fbe5e

Browse files
authored
Add msrv and semver checks (#16)
1 parent 2531e2c commit c5fbe5e

File tree

2 files changed

+49
-8
lines changed

2 files changed

+49
-8
lines changed

.github/workflows/ci.yml

+48-8
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
RUSTFLAGS: "-D warnings"
1818
steps:
1919
- name: Checkout sources
20-
uses: actions/checkout@v3
20+
uses: actions/checkout@v4
2121

2222
- name: Install stable toolchain
2323
uses: dtolnay/rust-toolchain@stable
@@ -34,7 +34,7 @@ jobs:
3434
RUSTFLAGS: "-D warnings"
3535
steps:
3636
- name: Checkout sources
37-
uses: actions/checkout@v3
37+
uses: actions/checkout@v4
3838

3939
- name: Install nightly toolchain
4040
uses: dtolnay/rust-toolchain@nightly
@@ -51,7 +51,7 @@ jobs:
5151
RUSTFLAGS: "-D warnings"
5252
steps:
5353
- name: Checkout sources
54-
uses: actions/checkout@v3
54+
uses: actions/checkout@v4
5555

5656
- name: Install nightly toolchain
5757
uses: dtolnay/rust-toolchain@nightly
@@ -69,7 +69,7 @@ jobs:
6969
RUST_BACKTRACE: 1
7070
steps:
7171
- name: Checkout sources
72-
uses: actions/checkout@v3
72+
uses: actions/checkout@v4
7373

7474
- name: Install stable toolchain
7575
uses: dtolnay/rust-toolchain@stable
@@ -85,7 +85,7 @@ jobs:
8585
runs-on: ubuntu-latest
8686
steps:
8787
- name: Checkout sources
88-
uses: actions/checkout@v3
88+
uses: actions/checkout@v4
8989

9090
- name: Install stable toolchain
9191
uses: dtolnay/rust-toolchain@stable
@@ -110,7 +110,7 @@ jobs:
110110
runs-on: ubuntu-latest
111111
steps:
112112
- name: Checkout sources
113-
uses: actions/checkout@v3
113+
uses: actions/checkout@v4
114114

115115
- name: Install nightly toolchain
116116
uses: dtolnay/rust-toolchain@nightly
@@ -122,15 +122,55 @@ jobs:
122122
RUSTDOCFLAGS: "-Dwarnings"
123123
run: cargo doc --no-deps --examples
124124

125+
msrv:
126+
name: Minimum Supported Rust Version
127+
runs-on: ubuntu-latest
128+
env:
129+
RUSTFLAGS: "-D warnings"
130+
steps:
131+
- name: Checkout sources
132+
uses: actions/checkout@v4
133+
134+
- name: Install cargo-binstall
135+
uses: taiki-e/install-action@v2
136+
with:
137+
tool: cargo-binstall
138+
139+
- name: Install cargo-msrv
140+
run: cargo binstall --version 0.16.0-beta.20 --no-confirm cargo-msrv
141+
142+
#- uses: Swatinem/rust-cache@v1
143+
144+
- name: Check MSRV
145+
#run: cargo msrv --log-target=stdout --log-level debug --output-format json --features "imxrt-hal/imxrt1060,imxrt-ral/imxrt1062" --target=thumbv7em-none-eabihf
146+
#run: cargo msrv --log-target=stdout --log-level debug --output-format json --features "imxrt-hal/imxrt1060,imxrt-ral/imxrt1062" --target=thumbv7em-none-eabihf verify
147+
run: cargo msrv --output-format json --features "imxrt-hal/imxrt1060,imxrt-ral/imxrt1062" --target=thumbv7em-none-eabihf verify
148+
149+
semver:
150+
name: Semantic Versioning
151+
runs-on: ubuntu-latest
152+
env:
153+
# No idea why this fixes the check.
154+
RUSTFLAGS: "--cap-lints=warn"
155+
steps:
156+
- name: Checkout sources
157+
uses: actions/checkout@v4
158+
- name: Install stable toolchain
159+
uses: dtolnay/rust-toolchain@stable
160+
with:
161+
targets: thumbv7em-none-eabihf
162+
- name: Check semver
163+
uses: obi1kenobi/cargo-semver-checks-action@v2
164+
125165
release:
126166
name: Publish version
127167
runs-on: ubuntu-latest
128168
environment: production
129169
if: github.event_name == 'release'
130-
needs: [build_examples, build_examples_release, tests, lints, docs]
170+
needs: [build_examples, build_examples_release, tests, lints, docs, msrv, semver]
131171
steps:
132172
- name: Checkout sources
133-
uses: actions/checkout@v3
173+
uses: actions/checkout@v4
134174

135175
- name: Install stable toolchain
136176
uses: dtolnay/rust-toolchain@stable

Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
name = "ws2812-flexio"
33
version = "0.2.0"
44
edition = "2021"
5+
rust-version = "1.68"
56
authors = ["Finomnis <[email protected]>"]
67
license = "MIT OR Apache-2.0"
78
readme = "README.md"

0 commit comments

Comments
 (0)