From 4f921dca05bd197eefbb54ad6e086bf3a815858c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Cs=C3=A1rdi?= Date: Fri, 25 Aug 2023 16:34:39 +0200 Subject: [PATCH] GHA: use new tests Plus do not stop if a test suite fails, always run all platforms. --- .github/workflows/test.yaml | 22 +++++----------------- Makefile | 11 ++++++++++- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 910fd0b..f3b5e1d 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -36,17 +36,9 @@ jobs: name: rig-linux path: 'rig-*.tar.gz' - - name: Install rig - run: | - sudo tar xzf rig-*.tar.gz -C /usr/local - - - name: Install bats - run: | - sudo apt-get update && sudo apt-get install bats - - name: Run tests run: | - bats tests/test-linux.sh + make linux-test-all linux-arm: runs-on: [linux-arm64] @@ -63,13 +55,7 @@ jobs: - name: Build rig run: | - docker system prune -f - docker build -t rig:latest . - docker rm quickrig 2>/dev/null || true - docker run --name quickrig rig:latest ls out - docker cp quickrig:out . - ls out - cp out/rig* . + make linux-in-docker - name: Upload build as artifact uses: actions/upload-artifact@v3 @@ -78,7 +64,9 @@ jobs: name: rig-linux-aarch64 path: 'rig-*.tar.gz' -# TODO: run tests in Docker container + - name: Run tests + run: | + make linux-test-all macos: runs-on: ${{ matrix.config.os }} diff --git a/Makefile b/Makefile index 2519afd..f735599 100644 --- a/Makefile +++ b/Makefile @@ -68,7 +68,12 @@ linux-in-docker: define GEN_TESTS linux-test-$(variant): rig-$(VERSION).tar.gz - docker run -t --rm -v $(PWD):/work `echo $(variant) | tr - :` bash -c /work/tests/test-linux-docker.sh + mkdir -p tests/results + rm -f tests/results/$(variant).fail tests/results/$(variant).success + docker run -t --rm -v $(PWD):/work `echo $(variant) | tr - :` \ + bash -c /work/tests/test-linux-docker.sh && \ + touch tests/results/$(variant).success || \ + touch tests/results/$(variant).fail shell-$(variant): docker run -ti --rm -v $(PWD):/work `echo $(variant) | tr - :` bash TEST_IMAGES += linux-test-$(variant) @@ -76,6 +81,10 @@ endef $(foreach variant, $(VARIANTS), $(eval $(GEN_TESTS))) linux-test-all: $(TEST_IMAGES) + if ls tests/results | grep -q fail; then \ + echo Some tests failed; \ + exit 1; \ + fi # -------------------------------------------------------------------------