diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index 624a7c2ab..1f12f3630 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -971,3 +971,26 @@ jobs: echo "Building and testing $f" cargo test -p "uu_$f" || exit 1 done + + test_all_features: + name: Test all features separately + needs: [ min_version, deps ] + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + - name: build and test all features individually + shell: bash + run: | + for f in $(util/show-utils.sh) + do + echo "Running tests with --features=$f and --no-default-features" + cargo test --features=$f --no-default-features + done