Skip to content
.gitlab-ci.yml 1.42 KiB
Newer Older
nimrod's avatar
nimrod committed
---
nimrod's avatar
nimrod committed
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
nimrod's avatar
nimrod committed
  - template: Security/SAST.gitlab-ci.yml

variables:
  SAST_EXPERIMENTAL_FEATURES: "true"
nimrod's avatar
nimrod committed
install-wheel:
  extends: .install-wheel
  script:
    - template --help
nimrod's avatar
nimrod committed
    - template --version
nimrod's avatar
nimrod committed
test:
  stage: test
  image: $project:$version-slim
nimrod's avatar
nimrod committed
  before_script:
nimrod's avatar
nimrod committed
    - apt-get update
    - >-
      apt-get install -y
      bats
      build-essential
nimrod's avatar
nimrod committed
      wget
nimrod's avatar
nimrod committed
    # 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
    - find dist/*.whl -exec pip install {}[all] \;
    - pip install pytest six
nimrod's avatar
nimrod committed
  script:
    - juxr tap --name bats --output results/ -- bats tests/
    - pytest --doctest-modules --junit-xml results/doctest.xml
nimrod's avatar
nimrod committed
  after_script:
nimrod's avatar
nimrod committed
  variables:
nimrod's avatar
nimrod committed
    XDG_CACHE_HOME: "$CI_PROJECT_DIR/.cache"
  cache:
    key: "$CI_JOB_NAME"
    paths:
      - .cache/
      - .venv/
  artifacts:
    reports:
      junit: results/*.xml
  needs:
    - job: build-wheel
      artifacts: true
nimrod's avatar
nimrod committed
  parallel:
    matrix:
      - project: python
        version:
          - "2.7"
          - "3.6"
          - "3.7"
          - "3.8"
          - "3.9"
      - project: pypy
        version:
          - "2.7"
          - "3.7"