@@ -33,189 +33,193 @@ jobs:
3333 cat $GITHUB_OUTPUT
3434 outputs :
3535 commits : ${{toJSON(steps.*.outputs.commits)}}
36- fmt :
36+ debug :
3737 needs : commit_list
38- strategy :
39- matrix :
40- commit : ${{fromJSON(needs.commit_list.outputs.commits)}}
41- name : " fmt #${{matrix.commit.num}} (${{matrix.commit.short}})"
42- runs-on : ubuntu-latest
4338 steps :
4439 - run : echo "${{fromJSON(needs.commit_list.outputs.commits)}}"
45- - uses : actions/checkout@v4
46- with :
47- ref : ${{matrix.commit.sha}}
48- - uses : dtolnay/rust-toolchain@nightly
49- with :
50- components : rustfmt
51- - run : cargo fmt --check
52- - run : cd internal && cargo fmt --check
53- readme :
54- needs : commit_list
55- runs-on : ubuntu-latest
56- strategy :
57- matrix :
58- commit : ${{fromJSON(needs.commit_list.outputs.commits)}}
59- name : " readme #${{matrix.commit.num}} (${{matrix.commit.short}})"
60- steps :
61- - uses : actions/checkout@v4
62- with :
63- ref : ${{matrix.commit.sha}}
64- - uses : dtolnay/rust-toolchain@nightly
65- - run : cargo install cargo-rdme
66- - run : cargo rdme --check
67- docs :
68- needs : commit_list
69- runs-on : ubuntu-latest
70- strategy :
71- matrix :
72- commit : ${{fromJSON(needs.commit_list.outputs.commits)}}
73- name : " docs #${{matrix.commit.num}} (${{matrix.commit.short}})"
74- steps :
75- - uses : actions/checkout@v4
76- with :
77- ref : ${{matrix.commit.sha}}
78- - uses : dtolnay/rust-toolchain@nightly
79- - uses : dtolnay/rust-toolchain@nightly
80- with :
81- components : rust-src
82- - run : cargo doc --no-deps
83- clippy :
84- needs : commit_list
85- runs-on : ubuntu-latest
86- strategy :
87- matrix :
88- commit : ${{fromJSON(needs.commit_list.outputs.commits)}}
89- name : " clippy #${{matrix.commit.num}} (${{matrix.commit.short}})"
90- steps :
91- - uses : actions/checkout@v4
92- with :
93- ref : ${{matrix.commit.sha}}
94- - uses : dtolnay/rust-toolchain@nightly
95- with :
96- components : clippy
97- - run : cargo install cargo-hack
98- - run : cargo hack --clean-per-run --feature-powerset clippy --locked
99- test :
100- needs : commit_list
101- runs-on : ubuntu-latest
102- strategy :
103- matrix :
104- commit : ${{fromJSON(needs.commit_list.outputs.commits)}}
105- name : " test #${{matrix.commit.num}} (${{matrix.commit.short}})"
106- steps :
107- - uses : actions/checkout@v4
108- - uses : dtolnay/rust-toolchain@nightly
109- with :
110- components : rust-src
111- - run : cargo install cargo-expand
112- - run : cargo test --locked
113- miri :
114- needs : commit_list
115- runs-on : ubuntu-latest
116- strategy :
117- fail-fast : false
118- matrix :
119- commit : ${{fromJSON(needs.commit_list.outputs.commits)}}
120- flags : [
121- " " ,
122- " -Zmiri-tree-borrows" ,
123- " -Zmiri-strict-provenance" ,
124- " -Zmiri-tree-borrows -Zmiri-strict-provenance" ,
125- ]
126- name : " miri #${{matrix.commit.num}} (${{matrix.commit.short}})"
127- steps :
128- - uses : actions/checkout@v4
129- with :
130- ref : ${{matrix.commit.sha}}
131- - run : |
132- echo "NIGHTLY=nightly-$(curl -s https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/miri)" >> $GITHUB_ENV
133- - name : Install ${{env.NIGHTLY}}
134- uses : dtolnay/rust-toolchain@master
135- with :
136- toolchain : ${{env.NIGHTLY}}
137- components : miri, rust-src
138- - run : cargo install cargo-expand
139- - name : ${{matrix.flags}} cargo miri test
140- run : cargo miri test --locked
141- env :
142- MIRIFLAGS : ${{matrix.flags}}
143- sanitizers :
144- needs : commit_list
145- runs-on : ubuntu-latest
146- strategy :
147- matrix :
148- commit : ${{fromJSON(needs.commit_list.outputs.commits)}}
149- name : " sanitizers #${{matrix.commit.num}} (${{matrix.commit.short}})"
150- steps :
151- - uses : actions/checkout@v4
152- with :
153- ref : ${{matrix.commit.sha}}
154- - uses : dtolnay/rust-toolchain@nightly
155- with :
156- components : rust-src
157- - name : enable debug symbols
158- run : |
159- sudo apt install llvm
160- # https://github.com/japaric/rust-san#unrealiable-leaksanitizer
161- sed -i '/\[features\]/i [profile.dev]' Cargo.toml
162- sed -i '/profile.dev/a opt-level = 1' Cargo.toml
163- cat Cargo.toml
164- - run : cargo test --lib --tests --target x86_64-unknown-linux-gnu
165- env :
166- ASAN_OPTIONS : " detect_odr_violation=0:detect_leaks=0"
167- RUSTFLAGS : " --cfg NO_UI_TESTS --cfg NO_ALLOC_FAIL_TESTS -Z sanitizer=address"
168- - run : cargo test --target x86_64-unknown-linux-gnu
169- env :
170- RUSTFLAGS : " --cfg NO_UI_TESTS --cfg NO_ALLOC_FAIL_TESTS -Z sanitizer=leak"
171- msrv :
172- needs : commit_list
173- runs-on : ubuntu-latest
174- strategy :
175- matrix :
176- commit : ${{fromJSON(needs.commit_list.outputs.commits)}}
177- name : " msrv #${{matrix.commit.num}} (${{matrix.commit.short}})"
178- steps :
179- - uses : actions/checkout@v4
180- with :
181- ref : ${{matrix.commit.sha}}
182- - uses : dtolnay/rust-toolchain@stable
183- - run : cargo install cargo-hack
184- - run : cargo hack --clean-per-run --feature-powerset --exclude-features alloc --exclude-features default --version-range 1.82.. --clean-per-version check --locked
185- nightly-msrv :
186- needs : commit_list
187- runs-on : ubuntu-latest
188- strategy :
189- matrix :
190- commit : ${{fromJSON(needs.commit_list.outputs.commits)}}
191- name : " nightly-msrv #${{matrix.commit.num}} (${{matrix.commit.short}})"
192- steps :
193- - uses : actions/checkout@v4
194- with :
195- ref : ${{matrix.commit.sha}}
196- - uses : dtolnay/rust-toolchain@stable
197- with :
198- components : rust-src
199- - run : cargo install cargo-hack
200- - run : cargo install cargo-expand
201- - run : cargo hack --clean-per-run --feature-powerset --version-range 1.78.. --clean-per-version check --locked
202- env :
203- RUSTC_BOOTSTRAP : 1
204- os-check :
205- needs : commit_list
206- strategy :
207- fail-fast : false
208- matrix :
209- os : [macos-latest, windows-latest]
210- commit : ${{fromJSON(needs.commit_list.outputs.commits)}}
211- runs-on : ${{matrix.os}}
212- name : " os-check (${{matrix.os}}) #${{matrix.commit.num}} (${{matrix.commit.short}})"
213- steps :
214- - uses : actions/checkout@v4
215- with :
216- ref : ${{matrix.commit.sha}}
217- - uses : dtolnay/rust-toolchain@nightly
218- with :
219- components : rust-src
220- - run : cargo install cargo-expand
221- - run : cargo test --locked
40+ # fmt:
41+ # needs: commit_list
42+ # strategy:
43+ # matrix:
44+ # commit: ${{fromJSON(needs.commit_list.outputs.commits)}}
45+ # name: "fmt #${{matrix.commit.num}} (${{matrix.commit.short}})"
46+ # runs-on: ubuntu-latest
47+ # steps:
48+ # - run: echo "${{fromJSON(needs.commit_list.outputs.commits)}}"
49+ # - uses: actions/checkout@v4
50+ # with:
51+ # ref: ${{matrix.commit.sha}}
52+ # - uses: dtolnay/rust-toolchain@nightly
53+ # with:
54+ # components: rustfmt
55+ # - run: cargo fmt --check
56+ # - run: cd internal && cargo fmt --check
57+ # readme:
58+ # needs: commit_list
59+ # runs-on: ubuntu-latest
60+ # strategy:
61+ # matrix:
62+ # commit: ${{fromJSON(needs.commit_list.outputs.commits)}}
63+ # name: "readme #${{matrix.commit.num}} (${{matrix.commit.short}})"
64+ # steps:
65+ # - uses: actions/checkout@v4
66+ # with:
67+ # ref: ${{matrix.commit.sha}}
68+ # - uses: dtolnay/rust-toolchain@nightly
69+ # - run: cargo install cargo-rdme
70+ # - run: cargo rdme --check
71+ # docs:
72+ # needs: commit_list
73+ # runs-on: ubuntu-latest
74+ # strategy:
75+ # matrix:
76+ # commit: ${{fromJSON(needs.commit_list.outputs.commits)}}
77+ # name: "docs #${{matrix.commit.num}} (${{matrix.commit.short}})"
78+ # steps:
79+ # - uses: actions/checkout@v4
80+ # with:
81+ # ref: ${{matrix.commit.sha}}
82+ # - uses: dtolnay/rust-toolchain@nightly
83+ # - uses: dtolnay/rust-toolchain@nightly
84+ # with:
85+ # components: rust-src
86+ # - run: cargo doc --no-deps
87+ # clippy:
88+ # needs: commit_list
89+ # runs-on: ubuntu-latest
90+ # strategy:
91+ # matrix:
92+ # commit: ${{fromJSON(needs.commit_list.outputs.commits)}}
93+ # name: "clippy #${{matrix.commit.num}} (${{matrix.commit.short}})"
94+ # steps:
95+ # - uses: actions/checkout@v4
96+ # with:
97+ # ref: ${{matrix.commit.sha}}
98+ # - uses: dtolnay/rust-toolchain@nightly
99+ # with:
100+ # components: clippy
101+ # - run: cargo install cargo-hack
102+ # - run: cargo hack --clean-per-run --feature-powerset clippy --locked
103+ # test:
104+ # needs: commit_list
105+ # runs-on: ubuntu-latest
106+ # strategy:
107+ # matrix:
108+ # commit: ${{fromJSON(needs.commit_list.outputs.commits)}}
109+ # name: "test #${{matrix.commit.num}} (${{matrix.commit.short}})"
110+ # steps:
111+ # - uses: actions/checkout@v4
112+ # - uses: dtolnay/rust-toolchain@nightly
113+ # with:
114+ # components: rust-src
115+ # - run: cargo install cargo-expand
116+ # - run: cargo test --locked
117+ # miri:
118+ # needs: commit_list
119+ # runs-on: ubuntu-latest
120+ # strategy:
121+ # fail-fast: false
122+ # matrix:
123+ # commit: ${{fromJSON(needs.commit_list.outputs.commits)}}
124+ # flags: [
125+ # "",
126+ # "-Zmiri-tree-borrows",
127+ # "-Zmiri-strict-provenance",
128+ # "-Zmiri-tree-borrows -Zmiri-strict-provenance",
129+ # ]
130+ # name: "miri #${{matrix.commit.num}} (${{matrix.commit.short}})"
131+ # steps:
132+ # - uses: actions/checkout@v4
133+ # with:
134+ # ref: ${{matrix.commit.sha}}
135+ # - run: |
136+ # echo "NIGHTLY=nightly-$(curl -s https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/miri)" >> $GITHUB_ENV
137+ # - name: Install ${{env.NIGHTLY}}
138+ # uses: dtolnay/rust-toolchain@master
139+ # with:
140+ # toolchain: ${{env.NIGHTLY}}
141+ # components: miri, rust-src
142+ # - run: cargo install cargo-expand
143+ # - name: ${{matrix.flags}} cargo miri test
144+ # run: cargo miri test --locked
145+ # env:
146+ # MIRIFLAGS: ${{matrix.flags}}
147+ # sanitizers:
148+ # needs: commit_list
149+ # runs-on: ubuntu-latest
150+ # strategy:
151+ # matrix:
152+ # commit: ${{fromJSON(needs.commit_list.outputs.commits)}}
153+ # name: "sanitizers #${{matrix.commit.num}} (${{matrix.commit.short}})"
154+ # steps:
155+ # - uses: actions/checkout@v4
156+ # with:
157+ # ref: ${{matrix.commit.sha}}
158+ # - uses: dtolnay/rust-toolchain@nightly
159+ # with:
160+ # components: rust-src
161+ # - name: enable debug symbols
162+ # run: |
163+ # sudo apt install llvm
164+ # # https://github.com/japaric/rust-san#unrealiable-leaksanitizer
165+ # sed -i '/\[features\]/i [profile.dev]' Cargo.toml
166+ # sed -i '/profile.dev/a opt-level = 1' Cargo.toml
167+ # cat Cargo.toml
168+ # - run: cargo test --lib --tests --target x86_64-unknown-linux-gnu
169+ # env:
170+ # ASAN_OPTIONS: "detect_odr_violation=0:detect_leaks=0"
171+ # RUSTFLAGS: "--cfg NO_UI_TESTS --cfg NO_ALLOC_FAIL_TESTS -Z sanitizer=address"
172+ # - run: cargo test --target x86_64-unknown-linux-gnu
173+ # env:
174+ # RUSTFLAGS: "--cfg NO_UI_TESTS --cfg NO_ALLOC_FAIL_TESTS -Z sanitizer=leak"
175+ # msrv:
176+ # needs: commit_list
177+ # runs-on: ubuntu-latest
178+ # strategy:
179+ # matrix:
180+ # commit: ${{fromJSON(needs.commit_list.outputs.commits)}}
181+ # name: "msrv #${{matrix.commit.num}} (${{matrix.commit.short}})"
182+ # steps:
183+ # - uses: actions/checkout@v4
184+ # with:
185+ # ref: ${{matrix.commit.sha}}
186+ # - uses: dtolnay/rust-toolchain@stable
187+ # - run: cargo install cargo-hack
188+ # - run: cargo hack --clean-per-run --feature-powerset --exclude-features alloc --exclude-features default --version-range 1.82.. --clean-per-version check --locked
189+ # nightly-msrv:
190+ # needs: commit_list
191+ # runs-on: ubuntu-latest
192+ # strategy:
193+ # matrix:
194+ # commit: ${{fromJSON(needs.commit_list.outputs.commits)}}
195+ # name: "nightly-msrv #${{matrix.commit.num}} (${{matrix.commit.short}})"
196+ # steps:
197+ # - uses: actions/checkout@v4
198+ # with:
199+ # ref: ${{matrix.commit.sha}}
200+ # - uses: dtolnay/rust-toolchain@stable
201+ # with:
202+ # components: rust-src
203+ # - run: cargo install cargo-hack
204+ # - run: cargo install cargo-expand
205+ # - run: cargo hack --clean-per-run --feature-powerset --version-range 1.78.. --clean-per-version check --locked
206+ # env:
207+ # RUSTC_BOOTSTRAP: 1
208+ # os-check:
209+ # needs: commit_list
210+ # strategy:
211+ # fail-fast: false
212+ # matrix:
213+ # os: [macos-latest, windows-latest]
214+ # commit: ${{fromJSON(needs.commit_list.outputs.commits)}}
215+ # runs-on: ${{matrix.os}}
216+ # name: "os-check (${{matrix.os}}) #${{matrix.commit.num}} (${{matrix.commit.short}})"
217+ # steps:
218+ # - uses: actions/checkout@v4
219+ # with:
220+ # ref: ${{matrix.commit.sha}}
221+ # - uses: dtolnay/rust-toolchain@nightly
222+ # with:
223+ # components: rust-src
224+ # - run: cargo install cargo-expand
225+ # - run: cargo test --locked
0 commit comments