diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 000000000..604d3631a --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,9 @@ + +R-loom: +- ./tokio/src/sync/* +- ./tokio/src/sync/**/* +- ./tokio-util/src/sync/* +- ./tokio-util/src/sync/**/* +- ./tokio/src/runtime/* +- ./tokio/src/runtime/**/* + diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c49daf03f..49be1f456 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,8 +27,8 @@ jobs: - fmt - clippy - docs - - loom - valgrind + - loom-compile - check-readme steps: - run: exit 0 @@ -300,30 +300,19 @@ jobs: RUSTFLAGS: --cfg docsrs RUSTDOCFLAGS: --cfg docsrs -Dwarnings - loom: - name: loom + loom-compile: + name: build loom tests 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 run: rustup update stable - uses: Swatinem/rust-cache@v1 - - name: loom ${{ matrix.scope }} - run: cargo test --lib --release --features full -- --nocapture $SCOPE + - name: build --cfg loom + run: cargo test --no-run --lib --features full working-directory: tokio env: RUSTFLAGS: --cfg loom --cfg tokio_unstable -Dwarnings - LOOM_MAX_PREEMPTIONS: 2 - SCOPE: ${{ matrix.scope }} check-readme: name: Check README diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 000000000..4386c3815 --- /dev/null +++ b/.github/workflows/labeler.yml @@ -0,0 +1,13 @@ +name: "Pull Request Labeler" +on: +- pull_request_target + +# See .github/labeler.yml file + +jobs: + triage: + runs-on: ubuntu-latest + steps: + - uses: actions/labeler@v3 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/loom.yml b/.github/workflows/loom.yml new file mode 100644 index 000000000..9b26ff5d0 --- /dev/null +++ b/.github/workflows/loom.yml @@ -0,0 +1,41 @@ +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 + nightly: nightly-2021-07-09 + +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 + run: rustup update stable + - 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 }}