@@ -350,6 +350,40 @@ jobs:
350350          #  the unstable cfg to RustDoc
351351          RUSTDOCFLAGS : --cfg tokio_unstable --cfg tokio_taskdump 
352352
353+   test-unstable-uring :
354+     name : test tokio full --cfg tokio_unstable_uring 
355+     needs : basics 
356+     runs-on : ${{ matrix.os }} 
357+     strategy :
358+       matrix :
359+         include :
360+           - os : ubuntu-latest 
361+     steps :
362+       - uses : actions/checkout@v4 
363+       - name : Install Rust ${{ env.rust_stable }} 
364+         uses : dtolnay/rust-toolchain@stable 
365+         with :
366+             toolchain : ${{ env.rust_stable }} 
367+ 
368+       - name : Install cargo-nextest 
369+         uses : taiki-e/install-action@v2 
370+         with :
371+           tool : cargo-nextest 
372+ 
373+       - uses : Swatinem/rust-cache@v2 
374+       #  Run `tokio` with "unstable" and "taskdump" cfg flags.
375+       - name : test tokio full --cfg tokio_unstable_uring 
376+         run : | 
377+           set -euxo pipefail 
378+           cargo nextest run --all-features 
379+           cargo test --doc --all-features 
380+ working-directory : tokio 
381+         env :
382+           RUSTFLAGS : --cfg tokio_unstable_uring -Dwarnings 
383+           #  in order to run doctests for unstable features, we must also pass
384+           #  the unstable cfg to RustDoc
385+           RUSTDOCFLAGS : --cfg tokio_unstable_uring 
386+ 
353387  check-unstable-mt-counters :
354388    name : check tokio full --internal-mt-counters 
355389    needs : basics 
@@ -664,7 +698,7 @@ jobs:
664698          cargo test --doc -Zbuild-std --target target-specs/i686-unknown-linux-gnu.json -p tokio --all-features 
665699env :
666700          RUST_TEST_THREADS : 1 
667-           RUSTFLAGS : --cfg tokio_unstable --cfg tokio_taskdump -Dwarnings --cfg tokio_no_tuning_tests 
701+           RUSTFLAGS : --cfg tokio_unstable --cfg tokio_taskdump --cfg=io_uring_skip_arch_check - Dwarnings --cfg tokio_no_tuning_tests 
668702
669703  no-atomic-u64-check :
670704    name : Check tokio --feature-powerset --depth 2 on i686-unknown-linux-gnu without AtomicU64 
@@ -702,7 +736,7 @@ jobs:
702736          #  Try with unstable feature flags
703737          - { name: "--unstable", rustflags: "--cfg tokio_unstable -Dwarnings" } 
704738          #  Try with unstable and taskdump feature flags
705-           - { name: "--unstable --taskdump", rustflags: "--cfg tokio_unstable -Dwarnings --cfg tokio_taskdump" } 
739+           - { name: "--unstable --taskdump", rustflags: "--cfg tokio_unstable -Dwarnings --cfg tokio_taskdump --cfg tokio_unstable_uring " } 
706740    steps :
707741      - uses : actions/checkout@v4 
708742      - name : Install Rust ${{ env.rust_nightly }} 
@@ -765,7 +799,7 @@ jobs:
765799          cargo hack check --all-features --ignore-private 
766800name : " check --all-features --unstable -Z minimal-versions" 
767801        env :
768-           RUSTFLAGS : --cfg tokio_unstable --cfg tokio_taskdump -Dwarnings 
802+           RUSTFLAGS : --cfg tokio_unstable --cfg tokio_taskdump --cfg tokio_unstable_uring - Dwarnings 
769803        run : | 
770804          # Remove dev-dependencies from Cargo.toml to prevent the next `cargo update` 
771805          # from determining minimal versions based on dev-dependencies. 
@@ -817,8 +851,8 @@ jobs:
817851        run :
818852          - os : windows-latest 
819853          - os : ubuntu-latest 
820-             RUSTFLAGS : --cfg tokio_taskdump 
821-             RUSTDOCFLAGS : --cfg tokio_taskdump 
854+             RUSTFLAGS : --cfg tokio_taskdump --cfg tokio_unstable_uring  
855+             RUSTDOCFLAGS : --cfg tokio_taskdump --cfg tokio_unstable_uring  
822856
823857    steps :
824858      - uses : actions/checkout@v4 
0 commit comments