53 lines
1.1 KiB
YAML
53 lines
1.1 KiB
YAML
default:
|
|
image: python:3.9
|
|
|
|
stages:
|
|
- lint
|
|
- build
|
|
|
|
build job:
|
|
stage: build
|
|
script:
|
|
- cd src
|
|
# - apt-get update -qy
|
|
# - apt-get install -y python3-dev python3-pip python3.12-venv curl
|
|
- python3 -V
|
|
# - pip3 install --break-system-packages -r requirements.txt
|
|
- curl -sSL https://pdm-project.org/install-pdm.py | python3 -
|
|
- export PATH=/root/.local/bin:$PATH
|
|
- pdm install
|
|
|
|
# Set environment variables for the tests
|
|
- export FLASK_SECRET_KEY=$FLASK_SECRET_KEY
|
|
|
|
# launch tests
|
|
- export PYTHONPATH=.
|
|
- export FLASK_APP=app
|
|
- pdm run pytest tests --cov --cov-report term --cov-report html
|
|
|
|
artifacts:
|
|
paths:
|
|
- src/htmlcov/
|
|
|
|
lint job:
|
|
stage: lint
|
|
dependencies: []
|
|
script:
|
|
- python3 -m pip install flake8
|
|
- flake8 src/
|
|
allow_failure: true # Linter can fail, fixing it is for now outside of the projects scope
|
|
|
|
pages:
|
|
stage: build
|
|
dependencies:
|
|
- build job
|
|
needs: ["build job"]
|
|
script:
|
|
- mv src/htmlcov/ public/
|
|
artifacts:
|
|
paths:
|
|
- public
|
|
expire_in: 7 days
|
|
only:
|
|
- main
|