image: debian:testing stages: - linting - test - build_container variables: CONTAINER_TEST_IMAGE: registry.0xacab.org/jvoisin/mat2-web:$CI_BUILD_REF_NAME CONTAINER_RELEASE_IMAGE: registry.0xacab.org/jvoisin/mat2-web:latest pyflakes: stage: linting script: - apt-get -qqy update - apt-get -qqy install --no-install-recommends pyflakes3 - pyflakes3 ./main.py mypy: stage: linting script: - apt-get -qqy update - apt-get -qqy install --no-install-recommends python3-pip - pip3 install mypy - mypy --ignore-missing-imports main.py tests:debian: stage: test script: - apt-get -qqy update - apt-get -qqy install --no-install-recommends mat2 python3-flask python3-coverage python3-pip python3-setuptools - pip3 install wheel - pip3 install -r requirements.txt - python3-coverage run --branch --include main.py -m unittest discover -s test - python3-coverage report -m build-docker: stage: build_container image: name: gcr.io/kaniko-project/executor:debug entrypoint: [""] script: - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile.production --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG only: - tags - master