image: debian:trixie

variables:
  DEBIAN_FRONTEND: noninteractive

stages:
  - install
  - test

install:
  stage: install
  before_script:
  - apt-get update && apt-get install --no-install-recommends -y python3 python3-virtualenv
  - ln -s /usr/bin/python3 /usr/bin/python
  script:
  - virtualenv --python=/usr/bin/python3 .
  - source bin/activate
  - pip3 install -r requirements.txt
  cache:
    key: $CI_COMMIT_REF_SLUG
    paths:
    - bin/
    - lib/
    - pyvenv.cfg

test_ppparis:
  stage: test
  needs: [install]
  before_script:
  - apt-get update && apt-get install --no-install-recommends -y python3 python3-virtualenv chromium-driver make xauth xvfb tesseract-ocr tesseract-ocr-eng tesseract-ocr-fra ocrmypdf curl unzip
  - ln -s /usr/bin/python3 /usr/bin/python
  - curl --location --output artifacts.zip "${CI_SERVER_PROTOCOL}://${CI_SERVER_HOST}:${CI_SERVER_PORT}/api/v4/projects/${CI_PROJECT_ID}/jobs/artifacts/${CI_COMMIT_BRANCH}/download?job=${CI_JOB_NAME}&job_token=${CI_JOB_TOKEN}" || true
  - unzip artifacts.zip data/ppparis/* || true
  - rm artifacts.zip || true
  script:
  - source bin/activate
  - python ./ppparis.py
  only:
  - main
  cache:
    key: $CI_COMMIT_REF_SLUG
    paths:
    - bin/
    - lib/
    - pyvenv.cfg
  artifacts:
    paths:
    - data/ppparis/
    - output.log
    expire_in: 1 year