diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index 3ff7fdf31..b168cb332 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -116,6 +116,7 @@ jobs: outputs CARGO_FEATURES_OPTION - name: Install `rust` toolchain run: | + ## Install `rust` toolchain rm -f "${HOME}/.cargo/bin/"{rustfmt,cargo-fmt} rustup toolchain install stable -c rustfmt --profile minimal rustup default stable @@ -170,11 +171,13 @@ jobs: - name: Install/setup prerequisites shell: bash run: | + ## Install/setup prerequisites case '${{ matrix.job.os }}' in macos-latest) brew install coreutils ;; # needed for show-utils.sh esac - name: Install `rust` toolchain run: | + ## Install `rust` toolchain rustup toolchain install stable -c clippy --profile minimal rustup default stable - uses: Swatinem/rust-cache@v2 @@ -276,6 +279,7 @@ jobs: outputs CARGO_UTILITY_LIST_OPTIONS - name: Install `rust` toolchain run: | + ## Install `rust` toolchain rustup toolchain install stable -c clippy --profile minimal rustup default stable - uses: Swatinem/rust-cache@v2 @@ -307,6 +311,7 @@ jobs: outputs CARGO_FEATURES_OPTION - name: Install `rust` toolchain (v${{ env.RUST_MIN_SRV }}) run: | + ## Install `rust` toolchain (v${{ env.RUST_MIN_SRV }}) rustup toolchain install ${{ env.RUST_MIN_SRV }} --profile minimal rustup default ${{ env.RUST_MIN_SRV }} - uses: Swatinem/rust-cache@v2 @@ -361,6 +366,7 @@ jobs: - uses: actions/checkout@v3 - name: Install `rust` toolchain run: | + ## Install `rust` toolchain rustup toolchain install stable --profile minimal rustup default stable - uses: Swatinem/rust-cache@v2 @@ -384,6 +390,7 @@ jobs: - uses: actions/checkout@v3 - name: Install `rust` toolchain run: | + ## Install `rust` toolchain rustup toolchain install stable --profile minimal rustup default stable - uses: Swatinem/rust-cache@v2 @@ -415,6 +422,7 @@ jobs: - uses: actions/checkout@v3 - name: Install `rust` toolchain run: | + ## Install `rust` toolchain rustup toolchain install stable --profile minimal rustup default stable - uses: Swatinem/rust-cache@v2 @@ -439,6 +447,7 @@ jobs: - uses: actions/checkout@v3 - name: Install `rust` toolchain run: | + ## Install `rust` toolchain rustup toolchain install nightly --profile minimal rustup default nightly - uses: Swatinem/rust-cache@v2 @@ -466,19 +475,22 @@ jobs: sudo apt-get install jq - name: Install `rust` toolchain run: | + ## Install `rust` toolchain rustup toolchain install stable --profile minimal rustup default stable - uses: Swatinem/rust-cache@v2 - name: "`make install`" shell: bash run: | + ## `make install` make install DESTDIR=target/size-release/ make install MULTICALL=y DESTDIR=target/size-multi-release/ # strip the results strip target/size*/usr/local/bin/* - - name: "Compute sizes" + - name: Compute uutil release sizes shell: bash run: | + ## Compute uutil release sizes SIZE=$(du -s target/size-release/usr/local/bin/|awk '{print $1}') SIZEMULTI=$(du -s target/size-multi-release/usr/local/bin/|awk '{print $1}') jq -n \ @@ -652,6 +664,7 @@ jobs: esac - name: rust toolchain ~ install run: | + ## rust toolchain ~ install rustup toolchain install ${{ env.RUST_MIN_SRV }} -t ${{ matrix.job.target }} --profile minimal rustup default ${{ env.RUST_MIN_SRV }} - uses: Swatinem/rust-cache@v2 @@ -694,11 +707,13 @@ jobs: - name: Build shell: bash run: | + ## Build ${{ steps.vars.outputs.CARGO_CMD }} +${{ env.RUST_MIN_SRV }} build --release \ --target=${{ matrix.job.target }} ${{ matrix.job.cargo-options }} ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }} - name: Test shell: bash run: | + ## Test ${{ steps.vars.outputs.CARGO_CMD }} +${{ env.RUST_MIN_SRV }} test --target=${{ matrix.job.target }} \ ${{ steps.vars.outputs.CARGO_TEST_OPTIONS}} ${{ matrix.job.cargo-options }} ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }} env: @@ -706,6 +721,7 @@ jobs: - name: Test individual utilities shell: bash run: | + ## Test individual utilities ${{ steps.vars.outputs.CARGO_CMD }} +${{ env.RUST_MIN_SRV }} test --target=${{ matrix.job.target }} \ ${{ steps.vars.outputs.CARGO_TEST_OPTIONS}} ${{ matrix.job.cargo-options }} ${{ steps.dep_vars.outputs.CARGO_UTILITY_LIST_OPTIONS }} env: @@ -782,10 +798,11 @@ jobs: run: | ## Install/setup prerequisites make prepare-busytest - - name: "Run BusyBox test suite" + - name: Run BusyBox test suite id: summary shell: bash run: | + ## Run BusyBox test suite set -v cp .busybox-config target/debug/.config ## Run BusyBox test suite @@ -853,11 +870,13 @@ jobs: - uses: Swatinem/rust-cache@v2 - name: rust toolchain ~ install run: | + ## rust toolchain ~ install rustup toolchain install ${{ env.RUST_MIN_SRV }} --profile minimal rustup default ${{ env.RUST_MIN_SRV }} - - name: "Build coreutils as multiple binaries" + - name: Build coreutils as multiple binaries shell: bash run: | + ## Build individual uutil binaries set -v make - name: Install/setup prerequisites @@ -865,12 +884,12 @@ jobs: run: | ## Install/setup prerequisites make toybox-src - - name: "Run Toybox test suite" + - name: Run Toybox test suite id: summary shell: bash run: | - set -v ## Run Toybox test suite + set -v cd tmp/toybox-*/ make defconfig make tests &> tmp.log || true @@ -1107,6 +1126,7 @@ jobs: esac - name: rust toolchain ~ install run: | + ## rust toolchain ~ install rustup toolchain install ${{ steps.vars.outputs.TOOLCHAIN }} --profile minimal rustup default ${{ steps.vars.outputs.TOOLCHAIN }} - uses: Swatinem/rust-cache@v2 diff --git a/.github/workflows/FixPR.yml b/.github/workflows/FixPR.yml index 0227a5fa9..52561fb36 100644 --- a/.github/workflows/FixPR.yml +++ b/.github/workflows/FixPR.yml @@ -38,6 +38,7 @@ jobs: outputs RUST_MIN_SRV - name: Install `rust` toolchain (v${{ 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 @@ -102,6 +103,7 @@ jobs: outputs CARGO_FEATURES_OPTION - name: Install `rust` toolchain run: | + ## Install `rust` toolchain rm -f "${HOME}/.cargo/bin/"{rustfmt,cargo-fmt} rustup toolchain install stable -c rustfmt --profile minimal rustup default stable diff --git a/.github/workflows/GnuTests.yml b/.github/workflows/GnuTests.yml index fe6ba6e01..a462b946a 100644 --- a/.github/workflows/GnuTests.yml +++ b/.github/workflows/GnuTests.yml @@ -72,6 +72,7 @@ jobs: path: "${{ steps.vars.outputs.path_reference }}" - name: Install `rust` toolchain run: | + ## Install `rust` toolchain rm -f "${HOME}/.cargo/bin/"{rustfmt,cargo-fmt} rustup toolchain install stable -c rustfmt --profile minimal rustup default stable @@ -84,6 +85,7 @@ jobs: - name: Add various locales shell: bash run: | + ## Add various locales echo "Before:" locale -a ## Some tests fail with 'cannot change locale (en_US.ISO-8859-1): No such file or directory' @@ -108,28 +110,32 @@ jobs: - name: Run GNU tests shell: bash run: | + ## Run GNU tests path_GNU='${{ steps.vars.outputs.path_GNU }}' path_UUTILS='${{ steps.vars.outputs.path_UUTILS }}' bash "${path_UUTILS}/util/run-gnu-test.sh" - name: Run GNU root tests shell: bash run: | + ## Run GNU root tests path_GNU='${{ steps.vars.outputs.path_GNU }}' path_UUTILS='${{ steps.vars.outputs.path_UUTILS }}' bash "${path_UUTILS}/util/run-gnu-test.sh" run-root - name: Extract testing info into JSON shell: bash run : | + ## Extract testing info into JSON path_UUTILS='${{ steps.vars.outputs.path_UUTILS }}' python ${path_UUTILS}/util/gnu-json-result.py ${{ steps.vars.outputs.path_GNU_tests }} > ${{ steps.vars.outputs.TEST_FULL_SUMMARY_FILE }} - name: Extract/summarize testing info id: summary shell: bash run: | - path_UUTILS='${{ steps.vars.outputs.path_UUTILS }}' ## Extract/summarize testing info outputs() { step_id="${{ github.action }}"; for var in "$@" ; do echo steps.${step_id}.outputs.${var}="${!var}"; echo "${var}=${!var}" >> $GITHUB_OUTPUT; done; } # + path_UUTILS='${{ steps.vars.outputs.path_UUTILS }}' + # SUITE_LOG_FILE='${{ steps.vars.outputs.SUITE_LOG_FILE }}' ROOT_SUITE_LOG_FILE='${{ steps.vars.outputs.ROOT_SUITE_LOG_FILE }}' ls -al ${SUITE_LOG_FILE} ${ROOT_SUITE_LOG_FILE} @@ -185,6 +191,7 @@ jobs: - name: Compare test failures VS reference shell: bash run: | + ## Compare test failures VS reference have_new_failures="" REF_LOG_FILE='${{ steps.vars.outputs.path_reference }}/test-logs/test-suite.log' REF_SUMMARY_FILE='${{ steps.vars.outputs.path_reference }}/test-summary/gnu-result.json' @@ -259,6 +266,7 @@ jobs: if: success() || failure() # run regardless of prior step success/failure shell: bash run: | + ## Compare test summary VS reference REF_SUMMARY_FILE='${{ steps.vars.outputs.path_reference }}/test-summary/gnu-result.json' if test -f "${REF_SUMMARY_FILE}"; then echo "Reference SHA1/ID: $(sha1sum -- "${REF_SUMMARY_FILE}")" @@ -285,15 +293,18 @@ jobs: submodules: recursive - name: Install `rust` toolchain run: | + ## Install `rust` toolchain rm -f "${HOME}/.cargo/bin/"{rustfmt,cargo-fmt} rustup toolchain install nightly -c rustfmt --profile minimal rustup default nightly - name: Install dependencies run: | + ## Install dependencies sudo apt update sudo apt install autoconf autopoint bison texinfo gperf gcc g++ gdb python3-pyinotify jq valgrind libexpect-perl -y - name: Add various locales run: | + ## Add various locales echo "Before:" locale -a ## Some tests fail with 'cannot change locale (en_US.ISO-8859-1): No such file or directory' @@ -310,6 +321,7 @@ jobs: RUSTFLAGS: "-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort" RUSTDOCFLAGS: "-Cpanic=abort" run: | + ## Build binaries cd uutils UU_MAKE_PROFILE=debug bash util/build-gnu.sh - name: Run GNU tests