--- include: - project: shore/ci-templates file: templates/pre-commit.yml - project: shore/ci-templates file: templates/python.yml - project: shore/ci-templates file: templates/gitlab-release.yml test: stage: test image: $project:$version-slim before_script: - apt-get update - >- apt-get install -y bats build-essential git libdbus-1-dev libffi-dev libglib2.0-dev libssl-dev wget # yamllint disable-line rule:line-length - wget https://github.com/cloudbees-oss/juxr/releases/download/0.1.22/juxr-x86_64-unknown-linux-gnu.tar.gz -O - | tar -xzC /usr/local/bin - |- if [ "$project" = 'pypy' ] then ln -sf /opt/pypy/bin/pypy "/usr/local/bin/python$version" fi - pip install pipenv - pipenv install --dev --python=$version script: - pipenv run bats | tee results.tap - pipenv run doctest --junit-xml results/doctest.xml after_script: - juxr tap --name bats --output results/ -- cat results.tap variables: XDG_CACHE_HOME: "$CI_PROJECT_DIR/.cache" PIPENV_VENV_IN_PROJECT: "1" LANG: C.UTF-8 PIPENV_SKIP_LOCK: 1 cache: key: "$CI_JOB_NAME" paths: - .cache/ - .venv/ artifacts: reports: junit: results/*.xml parallel: matrix: - project: python version: - "2.7" - "3.6" - "3.7" - "3.8" - "3.9" - project: pypy version: - "2.7" - "3.6" - "3.7"