mirror of
https://gitlab.com/LazyLibrarian/LazyLibrarian.git
synced 2026-02-06 10:47:15 +00:00
104 lines
2.7 KiB
YAML
104 lines
2.7 KiB
YAML
default:
|
|
image: python:latest
|
|
|
|
cache:
|
|
paths:
|
|
- .cache/pip
|
|
- venv/
|
|
|
|
artifacts:
|
|
when: always
|
|
reports:
|
|
junit: lltest.xml
|
|
coverage_report:
|
|
coverage_format: cobertura
|
|
path: coverage.xml
|
|
|
|
stages:
|
|
- test
|
|
- package
|
|
|
|
variables:
|
|
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
|
|
|
|
.standard_job: # The basis for all jobs using a standard Python interpreter
|
|
stage: test
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "web"'
|
|
when: always # Run only manually, by triggering run on the web
|
|
- when: never # Never run when the source is a "push", for now
|
|
before_script:
|
|
- python --version # So it's in the log
|
|
- pip install virtualenv
|
|
- virtualenv venv
|
|
- source venv/bin/activate
|
|
- scripts/ci/install-required-modules.sh
|
|
coverage: '/(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/'
|
|
|
|
test_all_mods:
|
|
extends: .standard_job
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "web"'
|
|
when: always # Run only manually, by triggering run on the web
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
|
when: always # Run this one on schedule
|
|
- when: never # Never run when the source is a "push", for now
|
|
script:
|
|
- scripts/ci/install-optional-modules.sh
|
|
- scripts/ci/runtests.sh
|
|
|
|
test_min_mods:
|
|
extends: .standard_job
|
|
script:
|
|
- scripts/ci/remove-optional-modules.sh
|
|
- scripts/ci/runtests.sh
|
|
|
|
test_all_mods-earliest:
|
|
extends: .standard_job
|
|
image: python:3.7 # Will be end of life on 24 June 2023
|
|
script:
|
|
- scripts/ci/install-optional-modules.sh
|
|
- scripts/ci/runtests.sh
|
|
|
|
test_min_mods-earliest:
|
|
extends: .standard_job
|
|
image: python:3.7 # Will be end of life on 24 June 2023
|
|
script:
|
|
- scripts/ci/remove-optional-modules.sh
|
|
- scripts/ci/runtests.sh
|
|
|
|
test_all_pystonlite_310:
|
|
extends: .standard_job
|
|
image: python:3.10
|
|
script:
|
|
- python3 -m pip install pyston_lite_autoload # Install Pyston Lite Autoloader
|
|
- scripts/ci/install-optional-modules.sh
|
|
- scripts/ci/runtests.sh
|
|
|
|
# test_all_pystonfull:
|
|
# image: pyston/pyston # Performance-optimized python
|
|
# stage: test
|
|
# before_script:
|
|
# - python --version # So it's in the log
|
|
# - pip install virtualenv
|
|
# - virtualenv venv-pyston
|
|
# - source venv-pyston/bin/activate
|
|
# - apt-get update
|
|
# - apt-get install rustc -y # Cryptography needs Rust to build
|
|
# script:
|
|
# - scripts/ci/install-required-modules.sh
|
|
# - scripts/ci/install-optional-modules.sh
|
|
# - scripts/ci/runtests.sh
|
|
# - deactivate
|
|
# coverage: '/(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/'
|
|
|
|
build_latest:
|
|
extends: .standard_job
|
|
stage: package
|
|
script:
|
|
- python3 -m build
|
|
artifacts:
|
|
paths:
|
|
- dist/
|
|
|