Skip to content

Commit d2cc8ea

Browse files
committed
ci: cicd rewrite
1 parent 5388534 commit d2cc8ea

5 files changed

Lines changed: 146 additions & 569 deletions

File tree

.github/workflows/cifuzz.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,13 @@ jobs:
5050
5151
- name: Run Fuzzer
5252
run: |
53+
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
54+
TIMEOUT=3600
55+
else
56+
TIMEOUT=600
57+
fi
5358
cd fuzz
54-
# Run for 3600 seconds (60 minutes)
55-
cargo +nightly fuzz run ${{ matrix.target }} -- -max_total_time=3600
59+
cargo +nightly fuzz run ${{ matrix.target }} -- -max_total_time=$TIMEOUT
5660
5761
- name: Upload Crash Artifacts
5862
if: failure()
Lines changed: 32 additions & 269 deletions
Original file line numberDiff line numberDiff line change
@@ -1,272 +1,35 @@
1-
{
2-
"name": "Cross platform tests",
3-
"on": {
4-
"push": {
5-
"branches": [
6-
"trunk",
7-
"main",
8-
"v*.x",
9-
"ci/*"
10-
]
11-
},
12-
"pull_request": {
13-
"branches": [
14-
"trunk",
15-
"main",
16-
"v*.x"
17-
]
18-
}
19-
},
20-
"jobs": {
21-
"test_cross_std": {
22-
"name": "Cross platform test (platforms with standard library)",
23-
"runs-on": "ubuntu-latest",
24-
"strategy": {
25-
"fail-fast": false,
26-
"matrix": {
27-
"platform": [
28-
# Tier 1
29-
"aarch64-unknown-linux-gnu",
30-
# 0050:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
31-
# 0050:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
32-
# 0050:err:systray:initialize_systray Could not create tray window
33-
# 0024:err:module:import_dll Library bcryptprimitives.dll (which is needed by L"Z:\\target\\i686-pc-windows-gnu\\debug\\deps\\bincode-569310bd32491256.exe") not found
34-
# 0024:err:module:LdrInitializeThunk Importing dlls for L"Z:\\target\\i686-pc-windows-gnu\\debug\\deps\\bincode-569310bd32491256.exe" failed, status c0000135
35-
# "i686-pc-windows-gnu",
1+
name: Cross-Platform CI
362

37-
# `cross` does not provide a Docker image for target i686-pc-windows-msvc
38-
# "i686-pc-windows-msvc",
39-
# compile problems relating to cross-rs
40-
# "i686-unknown-linux-gnu",
41-
# `cross` does not provide a Docker image for target x86_64-apple-darwin
42-
# "x86_64-apple-darwin",
3+
on:
4+
push:
5+
branches: [trunk, main, 'v*.x', 'ci/*']
6+
pull_request:
7+
branches: [trunk, main, 'v*.x']
438

44-
# 0050:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
45-
# 0050:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
46-
# 0050:err:systray:initialize_systray Could not create tray window
47-
# 00f4:err:module:import_dll Library bcryptprimitives.dll (which is needed by L"Z:\\target\\x86_64-pc-windows-gnu\\debug\\deps\\bincode-b91af23bf3efc9f3.exe") not found
48-
# 00f4:err:module:LdrInitializeThunk Importing dlls for L"Z:\\target\\x86_64-pc-windows-gnu\\debug\\deps\\bincode-b91af23bf3efc9f3.exe" failed, status c0000135
49-
# "x86_64-pc-windows-gnu",
9+
env:
10+
CARGO_TERM_COLOR: always
5011

51-
# `cross` does not provide a Docker image for target x86_64-pc-windows-msvc
52-
# "x86_64-pc-windows-msvc",
53-
"x86_64-unknown-linux-gnu",
54-
55-
# Tier 2
56-
# `cross` does not provide a Docker image for target aarch64-apple-darwin
57-
# "aarch64-apple-darwin",
58-
# `cross` does not provide a Docker image for target aarch64-pc-windows-msvc
59-
# "aarch64-pc-windows-msvc",
60-
"aarch64-unknown-linux-musl",
61-
# compile problems relating to cross-rs
62-
# "arm-unknown-linux-gnueabi",
63-
# compile problems relating to cross-rs
64-
# "arm-unknown-linux-gnueabihf",
65-
# compile problems relating to cross-rs
66-
# "armv7-unknown-linux-gnueabihf",
67-
# `cross` does not provide a Docker image for target loongarch64-unknown-linux-gnu
68-
# "loongarch64-unknown-linux-gnu",
69-
# BLOCKEDTODO(https://github.com/cross-rs/cross/issues/975): currently broken
70-
# "mips-unknown-linux-gnu",
71-
# BLOCKEDTODO(https://github.com/cross-rs/cross/issues/975): currently broken
72-
# "mips64-unknown-linux-gnuabi64",
73-
# BLOCKEDTODO(https://github.com/cross-rs/cross/issues/975): currently broken
74-
# "mips64el-unknown-linux-gnuabi64",
75-
# BLOCKEDTODO(https://github.com/cross-rs/cross/issues/975): currently broken
76-
# "mipsel-unknown-linux-gnu",
77-
# compile problems relating to cross-rs
78-
# "powerpc-unknown-linux-gnu",
79-
# compile problems relating to cross-rs
80-
# "powerpc64-unknown-linux-gnu",
81-
# compile problems relating to cross-rs
82-
# "powerpc64le-unknown-linux-gnu",
83-
"riscv64gc-unknown-linux-gnu",
84-
# compile problems relating to cross-rs
85-
# "s390x-unknown-linux-gnu",
86-
# BLOCKEDTODO(https://github.com/cross-rs/cross/issues/975): currently broken
87-
# "x86_64-unknown-freebsd",
88-
# BLOCKEDTODO(https://github.com/cross-rs/cross/issues/975): currently broken
89-
# "x86_64-unknown-illumos",
90-
"x86_64-unknown-linux-musl",
91-
# BLOCKEDTODO(https://github.com/cross-rs/cross/issues/975): currently broken
92-
# "x86_64-unknown-netbsd",
93-
94-
# Tier 3, only those that have std
95-
# `cross` does not provide a Docker image for target aarch64-apple-ios
96-
# "aarch64-apple-ios",
97-
# `cross` does not provide a Docker image for target aarch64-apple-ios-sim
98-
# "aarch64-apple-ios-sim",
99-
# `cross` does not provide a Docker image for target aarch64-fuchsia
100-
# "aarch64-fuchsia",
101-
# `cross` does not provide a Docker image for target aarch64-unknown-fuchsia
102-
# "aarch64-unknown-fuchsia",
103-
# BLOCKEDTODO(https://github.com/cross-rs/cross/issues/1222): currently broken
104-
# "aarch64-linux-android",
105-
# compile problems relating to cross-rs
106-
# "arm-linux-androideabi",
107-
# compile problems relating to cross-rs
108-
# "arm-unknown-linux-musleabi",
109-
# compile problems relating to cross-rs
110-
# "arm-unknown-linux-musleabihf",
111-
# compile problems relating to cross-rs
112-
# "armv5te-unknown-linux-gnueabi",
113-
# compile problems relating to cross-rs
114-
# "armv5te-unknown-linux-musleabi",
115-
# compile problems relating to cross-rs
116-
# "armv7-linux-androideabi",
117-
# compile problems relating to cross-rs
118-
# "armv7-unknown-linux-gnueabi",
119-
# compile problems relating to cross-rs
120-
# "armv7-unknown-linux-musleabi",
121-
# compile problems relating to cross-rs
122-
# "armv7-unknown-linux-musleabihf",
123-
# BLOCKEDTODO(https://github.com/cross-rs/cross/issues/634): broken
124-
# "asmjs-unknown-emscripten",
125-
# compile problems relating to cross-rs
126-
# "i586-unknown-linux-gnu",
127-
# compile problems relating to cross-rs
128-
# "i586-unknown-linux-musl",
129-
# BLOCKEDTODO(https://github.com/cross-rs/cross/issues/1222): currently broken
130-
# "i686-linux-android",
131-
# BLOCKEDTODO(https://github.com/cross-rs/cross/issues/975): currently broken
132-
# "i686-unknown-freebsd",
133-
# compile problems relating to cross-rs
134-
# "i686-unknown-linux-musl",
135-
# "mips-unknown-linux-musl",
136-
# "mips64-unknown-linux-muslabi64",
137-
# "mips64el-unknown-linux-muslabi64",
138-
# "mipsel-unknown-linux-musl",
139-
# Could not link to `getrandom`
140-
# "sparc64-unknown-linux-gnu",
141-
# BLOCKEDTODO(https://github.com/cross-rs/cross/issues/975): currently broken
142-
# "sparcv9-sun-solaris",
143-
# compile problems relating to cross-rs
144-
# "thumbv7neon-linux-androideabi",
145-
# compile problems relating to cross-rs
146-
# "thumbv7neon-unknown-linux-gnueabihf",
147-
# BLOCKEDTODO(https://github.com/cross-rs/cross/issues/975): currently broken
148-
# "wasm32-unknown-emscripten",
149-
# `cross` does not provide a Docker image for target wasm32-unknown-unknown
150-
# "wasm32-unknown-unknown",
151-
# `cross` does not provide a Docker image for target wasm32-wasi
152-
# "wasm32-wasi",
153-
# `cross` does not provide a Docker image for target x86_64-apple-ios
154-
# "x86_64-apple-ios",
155-
# `cross` does not provide a Docker image for target x86_64-fortanix-unknown-sgx
156-
# "x86_64-fortanix-unknown-sgx",
157-
# `cross` does not provide a Docker image for target x86_64-fuchsia
158-
# "x86_64-fuchsia",
159-
# `cross` does not provide a Docker image for target x86_64-unknown-fuchsia
160-
# "x86_64-unknown-fuchsia",
161-
# BLOCKEDTODO(https://github.com/cross-rs/cross/issues/975): currently broken
162-
# "x86_64-linux-android",
163-
# `cross` does not provide a Docker image for target x86_64-pc-solaris
164-
# "x86_64-pc-solaris",
165-
# `cross` does not provide a Docker image for target x86_64-unknown-linux-gnux32
166-
# "x86_64-unknown-linux-gnux32",
167-
# `cross` does not provide a Docker image for target x86_64-unknown-redox
168-
# "x86_64-unknown-redox",
169-
]
170-
}
171-
},
172-
"steps": [
173-
{
174-
"uses": "actions/checkout@v4",
175-
"name": "Checkout"
176-
},
177-
{
178-
"uses": "actions-rs/toolchain@v1",
179-
"with": {
180-
"profile": "minimal",
181-
"toolchain": "stable",
182-
"override": true
183-
},
184-
"name": "Install Rust stable"
185-
},
186-
{
187-
"uses": "actions-rs/install@v0.1",
188-
"with": {
189-
"crate": "cross"
190-
},
191-
"name": "Install cargo cross"
192-
},
193-
{
194-
"run": "cross test --target ${{ matrix.platform }} --all-features",
195-
"name": "Run tests",
196-
"env": {
197-
"RUST_BACKTRACE": "1",
198-
"CROSS_CUSTOM_DOCKER_INSTALL_STEPS": "apt-get update && apt-get install -y gcc-multilib g++-multilib"
199-
}
200-
}
201-
]
202-
},
203-
# None of these work, needs more investigation
204-
# "test_cross_no_std": {
205-
# "name": "Cross platform test (no_std, platforms without standard library)",
206-
# "runs-on": "ubuntu-latest",
207-
# "strategy": {
208-
# "fail-fast": false,
209-
# "matrix": {
210-
# "platform": [
211-
# # Tier 3
212-
# "aarch64-unknown-none-softfloat",
213-
# "aarch64-unknown-none",
214-
# "aarch64-unknown-uefi",
215-
# "armebv7r-none-eabi",
216-
# "armebv7r-none-eabihf",
217-
# "armv7a-none-eabi",
218-
# "armv7r-none-eabi",
219-
# "armv7r-none-eabihf",
220-
# "i586-pc-windows-msvc",
221-
# "i686-unknown-uefi",
222-
# "nvptx64-nvidia-cuda",
223-
# "riscv32i-unknown-none-elf",
224-
# "riscv32imac-unknown-none-elf",
225-
# "riscv32imc-unknown-none-elf",
226-
# "riscv64gc-unknown-none-elf",
227-
# "riscv64imac-unknown-none-elf",
228-
# "thumbv6m-none-eabi",
229-
# "thumbv7em-none-eabi",
230-
# "thumbv7em-none-eabihf",
231-
# "thumbv7m-none-eabi",
232-
# "thumbv8m.base-none-eabi",
233-
# "thumbv8m.main-none-eabi",
234-
# "thumbv8m.main-none-eabihf",
235-
# "x86_64-unknown-none",
236-
# "x86_64-unknown-uefi",
237-
# ]
238-
# }
239-
# },
240-
# "steps": [
241-
# {
242-
# "uses": "actions/checkout@v4",
243-
# "name": "Checkout"
244-
# },
245-
# {
246-
# "uses": "actions-rs/toolchain@v1",
247-
# "with": {
248-
# "profile": "minimal",
249-
# "toolchain": "stable",
250-
# "override": true
251-
# },
252-
# "name": "Install Rust stable"
253-
# },
254-
# {
255-
# "uses": "actions-rs/install@v0.1",
256-
# "with": {
257-
# "crate": "cross"
258-
# },
259-
# "name": "Install cargo cross"
260-
# },
261-
# {
262-
# "run": "cross test --target ${{ matrix.platform }} --no-default-features --features alloc,derive",
263-
# "name": "Run tests",
264-
# "env": {
265-
# "RUSTFLAGS": "-D warnings",
266-
# "RUST_BACKTRACE": "1",
267-
# }
268-
# }
269-
# ]
270-
# }
271-
}
272-
}
12+
jobs:
13+
test-cross-std:
14+
name: Cross-platform std (${{ matrix.platform }})
15+
runs-on: ubuntu-latest
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
platform:
20+
- aarch64-unknown-linux-gnu
21+
- aarch64-unknown-linux-musl
22+
- riscv64gc-unknown-linux-gnu
23+
- x86_64-unknown-linux-musl
24+
steps:
25+
- uses: actions/checkout@v4
26+
- uses: dtolnay/rust-toolchain@stable
27+
with:
28+
targets: ${{ matrix.platform }}
29+
- uses: Swatinem/rust-cache@v2
30+
- uses: taiki-e/install-action@cross
31+
- name: cross test
32+
run: cross test --target ${{ matrix.platform }} --all-features
33+
env:
34+
RUST_BACKTRACE: 1
35+
CROSS_CUSTOM_DOCKER_INSTALL_STEPS: apt-get update && apt-get install -y gcc-multilib g++-multilib

