@@ -54,53 +54,47 @@ jobs:
54
54
runs-on : ubuntu-latest
55
55
needs : [check]
56
56
strategy :
57
+ fail-fast : false
57
58
matrix :
58
- # Options are all, none, strict and const
59
59
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" }
97
93
98
94
steps :
99
95
- uses : actions/checkout@v4
100
96
101
- - uses : dtolnay/rust-toolchain@master
102
- with :
103
- toolchain : ${{ matrix.rust }}
97
+ - uses : dtolnay/rust-toolchain@stable
104
98
105
99
- name : Cache
106
100
uses : Swatinem/rust-cache@v2
@@ -109,13 +103,25 @@ jobs:
109
103
run : |
110
104
cargo install svd2rust --path .
111
105
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
+
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
119
125
120
126
ci-clippy :
121
127
runs-on : ubuntu-latest
0 commit comments