Skip to content

Commit

Permalink
[ci] Test some targets only in the merge queue (#1314)
Browse files Browse the repository at this point in the history
* [ci] Only run Miri tests in merge queue

Comparing [1] (run with the parent commit) and [2] (run with this
commit), we see an overall speedup of 19m33s -> 6m53s, or ~65%. These
gains will only be realized during PR development; the CI test execution
time in the merge queue will remain unchanged.

[1] https://github.com/google/zerocopy/actions/runs/9149347472
[2] https://github.com/google/zerocopy/actions/runs/9149505999?pr=1313

* [ci] Test some targets only in the merge queue

Comparing [1] (run with the parent commit) and [2] (run with this
commit), we see an overall speedup of 6m54s -> 5m36s, or ~19%. These
gains will only be realized during PR development; the CI test execution
time in the merge queue will remain unchanged.

Makes progress on #1310

[1] https://github.com/google/zerocopy/actions/runs/9149561660
[2] https://github.com/google/zerocopy/actions/runs/9149620991?pr=1314
  • Loading branch information
joshlf authored May 19, 2024
1 parent 6775428 commit 134b798
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ jobs:
]
features: [ "--no-default-features", "", "--features __internal_use_only_features_that_work_on_stable", "--all-features" ]
crate: [ "zerocopy", "zerocopy-derive" ]
event_name: [ "${{ github.event_name }}" ]
exclude:
# Exclude any combination which uses a non-nightly toolchain but
# enables nightly features.
Expand All @@ -73,7 +74,6 @@ jobs:
features: "--all-features"
- toolchain: "zerocopy-panic-in-const"
features: "--all-features"

# Exclude any combination for the zerocopy-derive crate which
# uses zerocopy features.
- crate: "zerocopy-derive"
Expand All @@ -92,6 +92,24 @@ jobs:
toolchain: "zerocopy-aarch64-simd"
- crate: "zerocopy-derive"
toolchain: "zerocopy-panic-in-const"
# Exclude most targets during PR development, but allow them in the
# merge queue. This speeds up our development flow, while still
# ensuring that errors on these targets are caught before a PR is
# merged to main.
- target: "arm-unknown-linux-gnueabi"
event_name: "pull_request"
- target: "aarch64-unknown-linux-gnu"
event_name: "pull_request"
- target: "powerpc-unknown-linux-gnu"
event_name: "pull_request"
- target: "powerpc64-unknown-linux-gnu"
event_name: "pull_request"
- target: "riscv64gc-unknown-linux-gnu"
event_name: "pull_request"
- target: "s390x-unknown-linux-gnu"
event_name: "pull_request"
- target: "wasm32-wasi"
event_name: "pull_request"

name: Build & Test (${{ matrix.crate }} / ${{ matrix.toolchain }} / ${{ matrix.features }} / ${{ matrix.target }})

Expand Down

0 comments on commit 134b798

Please sign in to comment.