mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-16 00:00:12 +02:00
When backporting patches to LTS branches, we often run into CI failures due to changes in rust. Newer rust versions add more lints, which break CI. We really don't want to also have to backport patches that fix CI, so instead, LTS branches should pin the stable rust version in CI (e.g. #4434). This PR restructures the CI config files to make it a bit easier to set a specific rust version in CI.
46 lines
1.2 KiB
YAML
46 lines
1.2 KiB
YAML
on:
|
|
push:
|
|
branches: ["master", "tokio-*.x"]
|
|
pull_request:
|
|
types: [labeled, opened, synchronize, reopened]
|
|
branches: ["master", "tokio-*.x"]
|
|
|
|
name: Loom
|
|
|
|
env:
|
|
RUSTFLAGS: -Dwarnings
|
|
RUST_BACKTRACE: 1
|
|
# Change to specific Rust release to pin
|
|
rust_stable: stable
|
|
|
|
jobs:
|
|
loom:
|
|
name: loom
|
|
# base_ref is null when it's not a pull request
|
|
if: contains(github.event.pull_request.labels.*.name, 'R-loom') || (github.base_ref == null)
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
scope:
|
|
- --skip loom_pool
|
|
- loom_pool::group_a
|
|
- loom_pool::group_b
|
|
- loom_pool::group_c
|
|
- loom_pool::group_d
|
|
- time::driver
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install Rust ${{ env.rust_stable }}
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: ${{ env.rust_stable }}
|
|
override: true
|
|
- uses: Swatinem/rust-cache@v1
|
|
- name: loom ${{ matrix.scope }}
|
|
run: cargo test --lib --release --features full -- --nocapture $SCOPE
|
|
working-directory: tokio
|
|
env:
|
|
RUSTFLAGS: --cfg loom --cfg tokio_unstable -Dwarnings
|
|
LOOM_MAX_PREEMPTIONS: 2
|
|
SCOPE: ${{ matrix.scope }}
|