# -*- coding: utf-8 -*- # vim: ft=yaml --- include: - local: templates/Rules.yaml - local: templates/Runners/eole-docker.yaml - local: templates/Lint/Commitlint.yaml - local: templates/Docker.yaml - local: templates/Release/Semantic-release.yaml stages: - lint - build - release .docker-matrix: parallel: matrix: - IMAGE_NAME: [commitlint, semantic-release-gitlab] ############################################################################### # `build` stage: `*-docker-build` ############################################################################### # Suffix all jobs to avoid conflict with other jobs names build-docker: extends: - .docker-matrix - .build-docker-image ############################################################################### # `release` stage: `semantic-release`, `*-docker-tag` ############################################################################### # Suffix all jobs to avoid conflict with other jobs names .tag-docker: extends: - .docker-matrix - .tag-docker-image ## dev images tag dev: extends: - .tag-docker - .on-dev variables: IMAGE_TAG: dev ## testing images tag testing: extends: - .tag-docker - .on-testing variables: IMAGE_TAG: testing ## stable images .tag-stable: extends: .tag-docker variables: SOURCE_TAG: testing tag release: extends: .tag-stable tag major: extends: .tag-stable before_script: - export RELEASE_PREFIX=${RELEASE_PREFIX:-release/} - export RELEASE=${CI_COMMIT_TAG#${RELEASE_PREFIX}} - export IMAGE_TAG=${RELEASE%%.*} tag minor: extends: - .tag-stable before_script: - export RELEASE_PREFIX=${RELEASE_PREFIX:-release/} - export RELEASE=${CI_COMMIT_TAG#${RELEASE_PREFIX}} - export IMAGE_TAG=${RELEASE%.${RELEASE##*.}} tag stable: extends: .tag-stable variables: IMAGE_TAG: stable tag latest: extends: .tag-stable variables: IMAGE_TAG: latest