Loading .gitlab-ci.yml +18 −1 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ image: $CI_REGISTRY_IMAGE/env:latest stages: - build - test - report front-end: stage: build Loading @@ -27,7 +28,10 @@ unit-test: - ./manage.sh update_dev_packages script: - ./manage.sh unit_tests coverage: '/TOTAL.*\s+(\d+%)$/' artifacts: paths: - coverage expire_in: 1 hour functional-test: stage: test Loading @@ -42,3 +46,16 @@ functional-test: - docker exec -i spotenv ./manage.sh update_dev_packages script: - docker exec -i spotenv ./manage.sh functional_tests artifacts: paths: - coverage expire_in: 1 hour coverage: stage: report script: - ./manage.sh coverage dependencies: - unit-test - functional-test coverage: '/TOTAL.*\s+(\d+%)$/' Dockerfile +1 −6 Original line number Diff line number Diff line Loading @@ -6,8 +6,6 @@ EXPOSE 8888 WORKDIR /usr/local/searx CMD ["python", "searx/webapp.py"] RUN adduser -D -h /usr/local/searx -s /bin/sh searx searx COPY requirements.txt ./requirements.txt RUN apk -U add \ Loading @@ -22,6 +20,7 @@ RUN apk -U add \ ca-certificates \ && pip install --upgrade pip \ && pip install --no-cache -r requirements.txt \ && pip install --no-cache coverage \ && apk del \ build-base \ libffi-dev \ Loading @@ -34,10 +33,6 @@ RUN apk -U add \ COPY searx /usr/local/searx/searx RUN chown -R searx:searx /usr/local/searx USER searx RUN sed -i "s/127.0.0.1/0.0.0.0/g" searx/settings.yml STOPSIGNAL SIGINT docker-compose-coverage.yml 0 → 100644 +18 −0 Original line number Diff line number Diff line version: '3.6' services: spot: entrypoint: - coverage - run - --source=searx command: - searx/webapp.py volumes: - coverage:/coverage environment: COVERAGE_FILE: /coverage/func volumes: coverage: name: spot-coverage manage.sh +17 −2 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ set -e # subshell PYTHONPATH="$BASE_DIR" SEARX_DIR="$BASE_DIR/searx" COV_DIR="$BASE_DIR/coverage" ACTION="$1" Loading Loading @@ -41,12 +42,26 @@ pep8_check() { unit_tests() { echo '[!] Running unit tests' PYTHONPATH="$BASE_DIR" pytest --cov=searx "$BASE_DIR/tests/unit" mkdir -p "$COV_DIR" chmod a+w "$COV_DIR" PYTHONPATH="$BASE_DIR" COVERAGE_FILE="$COV_DIR"/unit pytest --cov=searx "$BASE_DIR/tests/unit" } functional_tests() { echo '[!] Running unit tests' PYTHONPATH="$BASE_DIR" pytest "$BASE_DIR/tests/functional" mkdir -p "$COV_DIR" chmod a+w "$COV_DIR" PYTHONPATH="$BASE_DIR" COMPOSE_FILE=docker-compose.yml:docker-compose-coverage.yml \ pytest "$BASE_DIR/tests/functional" docker run -itd --rm --name tmp-vol -v spot-coverage:/coverage alpine docker cp tmp-vol:/coverage/func $COV_DIR docker stop tmp-vol } coverage() { sed -i 's!/usr/local/searx!'$BASE_DIR'!g' "$COV_DIR"/func coverage3 combine coverage/func coverage/unit coverage3 report } tests() { Loading Loading
.gitlab-ci.yml +18 −1 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ image: $CI_REGISTRY_IMAGE/env:latest stages: - build - test - report front-end: stage: build Loading @@ -27,7 +28,10 @@ unit-test: - ./manage.sh update_dev_packages script: - ./manage.sh unit_tests coverage: '/TOTAL.*\s+(\d+%)$/' artifacts: paths: - coverage expire_in: 1 hour functional-test: stage: test Loading @@ -42,3 +46,16 @@ functional-test: - docker exec -i spotenv ./manage.sh update_dev_packages script: - docker exec -i spotenv ./manage.sh functional_tests artifacts: paths: - coverage expire_in: 1 hour coverage: stage: report script: - ./manage.sh coverage dependencies: - unit-test - functional-test coverage: '/TOTAL.*\s+(\d+%)$/'
Dockerfile +1 −6 Original line number Diff line number Diff line Loading @@ -6,8 +6,6 @@ EXPOSE 8888 WORKDIR /usr/local/searx CMD ["python", "searx/webapp.py"] RUN adduser -D -h /usr/local/searx -s /bin/sh searx searx COPY requirements.txt ./requirements.txt RUN apk -U add \ Loading @@ -22,6 +20,7 @@ RUN apk -U add \ ca-certificates \ && pip install --upgrade pip \ && pip install --no-cache -r requirements.txt \ && pip install --no-cache coverage \ && apk del \ build-base \ libffi-dev \ Loading @@ -34,10 +33,6 @@ RUN apk -U add \ COPY searx /usr/local/searx/searx RUN chown -R searx:searx /usr/local/searx USER searx RUN sed -i "s/127.0.0.1/0.0.0.0/g" searx/settings.yml STOPSIGNAL SIGINT
docker-compose-coverage.yml 0 → 100644 +18 −0 Original line number Diff line number Diff line version: '3.6' services: spot: entrypoint: - coverage - run - --source=searx command: - searx/webapp.py volumes: - coverage:/coverage environment: COVERAGE_FILE: /coverage/func volumes: coverage: name: spot-coverage
manage.sh +17 −2 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ set -e # subshell PYTHONPATH="$BASE_DIR" SEARX_DIR="$BASE_DIR/searx" COV_DIR="$BASE_DIR/coverage" ACTION="$1" Loading Loading @@ -41,12 +42,26 @@ pep8_check() { unit_tests() { echo '[!] Running unit tests' PYTHONPATH="$BASE_DIR" pytest --cov=searx "$BASE_DIR/tests/unit" mkdir -p "$COV_DIR" chmod a+w "$COV_DIR" PYTHONPATH="$BASE_DIR" COVERAGE_FILE="$COV_DIR"/unit pytest --cov=searx "$BASE_DIR/tests/unit" } functional_tests() { echo '[!] Running unit tests' PYTHONPATH="$BASE_DIR" pytest "$BASE_DIR/tests/functional" mkdir -p "$COV_DIR" chmod a+w "$COV_DIR" PYTHONPATH="$BASE_DIR" COMPOSE_FILE=docker-compose.yml:docker-compose-coverage.yml \ pytest "$BASE_DIR/tests/functional" docker run -itd --rm --name tmp-vol -v spot-coverage:/coverage alpine docker cp tmp-vol:/coverage/func $COV_DIR docker stop tmp-vol } coverage() { sed -i 's!/usr/local/searx!'$BASE_DIR'!g' "$COV_DIR"/func coverage3 combine coverage/func coverage/unit coverage3 report } tests() { Loading