Skip to content

Commit 93918f0

Browse files
authored
Merge pull request #905 from robamu/move-ci-to-regress-tool
Update cargo regress tool and move CI
2 parents 84f9e55 + 17c74f3 commit 93918f0

File tree

9 files changed

+2810
-1998
lines changed

9 files changed

+2810
-1998
lines changed

.github/workflows/ci.yml

+54-48
Original file line numberDiff line numberDiff line change
@@ -54,53 +54,47 @@ jobs:
5454
runs-on: ubuntu-latest
5555
needs: [check]
5656
strategy:
57+
fail-fast: false
5758
matrix:
58-
# Options are all, none, strict and const
5959
include:
60-
- { rust: stable, vendor: Atmel, options: all }
61-
- { rust: stable, vendor: Atmel, options: "" }
62-
- { rust: stable, vendor: Freescale, options: all }
63-
- { rust: stable, vendor: Freescale, options: "" }
64-
- { rust: stable, vendor: Fujitsu, options: "" }
65-
- { rust: stable, vendor: Fujitsu, options: "--atomics" }
66-
- { rust: stable, vendor: GD32, options: all }
67-
- { rust: stable, vendor: GD32, options: "" }
68-
- { rust: stable, vendor: Holtek, options: all }
69-
- { rust: stable, vendor: Holtek, options: "" }
70-
- { rust: stable, vendor: Microchip, options: "" }
71-
- { rust: stable, vendor: Microchip, options: "--atomics" }
72-
- { rust: stable, vendor: Nordic, options: all }
73-
- { rust: stable, vendor: Nordic, options: "" }
74-
- { rust: stable, vendor: Nuvoton, options: "" }
75-
- { rust: stable, vendor: Nuvoton, options: "--atomics" }
76-
- { rust: stable, vendor: NXP, options: all }
77-
- { rust: stable, vendor: NXP, options: "" }
78-
- { rust: stable, vendor: RISC-V, options: "" }
79-
- { rust: stable, vendor: RISC-V, options: "--atomics" }
80-
- { rust: stable, vendor: SiliconLabs, options: all }
81-
- { rust: stable, vendor: SiliconLabs, options: "" }
82-
- { rust: stable, vendor: Spansion, options: "" }
83-
- { rust: stable, vendor: Spansion, options: "--atomics" }
84-
- { rust: stable, vendor: STMicro, options: "" }
85-
- { rust: stable, vendor: STMicro, options: "--atomics" }
86-
- { rust: stable, vendor: STM32-patched, options: "--strict -f enum_value::p: --max-cluster-size --atomics --atomics-feature atomics --impl-debug --impl-defmt defmt" }
87-
- { rust: stable, vendor: Toshiba, options: all }
88-
- { rust: stable, vendor: Toshiba, options: "" }
89-
# Test MSRV
90-
- { rust: 1.76.0, vendor: Nordic, options: "" }
91-
# Use nightly for architectures which don't support stable
92-
- { rust: nightly, vendor: MSP430, options: "--atomics" }
93-
- { rust: nightly, vendor: MSP430, options: "" }
94-
# Workaround for _1token0
95-
- { rust: nightly-2024-09-25, vendor: Espressif, options: "--atomics --ident-formats-theme legacy" }
96-
- { rust: nightly-2024-09-25, vendor: Espressif, options: "--ident-format register:::Reg" }
60+
- { vendor: Atmel }
61+
- { vendor: Atmel, options: "-- --strict --atomics" }
62+
- { vendor: Freescale }
63+
- { vendor: Freescale, options: "-- --strict --atomics" }
64+
- { vendor: Fujitsu }
65+
- { vendor: Fujitsu, options: "-- --atomics" }
66+
- { vendor: Holtek }
67+
- { vendor: Holtek, options: "-- --strict --atomics" }
68+
- { vendor: Atmel }
69+
- { vendor: Atmel, options: "-- --strict --atomics" }
70+
- { vendor: Microchip }
71+
- { vendor: Microchip, options: "-- --atomics" }
72+
- { vendor: Nordic }
73+
- { vendor: Nordic, options: "-- --strict --atomics" }
74+
- { vendor: Nuvoton }
75+
- { vendor: Nuvoton, options: "-- --atomics" }
76+
- { vendor: NXP }
77+
- { vendor: NXP, options: "-- --strict --atomics" }
78+
- { vendor: SiFive }
79+
- { vendor: SiFive, options: "-- --atomics" }
80+
- { vendor: SiliconLabs, options: "" }
81+
- { vendor: SiliconLabs, options: "-- --strict --atomics" }
82+
- { vendor: Spansion }
83+
- { vendor: Spansion, options: "-- --atomics" }
84+
- { vendor: STMicro }
85+
- { vendor: STMicro, options: "-- --atomics" }
86+
- { vendor: STMicro, options: "-- --strict -f enum_value::p: --max-cluster-size --atomics --atomics-feature atomics --impl-debug --impl-defmt defmt" }
87+
- { vendor: Toshiba }
88+
- { vendor: Toshiba, options: "-- --strict --atomics" }
89+
- { vendor: TexasInstruments }
90+
- { vendor: TexasInstruments, options: "-- --atomics" }
91+
- { vendor: Espressif }
92+
- { vendor: Espressif, options: "-- --atomics" }
9793

9894
steps:
9995
- uses: actions/checkout@v4
10096

101-
- uses: dtolnay/rust-toolchain@master
102-
with:
103-
toolchain: ${{ matrix.rust }}
97+
- uses: dtolnay/rust-toolchain@stable
10498

10599
- name: Cache
106100
uses: Swatinem/rust-cache@v2
@@ -109,13 +103,25 @@ jobs:
109103
run: |
110104
cargo install svd2rust --path .
111105
112-
- name: Run CI script for `${{ matrix.vendor }}` under rust `${{ matrix.rust }}` with options=`${{ matrix.options }}`
113-
env:
114-
VENDOR: ${{ matrix.vendor }}
115-
OPTIONS: ${{ matrix.options }}
116-
COMMAND: check
117-
RUST_TOOLCHAIN: ${{ matrix.rust }}
118-
run: bash ci/script.sh
106+
- name: Run regression tool
107+
run: cargo regress tests -m ${{ matrix.vendor }} ${{ matrix.options }}
108+
109+
ci-msrv-check:
110+
runs-on: ubuntu-latest
111+
needs: [check]
112+
steps:
113+
- uses: actions/checkout@v4
114+
115+
- name: Self install
116+
run: |
117+
cargo install svd2rust --path .
118+
119+
# Install the MSRV toolchain
120+
- uses: dtolnay/[email protected]
121+
- name: Run reression tool with MSRV
122+
# The MSRV only applies to the generated crate. The regress tool should still be run with
123+
# stable.
124+
run: cargo +stable regress tests --toolchain 1.76.0 -m Nordic -- --strict --atomics
119125

120126
ci-clippy:
121127
runs-on: ubuntu-latest

ci/svd2rust-regress/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ edition = "2021"
33
name = "svd2rust-regress"
44
version = "0.1.0"
55
authors = ["James Munns <[email protected]>", "The svd2rust developers"]
6+
rust-version = "1.82.0"
67

78
[dependencies]
89
clap = { version = "4.1", features = ["color", "derive", "string", "env"] }

0 commit comments

Comments
 (0)