1
0
mirror of https://github.com/uutils/coreutils synced 2024-07-09 04:06:02 +00:00

maint/CICD ~ re-label bash script steps for easier review

This commit is contained in:
Roy Ivy III 2023-01-18 11:41:39 -06:00
parent 6f5f3736ce
commit f4086f237f
3 changed files with 40 additions and 6 deletions

View File

@ -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

View File

@ -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

View File

@ -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