46 lines
1002 B
YAML
46 lines
1002 B
YAML
stages:
|
|
- lint
|
|
- build
|
|
|
|
.install-deps-script: &install-deps
|
|
- curl -sSL https://install.python-poetry.org | python -
|
|
- export PATH=$PATH:$HOME/.local/bin
|
|
- poetry --version
|
|
- poetry install
|
|
|
|
.base:
|
|
image: python:3.11.2
|
|
|
|
.lint:
|
|
extends: .base
|
|
stage: lint
|
|
before_script:
|
|
- *install-deps
|
|
|
|
black:
|
|
extends: .lint
|
|
script:
|
|
- poetry run black . --check --verbose --diff
|
|
|
|
isort:
|
|
extends: .lint
|
|
script:
|
|
- poetry run isort --check .
|
|
|
|
|
|
build:
|
|
stage: build
|
|
image: docker:23.0.1
|
|
services:
|
|
- name: docker:23.0.1-dind
|
|
alias: docker
|
|
variables:
|
|
DOCKER_HOST: tcp://docker:2375
|
|
DOCKER_DRIVER: overlay2
|
|
DOCKER_TLS_CERTDIR: ""
|
|
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
|
|
script:
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
- docker build -f Dockerfile -t $IMAGE_TAG --build-arg version=$CI_COMMIT_SHA .
|
|
- docker push $IMAGE_TAG
|