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