Files
MSE-CyberSec-DevSecOps/.gitlab-ci.yml

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