1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 19:47:45 +00:00

extract and store busybox results

This commit is contained in:
Sylvestre Ledru 2022-12-04 17:19:44 +01:00
parent 92942722a7
commit 9ab9ec7fc5

View file

@ -758,6 +758,12 @@ jobs:
job:
- { os: ubuntu-latest }
steps:
- name: Initialize workflow variables
id: vars
shell: bash
run: |
## VARs setup
echo "TEST_SUMMARY_FILE=busybox-result.json" >> $GITHUB_OUTPUT
- uses: actions/checkout@v3
- name: Install/setup prerequisites
shell: bash
@ -768,19 +774,59 @@ jobs:
run: |
rustup toolchain install stable --profile minimal
rustup default stable
- uses: Swatinem/rust-cache@v2
- name: "Run BusyBox test suite"
- name: Install dependencies
shell: bash
run: |
## Install dependencies
sudo apt-get update
sudo apt-get install jq
- uses: Swatinem/rust-cache@v2
- name: "Run BusyBox test suite"
id: summary
shell: bash
run: |
set -v
cp .busybox-config target/debug/.config
## Run BusyBox test suite
bindir=$(pwd)/target/debug
cd tmp/busybox-*/testsuite
output=$(bindir=$bindir ./runtest 2>&1 || true)
printf "%s\n" "${output}"
n_fails=$(echo "$output" | grep "^FAIL:\s" | wc --lines)
echo "n_fails $n_fails"
if [ $n_fails -gt 0 ] ; then echo "::warning ::${n_fails}+ test failures" ; fi
FAIL=$(echo "$output" | grep "^FAIL:\s" | wc --lines)
PASS=$(echo "$output" | grep "^PASS:\s" | wc --lines)
SKIPPED=$(echo "$output" | grep "^SKIPPED:\s" | wc --lines)
TOTAL=`expr $FAIL + $PASS + $SKIPPED`
echo "FAIL $FAIL"
echo "SKIP $SKIPPED"
echo "PASS $PASS"
echo "TOTAL $TOTAL"
cd -
jq -n \
--arg date "$(date --rfc-email)" \
--arg sha "$GITHUB_SHA" \
--arg total "$TOTAL" \
--arg pass "$PASS" \
--arg skip "$SKIPPED" \
--arg fail "$FAIL" \
'{($date): { sha: $sha, total: $total, pass: $pass, skip: $skip, fail: $fail, }}' > '${{ steps.vars.outputs.TEST_SUMMARY_FILE }}'
HASH=$(sha1sum '${{ steps.vars.outputs.TEST_SUMMARY_FILE }}' | cut --delim=" " -f 1)
echo "HASH=${HASH}" >> $GITHUB_OUTPUT
if [ $FAIL -gt 0 ] ; then echo "::warning ::${FAIL}+ test failures" ; fi
- name: Reserve SHA1/ID of 'test-summary'
uses: actions/upload-artifact@v3
with:
name: "${{ steps.summary.outputs.HASH }}"
path: "${{ steps.vars.outputs.TEST_SUMMARY_FILE }}"
- name: Reserve test results summary
uses: actions/upload-artifact@v3
with:
name: test-summary
path: "${{ steps.vars.outputs.TEST_SUMMARY_FILE }}"
- name: Upload json results
uses: actions/upload-artifact@v3
with:
name: busybox-result.json
path: ${{ steps.vars.outputs.TEST_SUMMARY_FILE }}
test_android:
name: Test Android builds