mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-27 19:17:43 +00:00
Merge pull request #4771 from Joining7943/ci-improve-setup-steps-use-github-actions
`ci`: Improve and speed up setup steps using github actions
This commit is contained in:
commit
137fb4b0b5
3 changed files with 63 additions and 117 deletions
134
.github/workflows/CICD.yml
vendored
134
.github/workflows/CICD.yml
vendored
|
@ -3,7 +3,7 @@ name: CICD
|
||||||
# spell-checker:ignore (abbrev/names) CICD CodeCOV MacOS MinGW MSVC musl taiki
|
# spell-checker:ignore (abbrev/names) CICD CodeCOV MacOS MinGW MSVC musl taiki
|
||||||
# spell-checker:ignore (env/flags) Awarnings Ccodegen Coverflow Cpanic Dwarnings RUSTDOCFLAGS RUSTFLAGS Zpanic CARGOFLAGS
|
# spell-checker:ignore (env/flags) Awarnings Ccodegen Coverflow Cpanic Dwarnings RUSTDOCFLAGS RUSTFLAGS Zpanic CARGOFLAGS
|
||||||
# spell-checker:ignore (jargon) SHAs deps dequote softprops subshell toolchain fuzzers
|
# spell-checker:ignore (jargon) SHAs deps dequote softprops subshell toolchain fuzzers
|
||||||
# spell-checker:ignore (people) Peltoche rivy
|
# spell-checker:ignore (people) Peltoche rivy dtolnay
|
||||||
# spell-checker:ignore (shell/tools) choco clippy dmake dpkg esac fakeroot fdesc fdescfs gmake grcov halium lcov libssl mkdir popd printf pushd rsync rustc rustfmt rustup shopt utmpdump xargs
|
# spell-checker:ignore (shell/tools) choco clippy dmake dpkg esac fakeroot fdesc fdescfs gmake grcov halium lcov libssl mkdir popd printf pushd rsync rustc rustfmt rustup shopt utmpdump xargs
|
||||||
# spell-checker:ignore (misc) aarch alnum armhf bindir busytest coreutils defconfig DESTDIR gecos gnueabihf issuecomment maint multisize nullglob onexitbegin onexitend pell runtest Swatinem tempfile testsuite toybox uutils
|
# spell-checker:ignore (misc) aarch alnum armhf bindir busytest coreutils defconfig DESTDIR gecos gnueabihf issuecomment maint multisize nullglob onexitbegin onexitend pell runtest Swatinem tempfile testsuite toybox uutils
|
||||||
|
|
||||||
|
@ -48,10 +48,10 @@ jobs:
|
||||||
- { os: windows-latest , features: feat_os_windows }
|
- { os: windows-latest , features: feat_os_windows }
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Install `rust` toolchain
|
- uses: dtolnay/rust-toolchain@nightly
|
||||||
run: |
|
## note: requires 'nightly' toolchain b/c `cargo-udeps` uses the `rustc` '-Z save-analysis' option
|
||||||
rustup toolchain install nightly --no-self-update --profile minimal
|
## * ... ref: <https://github.com/est31/cargo-udeps/issues/73>
|
||||||
rustup default nightly
|
- uses: taiki-e/install-action@cargo-udeps
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
- name: Initialize workflow variables
|
- name: Initialize workflow variables
|
||||||
id: vars
|
id: vars
|
||||||
|
@ -70,12 +70,6 @@ jobs:
|
||||||
CARGO_FEATURES_OPTION='' ;
|
CARGO_FEATURES_OPTION='' ;
|
||||||
if [ -n "${{ matrix.job.features }}" ]; then CARGO_FEATURES_OPTION='--features "${{ matrix.job.features }}"' ; fi
|
if [ -n "${{ matrix.job.features }}" ]; then CARGO_FEATURES_OPTION='--features "${{ matrix.job.features }}"' ; fi
|
||||||
outputs CARGO_FEATURES_OPTION
|
outputs CARGO_FEATURES_OPTION
|
||||||
## note: requires 'nightly' toolchain b/c `cargo-udeps` uses the `rustc` '-Z save-analysis' option
|
|
||||||
## * ... ref: <https://github.com/est31/cargo-udeps/issues/73>
|
|
||||||
- name: Install `cargo-udeps`
|
|
||||||
run: cargo install cargo-udeps
|
|
||||||
env:
|
|
||||||
RUSTUP_TOOLCHAIN: stable
|
|
||||||
- name: Detect unused dependencies
|
- name: Detect unused dependencies
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
@ -98,11 +92,10 @@ jobs:
|
||||||
- { os: ubuntu-latest , features: feat_os_unix }
|
- { os: ubuntu-latest , features: feat_os_unix }
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Install `rust` toolchain
|
- uses: dtolnay/rust-toolchain@master
|
||||||
run: |
|
with:
|
||||||
## Install `rust` toolchain
|
toolchain: stable
|
||||||
rustup toolchain install stable --no-self-update -c rustfmt --profile minimal
|
components: rustfmt
|
||||||
rustup default stable
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
- name: Initialize workflow variables
|
- name: Initialize workflow variables
|
||||||
id: vars
|
id: vars
|
||||||
|
@ -139,10 +132,7 @@ jobs:
|
||||||
RUN_FOR: 60
|
RUN_FOR: 60
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Install `rust` toolchain
|
- uses: dtolnay/rust-toolchain@nightly
|
||||||
run: |
|
|
||||||
rustup toolchain install nightly --no-self-update --profile minimal
|
|
||||||
rustup default nightly
|
|
||||||
- name: Install `cargo-fuzz`
|
- name: Install `cargo-fuzz`
|
||||||
run: cargo install cargo-fuzz
|
run: cargo install cargo-fuzz
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
@ -186,11 +176,10 @@ jobs:
|
||||||
- { os: windows-latest , features: feat_os_windows }
|
- { os: windows-latest , features: feat_os_windows }
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Install `rust` toolchain
|
- uses: dtolnay/rust-toolchain@master
|
||||||
run: |
|
with:
|
||||||
## Install `rust` toolchain
|
toolchain: stable
|
||||||
rustup toolchain install stable --no-self-update -c clippy --profile minimal
|
components: clippy
|
||||||
rustup default stable
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
- name: Run sccache-cache
|
- name: Run sccache-cache
|
||||||
uses: mozilla-actions/sccache-action@v0.0.3
|
uses: mozilla-actions/sccache-action@v0.0.3
|
||||||
|
@ -297,11 +286,10 @@ jobs:
|
||||||
# - { os: windows-latest , features: feat_os_windows }
|
# - { os: windows-latest , features: feat_os_windows }
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Install `rust` toolchain
|
- uses: dtolnay/rust-toolchain@master
|
||||||
run: |
|
with:
|
||||||
## Install `rust` toolchain
|
toolchain: stable
|
||||||
rustup toolchain install stable --no-self-update -c clippy --profile minimal
|
components: clippy
|
||||||
rustup default stable
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
- name: Run sccache-cache
|
- name: Run sccache-cache
|
||||||
uses: mozilla-actions/sccache-action@v0.0.3
|
uses: mozilla-actions/sccache-action@v0.0.3
|
||||||
|
@ -351,13 +339,12 @@ jobs:
|
||||||
- { os: ubuntu-latest , features: feat_os_unix }
|
- { os: ubuntu-latest , features: feat_os_unix }
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Install `rust` toolchain (v${{ env.RUST_MIN_SRV }})
|
- uses: dtolnay/rust-toolchain@master
|
||||||
run: |
|
with:
|
||||||
## Install `rust` toolchain (v${{ env.RUST_MIN_SRV }})
|
toolchain: ${{ env.RUST_MIN_SRV }}
|
||||||
rustup toolchain install --no-self-update ${{ env.RUST_MIN_SRV }} --profile minimal
|
components: rustfmt
|
||||||
rustup default ${{ env.RUST_MIN_SRV }}
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
|
||||||
- uses: taiki-e/install-action@nextest
|
- uses: taiki-e/install-action@nextest
|
||||||
|
- uses: Swatinem/rust-cache@v2
|
||||||
- name: Run sccache-cache
|
- name: Run sccache-cache
|
||||||
uses: mozilla-actions/sccache-action@v0.0.3
|
uses: mozilla-actions/sccache-action@v0.0.3
|
||||||
- name: Initialize workflow variables
|
- name: Initialize workflow variables
|
||||||
|
@ -409,7 +396,6 @@ jobs:
|
||||||
env:
|
env:
|
||||||
RUSTFLAGS: "-Awarnings"
|
RUSTFLAGS: "-Awarnings"
|
||||||
RUST_BACKTRACE: "1"
|
RUST_BACKTRACE: "1"
|
||||||
CARGO_TERM_COLOR: always
|
|
||||||
|
|
||||||
deps:
|
deps:
|
||||||
name: Dependencies
|
name: Dependencies
|
||||||
|
@ -421,11 +407,7 @@ jobs:
|
||||||
- { os: ubuntu-latest , features: feat_os_unix }
|
- { os: ubuntu-latest , features: feat_os_unix }
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Install `rust` toolchain
|
- uses: dtolnay/rust-toolchain@stable
|
||||||
run: |
|
|
||||||
## Install `rust` toolchain
|
|
||||||
rustup toolchain install stable --no-self-update --profile minimal
|
|
||||||
rustup default stable
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
- name: "`cargo update` testing"
|
- name: "`cargo update` testing"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
@ -448,11 +430,7 @@ jobs:
|
||||||
- { os: ubuntu-latest , features: feat_os_unix }
|
- { os: ubuntu-latest , features: feat_os_unix }
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Install `rust` toolchain
|
- uses: dtolnay/rust-toolchain@stable
|
||||||
run: |
|
|
||||||
## Install `rust` toolchain
|
|
||||||
rustup toolchain install stable --no-self-update --profile minimal
|
|
||||||
rustup default stable
|
|
||||||
- uses: taiki-e/install-action@nextest
|
- uses: taiki-e/install-action@nextest
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
- name: Run sccache-cache
|
- name: Run sccache-cache
|
||||||
|
@ -466,7 +444,6 @@ jobs:
|
||||||
run: make nextest CARGOFLAGS="--profile ci --hide-progress-bar"
|
run: make nextest CARGOFLAGS="--profile ci --hide-progress-bar"
|
||||||
env:
|
env:
|
||||||
RUST_BACKTRACE: "1"
|
RUST_BACKTRACE: "1"
|
||||||
CARGO_TERM_COLOR: "always"
|
|
||||||
- name: "`make install`"
|
- name: "`make install`"
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
@ -495,11 +472,7 @@ jobs:
|
||||||
- { os: windows-latest , features: feat_os_windows }
|
- { os: windows-latest , features: feat_os_windows }
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Install `rust` toolchain
|
- uses: dtolnay/rust-toolchain@stable
|
||||||
run: |
|
|
||||||
## Install `rust` toolchain
|
|
||||||
rustup toolchain install stable --no-self-update --profile minimal
|
|
||||||
rustup default stable
|
|
||||||
- uses: taiki-e/install-action@nextest
|
- uses: taiki-e/install-action@nextest
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
- name: Run sccache-cache
|
- name: Run sccache-cache
|
||||||
|
@ -508,7 +481,6 @@ jobs:
|
||||||
run: cargo nextest run --hide-progress-bar --profile ci ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }}
|
run: cargo nextest run --hide-progress-bar --profile ci ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }}
|
||||||
env:
|
env:
|
||||||
RUST_BACKTRACE: "1"
|
RUST_BACKTRACE: "1"
|
||||||
CARGO_TERM_COLOR: "always"
|
|
||||||
|
|
||||||
build_rust_nightly:
|
build_rust_nightly:
|
||||||
name: Build/nightly
|
name: Build/nightly
|
||||||
|
@ -527,11 +499,7 @@ jobs:
|
||||||
- { os: windows-latest , features: feat_os_windows }
|
- { os: windows-latest , features: feat_os_windows }
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Install `rust` toolchain
|
- uses: dtolnay/rust-toolchain@nightly
|
||||||
run: |
|
|
||||||
## Install `rust` toolchain
|
|
||||||
rustup toolchain install nightly --no-self-update --profile minimal
|
|
||||||
rustup default nightly
|
|
||||||
- uses: taiki-e/install-action@nextest
|
- uses: taiki-e/install-action@nextest
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
- name: Run sccache-cache
|
- name: Run sccache-cache
|
||||||
|
@ -540,7 +508,6 @@ jobs:
|
||||||
run: cargo nextest run --hide-progress-bar --profile ci ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }}
|
run: cargo nextest run --hide-progress-bar --profile ci ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }}
|
||||||
env:
|
env:
|
||||||
RUST_BACKTRACE: "1"
|
RUST_BACKTRACE: "1"
|
||||||
CARGO_TERM_COLOR: "always"
|
|
||||||
|
|
||||||
compute_size:
|
compute_size:
|
||||||
name: Binary sizes
|
name: Binary sizes
|
||||||
|
@ -556,11 +523,7 @@ jobs:
|
||||||
- { os: ubuntu-latest , features: feat_os_unix }
|
- { os: ubuntu-latest , features: feat_os_unix }
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Install `rust` toolchain
|
- uses: dtolnay/rust-toolchain@stable
|
||||||
run: |
|
|
||||||
## Install `rust` toolchain
|
|
||||||
rustup toolchain install stable --no-self-update --profile minimal
|
|
||||||
rustup default stable
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
- name: Run sccache-cache
|
- name: Run sccache-cache
|
||||||
uses: mozilla-actions/sccache-action@v0.0.3
|
uses: mozilla-actions/sccache-action@v0.0.3
|
||||||
|
@ -680,11 +643,10 @@ jobs:
|
||||||
- { os: windows-latest , target: x86_64-pc-windows-msvc , features: feat_os_windows }
|
- { os: windows-latest , target: x86_64-pc-windows-msvc , features: feat_os_windows }
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: rust toolchain ~ install
|
- uses: dtolnay/rust-toolchain@master
|
||||||
run: |
|
with:
|
||||||
## rust toolchain ~ install
|
toolchain: ${{ env.RUST_MIN_SRV }}
|
||||||
rustup toolchain install --no-self-update ${{ env.RUST_MIN_SRV }} -t ${{ matrix.job.target }} --profile minimal
|
targets: ${{ matrix.job.target }}
|
||||||
rustup default ${{ env.RUST_MIN_SRV }}
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
with:
|
with:
|
||||||
key: "${{ matrix.job.os }}_${{ matrix.job.target }}"
|
key: "${{ matrix.job.os }}_${{ matrix.job.target }}"
|
||||||
|
@ -765,8 +727,7 @@ jobs:
|
||||||
outputs CARGO_CMD
|
outputs CARGO_CMD
|
||||||
# ** pass needed environment into `cross` container (iff `cross` not already configured via "Cross.toml")
|
# ** pass needed environment into `cross` container (iff `cross` not already configured via "Cross.toml")
|
||||||
if [ "${CARGO_CMD}" = 'cross' ] && [ ! -e "Cross.toml" ] ; then
|
if [ "${CARGO_CMD}" = 'cross' ] && [ ! -e "Cross.toml" ] ; then
|
||||||
cargo install --version 0.2.1 cross
|
printf "[build.env]\npassthrough = [\"CI\", \"RUST_BACKTRACE\", \"CARGO_TERM_COLOR\"]\n" > Cross.toml
|
||||||
printf "[build.env]\npassthrough = [\"CI\", \"RUST_BACKTRACE\"]\n" > Cross.toml
|
|
||||||
fi
|
fi
|
||||||
# * test only library and/or binaries for arm-type targets
|
# * test only library and/or binaries for arm-type targets
|
||||||
unset CARGO_TEST_OPTIONS ; case '${{ matrix.job.target }}' in aarch64-* | arm-*) CARGO_TEST_OPTIONS="--bins" ;; esac;
|
unset CARGO_TEST_OPTIONS ; case '${{ matrix.job.target }}' in aarch64-* | arm-*) CARGO_TEST_OPTIONS="--bins" ;; esac;
|
||||||
|
@ -779,6 +740,10 @@ jobs:
|
||||||
*-pc-windows-msvc) STRIP="" ;;
|
*-pc-windows-msvc) STRIP="" ;;
|
||||||
esac;
|
esac;
|
||||||
outputs STRIP
|
outputs STRIP
|
||||||
|
- uses: taiki-e/install-action@v2
|
||||||
|
if: steps.vars.outputs.CARGO_CMD == 'cross'
|
||||||
|
with:
|
||||||
|
tool: cross@0.2.1
|
||||||
- name: Create all needed build/work directories
|
- name: Create all needed build/work directories
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
@ -1017,11 +982,10 @@ jobs:
|
||||||
TEST_SUMMARY_FILE="toybox-result.json"
|
TEST_SUMMARY_FILE="toybox-result.json"
|
||||||
outputs TEST_SUMMARY_FILE
|
outputs TEST_SUMMARY_FILE
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: rust toolchain ~ install
|
- uses: dtolnay/rust-toolchain@master
|
||||||
run: |
|
with:
|
||||||
## rust toolchain ~ install
|
toolchain: ${{ env.RUST_MIN_SRV }}
|
||||||
rustup toolchain install --no-self-update ${{ env.RUST_MIN_SRV }} --profile minimal
|
components: rustfmt
|
||||||
rustup default ${{ env.RUST_MIN_SRV }}
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
- name: Run sccache-cache
|
- name: Run sccache-cache
|
||||||
uses: mozilla-actions/sccache-action@v0.0.3
|
uses: mozilla-actions/sccache-action@v0.0.3
|
||||||
|
@ -1100,12 +1064,12 @@ jobs:
|
||||||
- { os: windows-latest , features: windows, toolchain: nightly-x86_64-pc-windows-gnu }
|
- { os: windows-latest , features: windows, toolchain: nightly-x86_64-pc-windows-gnu }
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: rust toolchain ~ install
|
- uses: dtolnay/rust-toolchain@master
|
||||||
run: |
|
with:
|
||||||
## rust toolchain ~ install
|
toolchain: ${{ matrix.job.toolchain }}
|
||||||
rustup toolchain install ${{ matrix.job.toolchain }} --no-self-update --profile minimal
|
components: rustfmt
|
||||||
rustup default ${{ matrix.job.toolchain }}
|
|
||||||
- uses: taiki-e/install-action@nextest
|
- uses: taiki-e/install-action@nextest
|
||||||
|
- uses: taiki-e/install-action@grcov
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
- name: Run sccache-cache
|
- name: Run sccache-cache
|
||||||
uses: mozilla-actions/sccache-action@v0.0.3
|
uses: mozilla-actions/sccache-action@v0.0.3
|
||||||
|
@ -1170,7 +1134,6 @@ jobs:
|
||||||
- name: Test uucore
|
- name: Test uucore
|
||||||
run: cargo nextest run --profile ci --hide-progress-bar -p uucore
|
run: cargo nextest run --profile ci --hide-progress-bar -p uucore
|
||||||
env:
|
env:
|
||||||
CARGO_INCREMENTAL: "0"
|
|
||||||
RUSTC_WRAPPER: ""
|
RUSTC_WRAPPER: ""
|
||||||
RUSTFLAGS: "-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort"
|
RUSTFLAGS: "-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort"
|
||||||
RUSTDOCFLAGS: "-Cpanic=abort"
|
RUSTDOCFLAGS: "-Cpanic=abort"
|
||||||
|
@ -1179,7 +1142,6 @@ jobs:
|
||||||
- name: Test
|
- name: Test
|
||||||
run: cargo nextest run --profile ci --hide-progress-bar ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }}
|
run: cargo nextest run --profile ci --hide-progress-bar ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }}
|
||||||
env:
|
env:
|
||||||
CARGO_INCREMENTAL: "0"
|
|
||||||
RUSTC_WRAPPER: ""
|
RUSTC_WRAPPER: ""
|
||||||
RUSTFLAGS: "-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort"
|
RUSTFLAGS: "-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort"
|
||||||
RUSTDOCFLAGS: "-Cpanic=abort"
|
RUSTDOCFLAGS: "-Cpanic=abort"
|
||||||
|
@ -1188,15 +1150,11 @@ jobs:
|
||||||
- name: Test individual utilities
|
- name: Test individual utilities
|
||||||
run: cargo nextest run --profile ci --hide-progress-bar ${{ steps.dep_vars.outputs.CARGO_UTILITY_LIST_OPTIONS }}
|
run: cargo nextest run --profile ci --hide-progress-bar ${{ steps.dep_vars.outputs.CARGO_UTILITY_LIST_OPTIONS }}
|
||||||
env:
|
env:
|
||||||
CARGO_INCREMENTAL: "0"
|
|
||||||
RUSTC_WRAPPER: ""
|
RUSTC_WRAPPER: ""
|
||||||
RUSTFLAGS: "-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort"
|
RUSTFLAGS: "-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort"
|
||||||
RUSTDOCFLAGS: "-Cpanic=abort"
|
RUSTDOCFLAGS: "-Cpanic=abort"
|
||||||
RUST_BACKTRACE: "1"
|
RUST_BACKTRACE: "1"
|
||||||
# RUSTUP_TOOLCHAIN: ${{ steps.vars.outputs.TOOLCHAIN }}
|
# RUSTUP_TOOLCHAIN: ${{ steps.vars.outputs.TOOLCHAIN }}
|
||||||
- name: "`grcov` ~ install"
|
|
||||||
id: build_grcov
|
|
||||||
run: cargo install grcov
|
|
||||||
- name: Generate coverage data (via `grcov`)
|
- name: Generate coverage data (via `grcov`)
|
||||||
id: coverage
|
id: coverage
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
18
.github/workflows/FixPR.yml
vendored
18
.github/workflows/FixPR.yml
vendored
|
@ -1,6 +1,6 @@
|
||||||
name: FixPR
|
name: FixPR
|
||||||
|
|
||||||
# spell-checker:ignore Swatinem
|
# spell-checker:ignore Swatinem dtolnay
|
||||||
|
|
||||||
# Trigger automated fixes for PRs being merged (with associated commits)
|
# Trigger automated fixes for PRs being merged (with associated commits)
|
||||||
|
|
||||||
|
@ -36,11 +36,7 @@ jobs:
|
||||||
# surface MSRV from CICD workflow
|
# surface MSRV from CICD workflow
|
||||||
RUST_MIN_SRV=$(grep -P "^\s+RUST_MIN_SRV:" .github/workflows/CICD.yml | grep -Po "(?<=\x22)\d+[.]\d+(?:[.]\d+)?(?=\x22)" )
|
RUST_MIN_SRV=$(grep -P "^\s+RUST_MIN_SRV:" .github/workflows/CICD.yml | grep -Po "(?<=\x22)\d+[.]\d+(?:[.]\d+)?(?=\x22)" )
|
||||||
outputs RUST_MIN_SRV
|
outputs RUST_MIN_SRV
|
||||||
- name: Install `rust` toolchain (v${{ steps.vars.outputs.RUST_MIN_SRV }})
|
- uses: dtolnay/rust-toolchain@${{ steps.vars.outputs.RUST_MIN_SRV }}
|
||||||
run: |
|
|
||||||
## Install `rust` toolchain (v${{ steps.vars.outputs.RUST_MIN_SRV }})
|
|
||||||
rustup toolchain install ${{ steps.vars.outputs.RUST_MIN_SRV }} --profile minimal
|
|
||||||
rustup default ${{ steps.vars.outputs.RUST_MIN_SRV }}
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
- name: Ensure updated 'Cargo.lock'
|
- name: Ensure updated 'Cargo.lock'
|
||||||
shell: bash
|
shell: bash
|
||||||
|
@ -101,12 +97,10 @@ jobs:
|
||||||
CARGO_FEATURES_OPTION='' ;
|
CARGO_FEATURES_OPTION='' ;
|
||||||
if [ -n "${{ matrix.job.features }}" ]; then CARGO_FEATURES_OPTION='--features "${{ matrix.job.features }}"' ; fi
|
if [ -n "${{ matrix.job.features }}" ]; then CARGO_FEATURES_OPTION='--features "${{ matrix.job.features }}"' ; fi
|
||||||
outputs CARGO_FEATURES_OPTION
|
outputs CARGO_FEATURES_OPTION
|
||||||
- name: Install `rust` toolchain
|
- uses: dtolnay/rust-toolchain@master
|
||||||
run: |
|
with:
|
||||||
## Install `rust` toolchain
|
toolchain: stable
|
||||||
rm -f "${HOME}/.cargo/bin/"{rustfmt,cargo-fmt}
|
components: rustfmt
|
||||||
rustup toolchain install stable -c rustfmt --profile minimal
|
|
||||||
rustup default stable
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
- name: "`cargo fmt`"
|
- name: "`cargo fmt`"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
28
.github/workflows/GnuTests.yml
vendored
28
.github/workflows/GnuTests.yml
vendored
|
@ -2,9 +2,9 @@ name: GnuTests
|
||||||
|
|
||||||
# spell-checker:ignore (abbrev/names) CodeCov gnulib GnuTests Swatinem
|
# spell-checker:ignore (abbrev/names) CodeCov gnulib GnuTests Swatinem
|
||||||
# spell-checker:ignore (jargon) submodules
|
# spell-checker:ignore (jargon) submodules
|
||||||
# spell-checker:ignore (libs/utils) autopoint chksum gperf lcov libexpect pyinotify shopt texinfo valgrind libattr libcap
|
# spell-checker:ignore (libs/utils) autopoint chksum gperf lcov libexpect pyinotify shopt texinfo valgrind libattr libcap taiki-e
|
||||||
# spell-checker:ignore (options) Ccodegen Coverflow Cpanic Zpanic
|
# spell-checker:ignore (options) Ccodegen Coverflow Cpanic Zpanic
|
||||||
# spell-checker:ignore (people) Dawid Dziurla * dawidd
|
# spell-checker:ignore (people) Dawid Dziurla * dawidd dtolnay
|
||||||
# spell-checker:ignore (vars) FILESET SUBDIRS XPASS
|
# spell-checker:ignore (vars) FILESET SUBDIRS XPASS
|
||||||
|
|
||||||
# * note: to run a single test => `REPO/util/run-gnu-test.sh PATH/TO/TEST/SCRIPT`
|
# * note: to run a single test => `REPO/util/run-gnu-test.sh PATH/TO/TEST/SCRIPT`
|
||||||
|
@ -58,12 +58,10 @@ jobs:
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
path: '${{ steps.vars.outputs.path_UUTILS }}'
|
path: '${{ steps.vars.outputs.path_UUTILS }}'
|
||||||
- name: Install `rust` toolchain
|
- uses: dtolnay/rust-toolchain@master
|
||||||
run: |
|
with:
|
||||||
## Install `rust` toolchain
|
toolchain: stable
|
||||||
rm -f "${HOME}/.cargo/bin/"{rustfmt,cargo-fmt}
|
components: rustfmt
|
||||||
rustup toolchain install stable -c rustfmt --profile minimal
|
|
||||||
rustup default stable
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
with:
|
with:
|
||||||
workspaces: "./${{ steps.vars.outputs.path_UUTILS }} -> target"
|
workspaces: "./${{ steps.vars.outputs.path_UUTILS }} -> target"
|
||||||
|
@ -319,12 +317,11 @@ jobs:
|
||||||
path: 'gnu'
|
path: 'gnu'
|
||||||
ref: 'v9.3'
|
ref: 'v9.3'
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- name: Install `rust` toolchain
|
- uses: dtolnay/rust-toolchain@master
|
||||||
run: |
|
with:
|
||||||
## Install `rust` toolchain
|
toolchain: nightly
|
||||||
rm -f "${HOME}/.cargo/bin/"{rustfmt,cargo-fmt}
|
components: rustfmt
|
||||||
rustup toolchain install nightly -c rustfmt --profile minimal
|
- uses: taiki-e/install-action@grcov
|
||||||
rustup default nightly
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
with:
|
with:
|
||||||
workspaces: "./uutils -> target"
|
workspaces: "./uutils -> target"
|
||||||
|
@ -348,7 +345,6 @@ jobs:
|
||||||
locale -a
|
locale -a
|
||||||
- name: Build binaries
|
- name: Build binaries
|
||||||
env:
|
env:
|
||||||
CARGO_INCREMENTAL: "0"
|
|
||||||
RUSTFLAGS: "-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort"
|
RUSTFLAGS: "-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort"
|
||||||
RUSTDOCFLAGS: "-Cpanic=abort"
|
RUSTDOCFLAGS: "-Cpanic=abort"
|
||||||
run: |
|
run: |
|
||||||
|
@ -357,8 +353,6 @@ jobs:
|
||||||
UU_MAKE_PROFILE=debug bash util/build-gnu.sh
|
UU_MAKE_PROFILE=debug bash util/build-gnu.sh
|
||||||
- name: Run GNU tests
|
- name: Run GNU tests
|
||||||
run: bash uutils/util/run-gnu-test.sh
|
run: bash uutils/util/run-gnu-test.sh
|
||||||
- name: "`grcov` ~ install"
|
|
||||||
run: cargo install grcov
|
|
||||||
- name: Generate coverage data (via `grcov`)
|
- name: Generate coverage data (via `grcov`)
|
||||||
id: coverage
|
id: coverage
|
||||||
run: |
|
run: |
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue