Setup Gitlab CI
This commit is contained in:
parent
d7d79fb726
commit
a78d5ecc60
1
.flake8
1
.flake8
@ -20,6 +20,7 @@ exclude =
|
||||
.hypothesis
|
||||
.mypy_cache
|
||||
.pytest_cache
|
||||
.venv # For the CI pipeline : don't check the local dependency cache
|
||||
.vscode
|
||||
__pycache__
|
||||
docs
|
||||
|
44
.gitlab-ci.yml
Normal file
44
.gitlab-ci.yml
Normal file
@ -0,0 +1,44 @@
|
||||
image: python:latest
|
||||
|
||||
workflow:
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
||||
|
||||
stages:
|
||||
- test
|
||||
- deploy
|
||||
|
||||
# Move pip's and poetry's caches to somewhere gitlab can cache
|
||||
# https://pip.pypa.io/en/stable/topics/configuration/#environment-variables
|
||||
# https://python-poetry.org/docs/configuration/#using-environment-variables
|
||||
variables:
|
||||
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
|
||||
POETRY_VIRTUALENVS_PATH: "$CI_PROJECT_DIR/.cache/poetry"
|
||||
|
||||
cache:
|
||||
paths:
|
||||
- .cache/pip
|
||||
- .cache/poetry
|
||||
- .mypy_cache
|
||||
|
||||
before_script:
|
||||
- pip install poetry
|
||||
- poetry install
|
||||
|
||||
test:
|
||||
stage: test
|
||||
script:
|
||||
- poetry run isort --check-only
|
||||
- poetry run black --check jubeatools
|
||||
- poetry run flake8
|
||||
- poetry run mypy jubeatools
|
||||
- poetry run pytest jubeatools
|
||||
|
||||
build and publish:
|
||||
stage: deploy
|
||||
when: manual
|
||||
rules:
|
||||
- if: '$CI_COMMIT_TAG =~ /v.+/'
|
||||
script:
|
||||
- poetry publish --build
|
Loading…
Reference in New Issue
Block a user