mat2-web/.gitlab-ci.yml
2020-05-21 09:14:28 -07:00

65 lines
1.8 KiB
YAML

image: debian:testing
stages:
- linting
- test
- renovate
- 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
bandit:
image:
name: $CI_REGISTRY/georg/mat2-ci-images:linting
stage: linting
script:
- bandit -r ./matweb/ 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
renovate:
stage: renovate
variables:
RENOVATE_TOKEN: $GITLAB_API_TOKEN
image:
name: renovate/renovate:19
entrypoint: ['']
script:
- node /usr/src/app/dist/renovate.js --platform gitlab --endpoint ${CI_API_V4_URL} --token ${GITLAB_API_TOKEN} ${CI_PROJECT_PATH}