--- .use-python: image: python:3.7.6-slim-buster .playbook-docker-vars: variables: DOCKERFILE: "Dockerfile" IMAGE_NAME: ${CI_REGISTRY}/${CI_PROJECT_PATH}/playbook IMAGE_TAG: ${CI_COMMIT_REF_NAME} .playbook-docker-test-rules: rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' changes: - "Dockerfile" when: always test:playbook:dockerfile-lint: extends: - .dockerfile-lint - .playbook-docker-vars - .playbook-docker-test-rules test:playbook:docker-build: extends: - .dockerbuild-test - .playbook-docker-vars - .playbook-docker-test-rules script: - export IMAGE_DATE=$(date -Iseconds) - export BUILD_ARGS="--build-arg BUILD_TAG=${IMAGE_TAG} --build-arg BUILD_TIME=${IMAGE_DATE}" - make image test:playbook:custom-modules: stage: test extends: .use-python before_script: - apt-get update && apt-get install make - pip install ansible==2.9.7 script: - make test_modules_unit only: refs: - merge_requests changes: - library/* except: refs: - master publish:playbook:docker-image: extends: - .docker-publish - .playbook-docker-vars script: - export IMAGE_DATE=$(date -Iseconds) - export BUILD_ARGS="--build-arg BUILD_TAG=${IMAGE_TAG} --build-arg BUILD_TIME=${IMAGE_DATE}" - make publish only: - /^v[0-9]+(.[0-9]+){2}$/