Commit c024e01c authored by Adrian DC's avatar Adrian DC
Browse files

chore: gitlab-ci: run build and tests jobs only if needed

parent 8e52f5c7
Loading
Loading
Loading
Loading
+40 −2
Changes for .gitlab-ci.yml: 40 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -79,6 +79,14 @@ stages:
  after_script:
    - echo '' && git diff --name-status
    - git diff --quiet
  rules:
    - if: $CI_COMMIT_REF_NAME == "develop"
      changes:
        - 'docs/**/*'
        - 'gitlabci_local/**/*'
        - 'setup.py'
    - if: $CI_COMMIT_TAG || $CI_PIPELINE_SOURCE == "trigger" || $CI_PIPELINE_SOURCE == "web" || $CI_COMMIT_REF_NAME != "develop"
      when: on_success
  allow_failure: true

'Lint':
@@ -105,6 +113,14 @@ stages:
        --disable=too-many-statements \
        --redefining-builtins-modules=sys \
        ./docs/ ./gitlabci_local/ ./setup.py
  rules:
    - if: $CI_COMMIT_REF_NAME == "develop"
      changes:
        - 'docs/**/*'
        - 'gitlabci_local/**/*'
        - 'setup.py'
    - if: $CI_COMMIT_TAG || $CI_PIPELINE_SOURCE == "trigger" || $CI_PIPELINE_SOURCE == "web" || $CI_COMMIT_REF_NAME != "develop"
      when: on_success
  allow_failure: true

'Build':
@@ -117,6 +133,12 @@ stages:
  script:
    - rm -rf build dist *.egg-info .eggs
    - python3 setup.py bdist_wheel
  rules:
    - if: $CI_COMMIT_REF_NAME == "develop"
      changes:
        - 'gitlabci_local/**/*'
    - if: $CI_COMMIT_TAG || $CI_PIPELINE_SOURCE == "trigger" || $CI_PIPELINE_SOURCE == "web" || $CI_COMMIT_REF_NAME != "develop"
      when: on_success
  artifacts:
    paths:
      - dist/
@@ -163,6 +185,14 @@ stages:
    - pip install --force-reinstall --no-deps --upgrade dist/*.whl
  allow_failure: true

.unit-tests-rules:
  rules:
    - if: $CI_COMMIT_REF_NAME == "develop"
      changes:
        - 'gitlabci_local/**/*'
    - if: $CI_COMMIT_TAG || $CI_PIPELINE_SOURCE == "trigger" || $CI_PIPELINE_SOURCE == "web" || $CI_COMMIT_REF_NAME != "develop"
      when: on_success

.unit-tests-template:
  stage: test
  dependencies:
@@ -278,48 +308,56 @@ stages:
  extends:
    - .unit-tests-template
    - .unit-tests-docker
    - .unit-tests-rules
  image: python:3.6

'Py3.7 Docker':
  extends:
    - .unit-tests-template
    - .unit-tests-docker
    - .unit-tests-rules
  image: python:3.7

'Py3.8 Docker':
  extends:
    - .unit-tests-template
    - .unit-tests-docker
    - .unit-tests-rules
  image: python:3.8

'Py3.9 Docker':
  extends:
    - .unit-tests-template
    - .unit-tests-docker
    - .unit-tests-rules
  image: python:3.9

'Py3.6 Podman':
  extends:
    - .unit-tests-template
    - .unit-tests-podman
    - .unit-tests-rules
  image: python:3.6

'Py3.7 Podman':
  extends:
    - .unit-tests-template
    - .unit-tests-podman
    - .unit-tests-rules
  image: python:3.7

'Py3.8 Podman':
  extends:
    - .unit-tests-template
    - .unit-tests-podman
    - .unit-tests-rules
  image: python:3.8

'Py3.9 Podman':
  extends:
    - .unit-tests-template
    - .unit-tests-podman
    - .unit-tests-rules
  image: python:3.9

'Python Local':
@@ -345,8 +383,8 @@ stages:
    - description="${description}"$'\n\n''### Download'$'\n'
    - gitlab-release --description "${description}" --link-prefix '* ' ./dist/*
    - twine upload -u '__token__' -p "${TWINE_PASSWORD}" ./dist/*
  only:
    - tags
  rules:
    - if: $CI_COMMIT_TAG

'Deploy Trial':
  stage: deploy