Merge branch 'MK/training_tab' of https://git.jdav-hd.merten.dev/digitales/kompass into MK/training_tab
commit
f5f709bee7
@ -0,0 +1,60 @@
|
|||||||
|
name: Tests
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Cache Docker layers
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: /tmp/.buildx-cache
|
||||||
|
key: ${{ runner.os }}-buildx-${{ hashFiles('requirements.txt', 'docker/test/Dockerfile') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-buildx-
|
||||||
|
|
||||||
|
- name: Build Docker image with cache
|
||||||
|
run: |
|
||||||
|
cd docker/test
|
||||||
|
docker buildx build \
|
||||||
|
--cache-from type=local,src=/tmp/.buildx-cache \
|
||||||
|
--cache-to type=local,dest=/tmp/.buildx-cache-new,mode=max \
|
||||||
|
--load \
|
||||||
|
-t kompass:test \
|
||||||
|
-f Dockerfile \
|
||||||
|
../../
|
||||||
|
|
||||||
|
- name: Move cache
|
||||||
|
run: |
|
||||||
|
rm -rf /tmp/.buildx-cache
|
||||||
|
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
run: make test-only
|
||||||
|
|
||||||
|
- name: Check coverage
|
||||||
|
run: |
|
||||||
|
COVERAGE=$(python3 -c "import json; data=json.load(open('docker/test/htmlcov/coverage.json')); print(data['totals']['percent_covered'])")
|
||||||
|
echo "Coverage: ${COVERAGE}%"
|
||||||
|
if (( $(echo "$COVERAGE < 100" | bc -l) )); then
|
||||||
|
echo "Error: Coverage is ${COVERAGE}%, must be 100%"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
Loading…
Reference in New Issue