Skip to content

Commit b7d1715

Browse files
authored
Allow feat_os_unix on NetBSD (#11470)
* Allow `feat_os_unix` on NetBSD Now that #11428 was merged, this should be fine. However, CI will still fail. See discussion on #5297 (comment) for a potential fix. Compiling `cross` from git will cost 1m 31s on a 2014 Intel® Core™ i5-4210U CPU @ 1.70GHz (4)
1 parent 395830b commit b7d1715

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

.github/workflows/CICD.yml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name: CICD
55
# spell-checker:ignore (jargon) SHAs deps dequote softprops subshell toolchain fuzzers dedupe devel profdata
66
# spell-checker:ignore (people) Peltoche rivy dtolnay 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 Swatinem tempfile testsuite toybox uutils libsystemd codspeed wasip libexecinfo
99

1010
env:
1111
PROJECT_NAME: coreutils
@@ -378,7 +378,7 @@ 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-
- { os: ubuntu-latest , target: x86_64-unknown-netbsd, features: "feat_Tier1,feat_require_unix_core,feat_require_unix_hostid,feat_require_unix_utmpx", 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 }
382382
- { os: ubuntu-latest , target: x86_64-unknown-redox , features: feat_os_unix_redox , use-cross: redoxer , skip-tests: true , check-only: true }
383383
- { os: ubuntu-latest , target: wasm32-wasip1, default-features: false, features: feat_wasm, skip-tests: true }
384384
- { os: macos-latest , target: aarch64-apple-darwin , features: feat_os_macos, workspace-tests: true } # M1 CPU
@@ -504,9 +504,20 @@ jobs:
504504
;;
505505
esac
506506
- uses: taiki-e/install-action@v2
507-
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'
508512
with:
509513
tool: cross@0.2.5
514+
- uses: dtolnay/rust-toolchain@master
515+
if: steps.vars.outputs.CARGO_CMD == 'cross' && matrix.job.target == 'x86_64-unknown-netbsd'
516+
with:
517+
toolchain: "1.92.0"
518+
- name: Install cross from git (NetBSD)
519+
if: steps.vars.outputs.CARGO_CMD == 'cross' && matrix.job.target == 'x86_64-unknown-netbsd'
520+
run: cargo +1.92.0 install cross --git https://github.com/cross-rs/cross --rev 588b3c99db52b5a9c5906fab96cfadcf1bde7863
510521
- name: Create all needed build/work directories
511522
shell: bash
512523
run: |
@@ -603,7 +614,7 @@ jobs:
603614
if: matrix.job.skip-publish != true && matrix.job.check-only == true
604615
run: |
605616
# expr breaks redox
606-
sed -i.b '/"expr",/d' Cargo.toml
617+
if [[ "${{ matrix.job.target }}" == *"redox"* ]]; then sed -i.b '/"expr",/d' Cargo.toml; fi
607618
${{ steps.vars.outputs.CARGO_CMD }} ${{ steps.vars.outputs.CARGO_CMD_OPTIONS }} check \
608619
--target=${{ matrix.job.target }} ${{ matrix.job.cargo-options }} ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }} ${{ steps.vars.outputs.CARGO_DEFAULT_FEATURES_OPTION }}
609620
- name: Test

0 commit comments

Comments
 (0)