@@ -3,9 +3,9 @@ name: CICD
33# spell-checker:ignore (abbrev/names) CACHEDIR CICD CodeCOV MacOS MinGW MSVC musl taiki
44# spell-checker:ignore (env/flags) Awarnings Ccodegen Coverflow Cpanic Dwarnings RUSTDOCFLAGS RUSTFLAGS Zpanic CARGOFLAGS CLEVEL nodocs
55# spell-checker:ignore (jargon) SHAs deps dequote softprops subshell toolchain fuzzers dedupe devel profdata
6- # spell-checker:ignore (people) Peltoche rivy dtolnay Anson dawidd
6+ # spell-checker:ignore (people) Peltoche rivy Anson dawidd
77# spell-checker:ignore (shell/tools) binutils choco clippy dmake esac fakeroot fdesc fdescfs gmake grcov halium lcov libclang libfuse libssl limactl nextest nocross pacman popd printf pushd redoxer rsync rustc rustfmt rustup shopt sccache utmpdump xargs zstd
8- # spell-checker:ignore (misc) aarch alnum armhf bindir busytest coreutils defconfig DESTDIR gecos getenforce gnueabihf issuecomment maint manpages msys multisize noconfirm nofeatures nullglob onexitbegin onexitend pell runtest Swatinem tempfile testsuite toybox uutils libsystemd codspeed wasip
8+ # spell-checker:ignore (misc) aarch alnum armhf bindir busytest coreutils defconfig DESTDIR gecos getenforce gnueabihf issuecomment maint manpages msys multisize noconfirm nofeatures nullglob onexitbegin onexitend pell runtest tempfile testsuite toybox uutils libsystemd codspeed wasip libexecinfo
99
1010env :
1111 PROJECT_NAME : coreutils
@@ -102,7 +102,7 @@ jobs:
102102# for now, don't build it on mac & windows because the doc is only published from linux
103103# + it needs a bunch of duplication for build
104104# and I don't want to add a doc step in the regular build to avoid long builds
105- # - { os: macos-latest , features: feat_os_macos }
105+ # - { os: macos-latest , features: feat_os_unix }
106106# - { os: windows-latest , features: feat_os_windows }
107107 steps :
108108 - uses : actions/checkout@v6
@@ -152,7 +152,7 @@ jobs:
152152 shell : bash
153153 run : |
154154 RUSTDOCFLAGS="-Dwarnings" cargo doc ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }} --no-deps --workspace --document-private-items
155- - uses : DavidAnson/markdownlint-cli2-action@v22
155+ - uses : DavidAnson/markdownlint-cli2-action@v23
156156 with :
157157 fix : " true"
158158 globs : |
@@ -237,7 +237,7 @@ jobs:
237237 RUST_BACKTRACE : " 1"
238238 - name : Upload test results to Codecov
239239 if : ${{ !cancelled() }}
240- uses : codecov/codecov-action@v5
240+ uses : codecov/codecov-action@v6
241241 with :
242242 token : ${{ secrets.CODECOV_TOKEN }}
243243 report_type : test_results
@@ -277,7 +277,7 @@ jobs:
277277 matrix :
278278 job :
279279 - { os: ubuntu-latest , features: feat_os_unix }
280- - { os: macos-latest , features: feat_os_macos }
280+ - { os: macos-latest , features: feat_os_unix }
281281 - { os: windows-latest , features: feat_os_windows }
282282 steps :
283283 - uses : actions/checkout@v6
@@ -301,7 +301,7 @@ jobs:
301301 RUST_BACKTRACE : " 1"
302302 - name : Upload test results to Codecov
303303 if : ${{ !cancelled() }}
304- uses : codecov/codecov-action@v5
304+ uses : codecov/codecov-action@v6
305305 with :
306306 token : ${{ secrets.CODECOV_TOKEN }}
307307 report_type : test_results
@@ -320,7 +320,7 @@ jobs:
320320 matrix :
321321 job :
322322 - { os: ubuntu-latest , features: feat_os_unix }
323- - { os: macos-latest , features: feat_os_macos }
323+ - { os: macos-latest , features: feat_os_unix }
324324 - { os: windows-latest , features: feat_os_windows }
325325 steps :
326326 - uses : actions/checkout@v6
@@ -344,7 +344,7 @@ jobs:
344344 RUST_BACKTRACE : " 1"
345345 - name : Upload test results to Codecov
346346 if : ${{ !cancelled() }}
347- uses : codecov/codecov-action@v5
347+ uses : codecov/codecov-action@v6
348348 with :
349349 token : ${{ secrets.CODECOV_TOKEN }}
350350 report_type : test_results
@@ -378,14 +378,13 @@ jobs:
378378 - { os: ubuntu-latest , target: x86_64-unknown-linux-gnu , features: "feat_os_unix,test_risky_names", use-cross: use-cross, skip-publish: true }
379379 - { os: ubuntu-latest , target: x86_64-unknown-linux-gnu , features: "feat_os_unix,uudoc" , use-cross: no, workspace-tests: true }
380380 - { os: ubuntu-latest , target: x86_64-unknown-linux-musl , features: feat_os_unix_musl , use-cross: use-cross }
381- # utmpx, chroot stdbuf is broken on NetBSD at least for...
382- - { os: ubuntu-latest , target: x86_64-unknown-netbsd , features: "feat_Tier1" , use-cross: use-cross , skip-tests: true , check-only: true }
381+ - { os: ubuntu-latest , target: x86_64-unknown-netbsd, features: "feat_os_unix", use-cross: use-cross , skip-tests: true , check-only: true }
383382 - { os: ubuntu-latest , target: x86_64-unknown-redox , features: feat_os_unix_redox , use-cross: redoxer , skip-tests: true , check-only: true }
384383 - { os: ubuntu-latest , target: wasm32-wasip1, default-features: false, features: feat_wasm, skip-tests: true }
385- - { os: macos-latest , target: aarch64-apple-darwin , features: feat_os_macos , workspace-tests: true } # M1 CPU
384+ - { os: macos-latest , target: aarch64-apple-darwin , features: feat_os_unix , workspace-tests: true } # M1 CPU
386385 # PR #7964: chcon should not break build without the feature. cargo check is enough to detect it.
387386 - { os: macos-latest , target: aarch64-apple-darwin , workspace-tests: true, check-only: true } # M1 CPU
388- - { os: macos-latest , target: x86_64-apple-darwin , features: feat_os_macos , workspace-tests: true }
387+ - { os: macos-latest , target: x86_64-apple-darwin , features: feat_os_unix , workspace-tests: true }
389388 - { os: windows-latest , target: i686-pc-windows-msvc , features: feat_os_windows }
390389 - { os: windows-latest , target: x86_64-pc-windows-gnu , features: feat_os_windows }
391390 - { os: windows-latest , target: x86_64-pc-windows-msvc , features: feat_os_windows }
@@ -505,9 +504,16 @@ jobs:
505504 ;;
506505 esac
507506 - uses : taiki-e/install-action@v2
508- if : steps.vars.outputs.CARGO_CMD == 'cross'
507+ # `cross` v0.2.5 lacks `libexecinfo` on NetBSD. However, this has been added in main.
508+ # See https://github.com/cross-rs/cross/blob/main/docker/netbsd.sh
509+ # We are pulling cross from a specific commit hash rather than HEAD to avoid any potential breakage that may be introduced.
510+ # Once `cross` v0.3 is out, these conditionals can be removed.
511+ if : steps.vars.outputs.CARGO_CMD == 'cross' && matrix.job.target != 'x86_64-unknown-netbsd'
509512 with :
510513 tool : cross@0.2.5
514+ - name : Install cross from git (NetBSD)
515+ if : steps.vars.outputs.CARGO_CMD == 'cross' && matrix.job.target == 'x86_64-unknown-netbsd'
516+ run : cargo install cross --git https://github.com/cross-rs/cross --rev f86fd03bb70b4c6802847c18087e21391498b0b4
511517 - name : Create all needed build/work directories
512518 shell : bash
513519 run : |
@@ -604,7 +610,7 @@ jobs:
604610 if : matrix.job.skip-publish != true && matrix.job.check-only == true
605611 run : |
606612 # expr breaks redox
607- sed -i.b '/"expr",/d' Cargo.toml
613+ if [[ "${{ matrix.job.target }}" == *"redox"* ]]; then sed -i.b '/"expr",/d' Cargo.toml; fi
608614 ${{ steps.vars.outputs.CARGO_CMD }} ${{ steps.vars.outputs.CARGO_CMD_OPTIONS }} check \
609615 --target=${{ matrix.job.target }} ${{ matrix.job.cargo-options }} ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }} ${{ steps.vars.outputs.CARGO_DEFAULT_FEATURES_OPTION }}
610616 - name : Test
@@ -625,7 +631,7 @@ jobs:
625631 ${{ steps.vars.outputs.CARGO_CMD }} ${{ steps.vars.outputs.CARGO_CMD_OPTIONS }} build --release --config=profile.release.strip=true \
626632 --target=${{ matrix.job.target }} ${{ matrix.job.cargo-options }} ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }} ${{ steps.vars.outputs.CARGO_DEFAULT_FEATURES_OPTION }}
627633 # We don't want to have many duplicated long jobs at here
628- # So we build individual binaries for few platforms until we deduplicate many release build for Linux
634+ # So we build individual binaries for few platforms until we deduplicate many release build for Linux
629635 - name : Build individual binaries
630636 if : matrix.job.skip-tests != true && matrix.job.target == 'x86_64-pc-windows-msvc'
631637 shell : bash
@@ -799,7 +805,7 @@ jobs:
799805 # RUSTUP_TOOLCHAIN: ${{ steps.vars.outputs.TOOLCHAIN }}
800806
801807 - name : Upload coverage results (to Codecov.io)
802- uses : codecov/codecov-action@v5
808+ uses : codecov/codecov-action@v6
803809 with :
804810 token : ${{ secrets.CODECOV_TOKEN }}
805811 files : ${{ steps.run_test_cov.outputs.report }}
@@ -809,7 +815,7 @@ jobs:
809815 fail_ci_if_error : false
810816 - name : Upload test results to Codecov
811817 if : ${{ !cancelled() }}
812- uses : codecov/codecov-action@v5
818+ uses : codecov/codecov-action@v6
813819 with :
814820 token : ${{ secrets.CODECOV_TOKEN }}
815821 report_type : test_results
@@ -860,7 +866,7 @@ jobs:
860866 fail-fast : false
861867 matrix :
862868 job :
863- - { os: macos-latest , features: feat_os_macos }
869+ - { os: macos-latest , features: feat_os_unix }
864870 - { os: windows-latest , features: feat_os_windows }
865871
866872 steps :
0 commit comments