poezio/.gitlab-ci.yml

101 lines
2.0 KiB
YAML

stages:
- lint
- test
- build
build-doc:
stage: build
only:
- main@poezio/poezio
tags:
- www
image: python:3
script:
- ./update.sh
- . ./poezio-venv/bin/activate
- pip install sphinx --ignore-installed
- make doc
- rm -rf /www/latest
- mv doc/build/html/ /www/latest
build-ubuntu:
stage: build
image: python:3
script:
- python3 setup.py sdist
- python3 setup.py bdist
artifacts:
expire_in: 2 weeks
paths:
- dist/
only:
- main
security-check:
stage: lint
image: python:3
script:
- pip3 install safety
- safety check -r requirements.txt
.poezio-tests:
script:
- git clone https://lab.louiz.org/poezio/slixmpp.git
- pip3 install pytest pyasn1-modules cffi setuptools-rust --upgrade
- cd slixmpp
- python3 setup.py install
- cd ..
- python3 setup.py install
- py.test -v test/
- cargo test
pytest-3.7:
stage: test
image: docker.louiz.org/poezio/poezio:rust-python3.7
extends:
- .poezio-tests
pytest-3.8:
stage: test
image: docker.louiz.org/poezio/poezio:rust-python3.8
extends:
- .poezio-tests
pytest-3.9:
stage: test
image: docker.louiz.org/poezio/poezio:rust-python3.9
extends:
- .poezio-tests
pytest-3.10:
stage: test
image: docker.louiz.org/poezio/poezio:rust-python3.10
extends:
- .poezio-tests
pylint-plugins:
stage: lint
image: docker.louiz.org/poezio/poezio:rust-python3.10
allow_failure: true
script:
- pip3 install pylint pyasn1-modules cffi setuptools-rust --upgrade
- pip3 install -e git+https://lab.louiz.org/poezio/slixmpp.git#egg=slixmpp
- pip3 install -r requirements-plugins.txt
- python3 setup.py install
- pylint -E plugins
rust-lint:
stage: lint
image: docker.louiz.org/poezio/poezio:rust-python3.10
script:
- cargo fmt --check
- cargo clippy --no-deps
mypy:
stage: lint
image: python:3
script:
- pip3 install mypy types-setuptools
- mypy --ignore-missing-imports ./poezio
- mypy --ignore-missing-imports ./plugins