Skip to content

Commit

Permalink
feat: retry failing and skipped tests once
Browse files Browse the repository at this point in the history
Plugn is fairly brittle since the upgrade to bash 5, so this might help decrease the need to retry the whole circleci job.
  • Loading branch information
josegonzalez committed Dec 20, 2020
1 parent 1b767e7 commit 465e220
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
4 changes: 3 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,9 @@ jobs:
- run:
name: run bats tests
command: |
sudo -E make -e test-ci
if ! sudo -E make -e test-ci; then
sudo -E make tests-ci-retry-failed
fi
no_output_timeout: 60m
shell: /bin/bash
- run:
Expand Down
6 changes: 6 additions & 0 deletions tests.mk
Original file line number Diff line number Diff line change
Expand Up @@ -284,4 +284,10 @@ test-ci:
@cd tests/unit && echo "executing tests: $(shell cd tests/unit ; circleci tests glob *.bats | circleci tests split --split-by=timings --timings-type=classname | xargs)"
cd tests/unit && bats --formatter bats-format-junit -e -T -o ../../test-results/bats $(shell cd tests/unit ; circleci tests glob *.bats | circleci tests split --split-by=timings --timings-type=classname | xargs)

tests-ci-retry-failed:
wget -qO /tmp/bats-retry.tgz https://github.com/josegonzalez/go-bats-retry/releases/download/v0.1.0/bats-retry_0.1.0_linux_x86_64.tgz
tar xzf /tmp/bats-retry.tgz -C /usr/local/bin
bats-retry test-results/bats bats-retry-script
./bats-retry-script

test-ci-docker: setup-docker-deploy-tests deploy-test-checks-root deploy-test-config deploy-test-multi deploy-test-go-fail-predeploy deploy-test-go-fail-postdeploy

0 comments on commit 465e220

Please sign in to comment.