.github/workflows/miri.yml

Lines changed: 26 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,26 @@
1-
{
2-
"name": "miri",
3-
"on": {
4-
"push": {
5-
"branches": [
6-
"trunk",
7-
"main",
8-
"v*.x",
9-
"ci/*"
10-
]
11-
},
12-
"pull_request": {
13-
"branches": [
14-
"trunk",
15-
"main",
16-
"v*.x"
17-
]
18-
}
19-
},
20-
"jobs": {
21-
"miri": {
22-
"name": "MIRI",
23-
"runs-on": "ubuntu-latest",
24-
"steps": [
25-
{
26-
"uses": "actions/checkout@v2",
27-
"name": "Checkout"
28-
},
29-
{
30-
"run": "rustup toolchain install nightly --component miri \n
31-
rustup override set nightly \n
32-
cargo miri setup",
33-
"name": "Install Rust nightly"
34-
},
35-
{
36-
"run": "MIRIFLAGS='-Zmiri-disable-isolation' cargo +nightly miri test --all-features --no-fail-fast",
37-
"name": "All features"
38-
}
39-
]
40-
}
41-
}
42-
}
1+
name: Miri
2+
3+
on:
4+
push:
5+
branches: [trunk, main, 'v*.x', 'ci/*']
6+
pull_request:
7+
branches: [trunk, main, 'v*.x']
8+
9+
env:
10+
CARGO_TERM_COLOR: always
11+
MIRIFLAGS: "-Zmiri-disable-isolation"
12+
13+
jobs:
14+
miri:
15+
name: Miri
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
- uses: dtolnay/rust-toolchain@nightly
20+
with:
21+
components: miri
22+
- uses: Swatinem/rust-cache@v2
23+
- name: cargo miri setup
24+
run: cargo miri setup
25+
- name: cargo miri test
26+
run: cargo miri test --all-features --no-fail-fast

0 commit comments

Comments
 (0)