forked from redrsoe2100/os-autotest
46 lines
2.2 KiB
YAML
46 lines
2.2 KiB
YAML
name: Run smoke test on SG2044
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
TESTSUITE: ${{ vars.TESTSUITE }}
|
|
PKGTEST: ${{ vars.PKGTEST }}
|
|
LOGDIR: ${{ secrets.LOGDIR }}
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ${{ vars.SG2044_LABEL }}
|
|
timeout-minutes: 4320
|
|
steps:
|
|
- name: install tools
|
|
run: sudo dnf install -y git nodejs rsync sshpass --refresh && pip3 install requests python3-log --break-system-packages
|
|
- uses: https://gitee.com/ci-actions/checkout.git@v3
|
|
- name: run tests
|
|
run: |
|
|
set -x
|
|
DATA_STR="$(date +%Y%m%d%H%M%S)"
|
|
SUB_DIR=${{ github.run_number}}-${DATA_STR}
|
|
RESULT_DIR="${LOGDIR}/${SUB_DIR}"
|
|
export RESULT_DIR="${RESULT_DIR}"
|
|
mkdir -p .os-autotest ${RESULT_DIR}
|
|
echo "$TESTSUITE" | tr ',' '\n' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//' | sed '/^\s*$/d' > .os-autotest/testsuite
|
|
echo "$PKGTEST" | tr ',' '\n' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//' | sed '/^\s*$/d' > .os-autotest/pkg-install
|
|
bash .github/workflows/scripts/runtest.sh
|
|
|
|
if [ -n "$(find "${RESULT_DIR}/source/suite2cases" -maxdepth 0 -empty)" ]; then
|
|
LOG_WARN "<<< no suite2cases found"
|
|
exit 0
|
|
fi
|
|
|
|
bash .github/workflows/scripts/log-report.sh "${RESULT_DIR}/logs"
|
|
|
|
python .github/workflows/scripts/summary.py --testsuits ".os-autotest/testsuite" --result "${RESULT_DIR}" --source "${RESULT_DIR}/source"
|
|
sshpass -p "${{ secrets.IMAGE_BACKUP_HOST_PWD }}" rsync -av -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" "${RESULT_DIR}" "${{ secrets.IMAGE_BACKUP_HOST_USER }}@${{ secrets.IMAGE_BACKUP_HOST }}:${{ secrets.LOGDIR }}/sg2044/"
|
|
TITLE="sg2044:os-autotest"
|
|
if [ -n "$TESTSUITE" ]; then
|
|
testsuites=$(awk -F, -v OFS=, 'NF>4{print $1,$2,$3,$4 "..."; next} 1' <<< "$TESTSUITE")
|
|
TITLE="$TITLE:$testsuites"
|
|
fi
|
|
TITLE="$TITLE $RELEASE_VERSION ${DATA_STR:0:4}-${DATA_STR:4:2}-${DATA_STR:6:2} ${DATA_STR:8:2}-${DATA_STR:10:2}"
|
|
python .github/workflows/scripts/stats.py --gitea-url "${{ github.api_url }}" --repo "${{ github.repository }}" --token "${{ secrets.RELEASE_TOKEN }}" --result "${RESULT_DIR}" --log-url "${{ secrets.LOG_URL }}/sg2044/${SUB_DIR}" --title "$TITLE"
|