habitmove/.woodpecker.yml

87 lines
2.1 KiB
YAML

branches: main
pipeline:
code_lint:
image: python
commands:
- pip install poetry
- poetry install
- pip install black
- echo "----------------- running lint ------------------"
- python --version && poetry --version && black --version
- poetry run black .
unit_tests:
image: thekevjames/nox
commands:
- pip install poetry
- poetry install
- echo "----------------- running tests ------------------"
- python --version && poetry --version && nox --version
- poetry run nox
static_analysis:
image: python
commands:
- pip install poetry
- poetry install
- pip install mypy
- echo "----------------- running analysis ------------------"
- python --version && poetry --version && mypy --version
- poetry run mypy .
build_dist:
image: python
commands:
- pip install poetry
- poetry install
- echo "----------------- running analysis ------------------"
- python --version && poetry --version
- poetry build
when:
branch: main
release_prep:
image: python
commands:
- echo "----------------- preparing release ------------------"
- python tools/extract-changelog.py
gitea_release:
image: plugins/gitea-release
settings:
api_key:
from_secret: gitea_release_token
base_url: https://git.martyoeh.me
files: dist/*
title: NEWEST_VERSION.md
note: NEWEST_CHANGES.md
when:
event: tag
tag: v*
pypi_release:
image: python
commands:
- pip install poetry
- poetry install
- echo "----------------- publishing to pypi ------------------"
- poetry publish --username "$PYPI_USERNAME" --password "$PYPI_PASSWORD"
when:
event: tag
tag: v*
notify_matrix:
image: plugins/matrix
settings:
homeserver: https://matrix.org
roomid:
from_secret: matrix_roomid
userid:
from_secret: matrix_userid
accesstoken:
from_secret: matrix_token
when:
status: [ success, failure ]