Setup Gitlab CI
This commit is contained in:
parent
d7d79fb726
commit
a78d5ecc60
1
.flake8
1
.flake8
@ -20,6 +20,7 @@ exclude =
|
|||||||
.hypothesis
|
.hypothesis
|
||||||
.mypy_cache
|
.mypy_cache
|
||||||
.pytest_cache
|
.pytest_cache
|
||||||
|
.venv # For the CI pipeline : don't check the local dependency cache
|
||||||
.vscode
|
.vscode
|
||||||
__pycache__
|
__pycache__
|
||||||
docs
|
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