run tests in the Dockerfile during the build phase

This commit is contained in:
YS 2022-01-06 13:30:42 +03:00
parent 05c7c66147
commit 2c0a0c1fe0
2 changed files with 34 additions and 17 deletions

View File

@ -45,21 +45,26 @@ jobs:
run: npm run test run: npm run test
working-directory: ./web working-directory: ./web
pytest: docker_tests_on_aarch64:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.8']
steps: steps:
- uses: actions/checkout@v1 - name: Check out code
- name: Set up Python ${{ matrix.python-version }} uses: actions/checkout@v2
uses: actions/setup-python@v2 - name: Set up QEMU
with: uses: docker/setup-qemu-action@v1
python-version: ${{ matrix.python-version }} - name: Set up Docker Buildx
- name: Install dependencies uses: docker/setup-buildx-action@v1
run: | - name: Build and run tests
python -m pip install --upgrade pip run: make run_tests PLATFORM="linux/arm64/v8" ARCH="aarch64"
python -m pip install tox tox-gh-actions
- name: Test with tox docker_tests_on_amd64:
run: tox -e unittests runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build and run tests
run: make run_tests PLATFORM="linux/amd64" ARCH="amd64"

View File

@ -59,4 +59,16 @@ armv7_frigate: version web
armv7_all: armv7_wheels armv7_ffmpeg armv7_frigate armv7_all: armv7_wheels armv7_ffmpeg armv7_frigate
.PHONY: web run_tests:
# PLATFORM: linux/arm64/v8 linux/amd64 or linux/arm/v7
# ARCH: aarch64 amd64 or armv7
@cat docker/Dockerfile.base docker/Dockerfile.$(ARCH) > docker/Dockerfile.test
@sed -i "s/FROM frigate-web as web/#/g" docker/Dockerfile.test
@sed -i "s/COPY --from=web \/opt\/frigate\/build web\//#/g" docker/Dockerfile.test
@sed -i "s/FROM frigate-base/#/g" docker/Dockerfile.test
@echo "" >> docker/Dockerfile.test
@echo "RUN python3 -m unittest" >> docker/Dockerfile.test
@docker buildx build --platform=$(PLATFORM) --tag frigate-base --build-arg NGINX_VERSION=1.0.2 --build-arg FFMPEG_VERSION=1.0.0 --build-arg ARCH=$(ARCH) --build-arg WHEELS_VERSION=1.0.3 --file docker/Dockerfile.test .
@rm docker/Dockerfile.test
.PHONY: web run_tests