From 50ae11f95f8a045accff7fdcf0872cd29ad44f2e Mon Sep 17 00:00:00 2001 From: cytopia Date: Sat, 12 Dec 2020 19:13:31 +0100 Subject: [PATCH] Retry network tasks --- .github/workflows/documentation.yml | 17 +++++++- .github/workflows/lint.yml | 64 +++++++++++++++++++++++------ 2 files changed, 68 insertions(+), 13 deletions(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 26d1409b..6d686336 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -48,7 +48,22 @@ jobs: - name: Check documentation shell: bash run: | + retry() { + for n in $(seq ${RETRIES}); do + echo "[${n}/${RETRIES}] ${*}"; + if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; + return 0; + fi; + sleep ${PAUSE}; + echo "[FAIL] ${n}/${RETRIES}"; + done; + return 1; + } + cd docs - make ${TARGET} + retry make ${TARGET} env: TARGET: ${{ matrix.target }} + RETRIES: 20 + PAUSE: 10 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 12a6605e..4296262e 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -25,16 +25,8 @@ on: # ------------------------------------------------------------------------------------------------- jobs: lint: - runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - jobs: - - tests - - name: "[Lint ${{ matrix.jobs }}]" + name: "[Lint]" steps: # ------------------------------------------------------------ @@ -46,20 +38,68 @@ jobs: - name: Lint shell: bash run: | + retry() { + for n in $(seq ${RETRIES}); do + echo "[${n}/${RETRIES}] ${*}"; + if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; + return 0; + fi; + sleep ${PAUSE}; + echo "[FAIL] ${n}/${RETRIES}"; + done; + return 1; + } + cd .tests/ - make lint-tests + retry make lint-tests + env: + RETRIES: 20 + PAUSE: 10 - name: Update Readme shell: bash run: | + retry() { + for n in $(seq ${RETRIES}); do + echo "[${n}/${RETRIES}] ${*}"; + if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; + return 0; + fi; + sleep ${PAUSE}; + echo "[FAIL] ${n}/${RETRIES}"; + done; + return 1; + } + cd .tests/ - make update-readme + retry make update-readme git diff --quiet || { echo "Build Changes"; git diff; git status; false; }; + env: + RETRIES: 20 + PAUSE: 10 - name: Check configuration shell: bash run: | + retry() { + for n in $(seq ${RETRIES}); do + echo "[${n}/${RETRIES}] ${*}"; + if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; + return 0; + fi; + sleep ${PAUSE}; + echo "[FAIL] ${n}/${RETRIES}"; + done; + return 1; + } + cp env-example .env sed -i'' "s/^NEW_UID=.*/NEW_UID=$(id -u)/g" .env sed -i'' "s/^NEW_GID=.*/NEW_GID=$(id -g)/g" .env - ./check-config.sh + retry ./check-config.sh + env: + RETRIES: 20 + PAUSE: 10