@@ -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/rust-toolchain@1.76.0
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
0 commit comments