cleanmedia/.gitlab-ci.yml

66 lines
1.2 KiB
YAML

image: python:latest
stages:
- lint
- test
- deploy
before_script:
- pip install poetry
- poetry install --no-root
lint:
stage: lint
script:
- poetry run ruff check
- poetry run ruff format --check
- poetry run mypy .
test:
stage: test
script:
- poetry run pytest -v --cov=. --cov-report=xml
after_script:
- bash <(curl -s https://codecov.io/bash)
artifacts:
reports:
coverage_report:
coverage_format: cobertura
path: coverage.xml
deploy_to_dockerhub:
stage: deploy
needs:
- test
only:
refs:
- master
except:
- tags
image: docker:latest
services:
- docker:dind
before_script:
- docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
- docker buildx create --use
script:
- docker buildx build --push --tag rogsme/cleanmedia:latest .
deploy_to_gitlab:
stage: deploy
needs:
- test
only:
refs:
- master
except:
- tags
image: docker:latest
services:
- docker:dind
before_script:
- docker login registry.gitlab.com -u $GITLAB_USERNAME -p $GITLAB_PASSWORD
- docker buildx create --use
script:
- docker buildx build --push --tag registry.gitlab.com/rogs/cleanmedia .