poezio/.gitlab-ci.yml
Emmanuel Gil Peyrot f8b4ef7698 Add a Rust project.
2022-08-21 17:19:58 +02:00

106 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
.poezio-tests:
script:
- apt-get update && apt-get install -y libidn11-dev
- wget https://static.rust-lang.org/rustup/archive/1.24.3/x86_64-unknown-linux-gnu/rustup-init
- chmod +x rustup-init
- ./rustup-init -y --no-modify-path --default-toolchain nightly
- rm rustup-init
- ls ~/.cargo/bin
- export PATH=$PATH:$HOME/.cargo/bin
- 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/
pytest-3.7:
stage: test
image: python:3.7
extends:
- .poezio-tests
pytest-3.8:
stage: test
image: python:3.8
extends:
- .poezio-tests
pytest-3.9:
stage: test
image: python:3.9
extends:
- .poezio-tests
pytest-3.10:
stage: test
image: python:3.10-rc
extends:
- .poezio-tests
pylint-plugins:
stage: lint
image: python:3
allow_failure: true
script:
- apt-get update && apt-get install -y libidn11-dev
- wget https://static.rust-lang.org/rustup/archive/1.14.0/x86_64-unknown-linux-gnu/rustup-init
- chmod +x rustup-init
- ./rustup-init -y --no-modify-path --default-toolchain nightly
- rm rustup-init
- ls ~/.cargo/bin
- export PATH=$PATH:$HOME/.cargo/bin
- 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
mypy:
stage: lint
image: python:3
script:
- pip3 install mypy types-setuptools
- mypy --ignore-missing-imports ./poezio
- mypy --ignore-missing-imports ./plugins