File tree Expand file tree Collapse file tree 3 files changed +63
-0
lines changed
Expand file tree Collapse file tree 3 files changed +63
-0
lines changed Original file line number Diff line number Diff line change 1+ name : NIC Integrity
2+
3+ on :
4+ push :
5+
6+ jobs :
7+ check :
8+ runs-on : ubuntu-latest
9+ env :
10+ THEOS : ${{ github.workspace }}/theos
11+ steps :
12+ - name : Checkout repo
13+ uses : actions/checkout@v4
14+ with :
15+ submodules : recursive
16+ path : templates
17+
18+ - name : Checkout theos/theos
19+ uses : actions/checkout@v4
20+ with :
21+ repository : theos/theos
22+ submodules : recursive
23+ path : ${{ env.THEOS }}
24+
25+ - name : Check
26+ run : |
27+ cd templates
28+ ./integrity_check.sh
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+
3+ set -e
4+
5+ WORKSPACE_DIR=$( mktemp -d --tmpdir=' ' " templates.XXXXXXXXXX" )
6+ TEMPLATES_DIR=$( pwd)
7+
8+ # For each directory containing a valid NIC templates' source
9+ TEMPLATES_SOURCES=$( find " ${TEMPLATES_DIR} " -type d -name NIC -exec dirname {} \; )
10+
11+ cd " ${WORKSPACE_DIR} "
12+
13+ EXIT_CODE=0
14+
15+ for TEMPLATES_SOURCE in $TEMPLATES_SOURCES ; do
16+ " ${THEOS} /bin/nicify.pl" " ${TEMPLATES_SOURCE} " 2> /dev/null
17+ RESULT_FILE=$( ls * .nic.tar)
18+ EXTRACT_DIR=$( mktemp -d -p . " ${RESULT_FILE} .XXXXXXXXXX" )
19+ tar -xf " ${TEMPLATES_DIR} /${RESULT_FILE} " -C " ${EXTRACT_DIR} "
20+ # thanks to https://stackoverflow.com/a/49633090
21+ if ! diff -r --no-dereference --brief -x ' .keep' " ${TEMPLATES_SOURCE} " " ${EXTRACT_DIR} " ; then
22+ EXIT_CODE=1
23+ # per https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
24+ if [[ " ${GITHUB_ACTIONS} " = " true" ]]; then
25+ # per https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-error-message
26+ echo " ::error file=${RESULT_FILE} ,title=Mismatch::The NIC file does not match the template directory"
27+ fi
28+ fi
29+ rm -r " ${EXTRACT_DIR} "
30+ rm " ${RESULT_FILE} "
31+ done
32+
33+ rm -r " ${WORKSPACE_DIR} "
34+
35+ exit " ${EXIT_CODE} "
You can’t perform that action at this time.
0 commit comments