poezio/.gitlab-ci.yml

100 lines
2.3 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
pytest-3.7:
stage: test
image: python:3.7
script:
- apt-get update && apt-get install -y libidn11-dev
- git clone https://lab.louiz.org/poezio/slixmpp.git
- pip3 install pytest pyasn1-modules cffi --upgrade
- cd slixmpp
- python3 setup.py install
- cd ..
- python3 setup.py install
- py.test -v test/
pytest-latest:
stage: test
image: python:3
script:
- apt-get update && apt-get install -y libidn11-dev
- git clone https://lab.louiz.org/poezio/slixmpp.git
- pip3 install pytest pyasn1-modules cffi --upgrade
- cd slixmpp
- python3 setup.py install
- cd ..
- python3 setup.py install
- py.test -v test/
pylint-latest:
stage: lint
image: python:3
script:
- apt-get update && apt-get install -y libidn11-dev
- git clone https://lab.louiz.org/poezio/slixmpp.git
- pip3 install pylint pyasn1-modules cffi --upgrade
- cd slixmpp
- python3 setup.py install
- cd ..
- python3 setup.py install
- pylint -E poezio
pylint-plugins:
stage: lint
image: python:3
allow_failure: true
script:
- apt-get update && apt-get install -y libidn11-dev
- pip3 install pylint pyasn1-modules cffi --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
mypyc:
stage: lint
image: python:3
script:
- pip3 install https://lab.louiz.org/mathieui/poezio/-/raw/mypy-custom-build/mypy-0.820+dev.ceca581e385f5438bcb7d7c3e8f94aadb7085f77-py3-none-any.whl
- pip install "typed_ast>=1.4.0,<1.5.0" types-pkg_resources
- mypy --ignore-missing-imports ./poezio
- mypy --ignore-missing-imports ./plugins