1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-30 12:37:49 +00:00

maint/CICD ~ (GHA) update 'GNU' workflow

- show dashboard warnings only when tests FAIL or ERROR
- improve comments
- fix spelling and spelling exceptions
This commit is contained in:
Roy Ivy III 2021-06-12 17:34:48 -05:00
parent 92630a0690
commit 5682cf3032

View file

@ -1,5 +1,7 @@
name: GNU name: GNU
# spell-checker:ignore (names) gnulib ; (utils) autopoint gperf pyinotify texinfo ; (vars) XPASS
on: [push, pull_request] on: [push, pull_request]
jobs: jobs:
@ -7,7 +9,6 @@ jobs:
name: Run GNU tests name: Run GNU tests
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
# Checks out a copy of your repository on the ubuntu-latest machine
- name: Checkout code uutil - name: Checkout code uutil
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
@ -18,7 +19,7 @@ jobs:
repository: 'coreutils/coreutils' repository: 'coreutils/coreutils'
path: 'gnu' path: 'gnu'
ref: v8.32 ref: v8.32
- name: Checkout GNU corelib - name: Checkout GNU coreutils library (gnulib)
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
repository: 'coreutils/gnulib' repository: 'coreutils/gnulib'
@ -32,23 +33,26 @@ jobs:
default: true default: true
profile: minimal # minimal component installation (ie, no documentation) profile: minimal # minimal component installation (ie, no documentation)
components: rustfmt components: rustfmt
- name: Install deps - name: Install dependencies
shell: bash shell: bash
run: | run: |
## Install dependencies
sudo apt-get update sudo apt-get update
sudo apt-get install autoconf autopoint bison texinfo gperf gcc g++ gdb python-pyinotify python3-sphinx jq sudo apt-get install autoconf autopoint bison texinfo gperf gcc g++ gdb python-pyinotify python3-sphinx jq
- name: Build binaries - name: Build binaries
shell: bash shell: bash
run: | run: |
cd uutils ## Build binaries
bash util/build-gnu.sh cd uutils
bash util/build-gnu.sh
- name: Run GNU tests - name: Run GNU tests
shell: bash shell: bash
run: | run: |
bash uutils/util/run-gnu-test.sh bash uutils/util/run-gnu-test.sh
- name: Extract tests info - name: Extract testing info
shell: bash shell: bash
run: | run: |
## Extract testing info
LOG_FILE=gnu/tests/test-suite.log LOG_FILE=gnu/tests/test-suite.log
if test -f "$LOG_FILE" if test -f "$LOG_FILE"
then then
@ -58,7 +62,9 @@ jobs:
FAIL=$(sed -n "s/.*# FAIL: \(.*\)/\1/p" "$LOG_FILE"|tr -d '\r'|head -n1) FAIL=$(sed -n "s/.*# FAIL: \(.*\)/\1/p" "$LOG_FILE"|tr -d '\r'|head -n1)
XPASS=$(sed -n "s/.*# XPASS: \(.*\)/\1/p" "$LOG_FILE"|tr -d '\r'|head -n1) XPASS=$(sed -n "s/.*# XPASS: \(.*\)/\1/p" "$LOG_FILE"|tr -d '\r'|head -n1)
ERROR=$(sed -n "s/.*# ERROR: \(.*\)/\1/p" "$LOG_FILE"|tr -d '\r'|head -n1) ERROR=$(sed -n "s/.*# ERROR: \(.*\)/\1/p" "$LOG_FILE"|tr -d '\r'|head -n1)
echo "::warning ::GNU testsuite = TOTAL: $TOTAL / PASS: $PASS / FAIL: $FAIL / ERROR: $ERROR" output="GNU tests summary = TOTAL: $TOTAL / PASS: $PASS / FAIL: $FAIL / ERROR: $ERROR"
echo "${output}"
if [[ "$FAIL" -gt 0 || "$ERROR" -gt 0 ]]; then echo "::warning ::${output}" ; fi
jq -n \ jq -n \
--arg date "$(date --rfc-email)" \ --arg date "$(date --rfc-email)" \
--arg sha "$GITHUB_SHA" \ --arg sha "$GITHUB_SHA" \
@ -72,12 +78,10 @@ jobs:
else else
echo "::error ::Failed to get summary of test results" echo "::error ::Failed to get summary of test results"
fi fi
- uses: actions/upload-artifact@v2 - uses: actions/upload-artifact@v2
with: with:
name: test-report name: test-report
path: gnu/tests/**/*.log path: gnu/tests/**/*.log
- uses: actions/upload-artifact@v2 - uses: actions/upload-artifact@v2
with: with:
name: gnu-result name: gnu-result