ci: fix pipeline workflow and job rules
- use upstream template workflow. - always run CV test jobs unless certain files are changed. - clean up Dockerfile test job rules. - clean up publish job rules.
This commit is contained in:
parent
ef50b88032
commit
ac558faaa9
3 changed files with 54 additions and 50 deletions
|
@ -1,10 +1,4 @@
|
||||||
---
|
---
|
||||||
workflow:
|
|
||||||
rules:
|
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
||||||
- if: '$CI_COMMIT_TAG'
|
|
||||||
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
|
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- test
|
- test
|
||||||
- publish
|
- publish
|
||||||
|
@ -14,5 +8,6 @@ variables:
|
||||||
IMAGE_TAG: ${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}
|
IMAGE_TAG: ${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}
|
||||||
|
|
||||||
include:
|
include:
|
||||||
|
- template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
|
||||||
- local: '/.gitlab/ci/docker-gitlab-ci.yml'
|
- local: '/.gitlab/ci/docker-gitlab-ci.yml'
|
||||||
- local: '/.gitlab/ci/cv-gitlab-ci.yml'
|
- local: '/.gitlab/ci/cv-gitlab-ci.yml'
|
||||||
|
|
|
@ -1,35 +1,37 @@
|
||||||
---
|
---
|
||||||
|
#--------------------------------------------#
|
||||||
|
# Hidden job templates for CV build pipeline #
|
||||||
|
#--------------------------------------------#
|
||||||
.use-cv-builder:
|
.use-cv-builder:
|
||||||
image: ${IMAGE_NAME}:master-cb8a29c7
|
image: ${IMAGE_NAME}:master-cb8a29c7
|
||||||
|
|
||||||
.test-conditions:
|
.cv-test-rules:
|
||||||
rules:
|
rules:
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
- changes:
|
||||||
when: always
|
- "docker/Dockerfile"
|
||||||
- if:
|
- "__output/*"
|
||||||
changes:
|
|
||||||
- docker/Dockerfile
|
|
||||||
- __output/*
|
|
||||||
when: never
|
when: never
|
||||||
|
- when: always
|
||||||
|
|
||||||
.publish-conditions:
|
.cv-publish-rules:
|
||||||
rules:
|
rules:
|
||||||
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_PATH == "dananglin/cv"'
|
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_PATH == "dananglin/cv"'
|
||||||
when: always
|
when: always
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
- changes:
|
||||||
when: never
|
- "docker/Dockerfile"
|
||||||
- if:
|
- "__output/*"
|
||||||
changes:
|
|
||||||
- docker/Dockerfile
|
|
||||||
- __output/*
|
|
||||||
when: never
|
when: never
|
||||||
|
|
||||||
|
#------------------------------------#
|
||||||
|
# Visible jobs for CV build pipeline #
|
||||||
|
#------------------------------------#
|
||||||
|
|
||||||
test:spellcheck:
|
test:spellcheck:
|
||||||
before_script:
|
before_script:
|
||||||
- apt-get update
|
- apt-get update
|
||||||
- apt-get -y install aspell make
|
- apt-get -y install aspell make
|
||||||
extends:
|
extends:
|
||||||
- .test-conditions
|
- .cv-test-rules
|
||||||
image: ubuntu:18.04
|
image: ubuntu:18.04
|
||||||
stage: test
|
stage: test
|
||||||
script:
|
script:
|
||||||
|
@ -42,7 +44,7 @@ test:pdf:
|
||||||
- __output/cv.pdf
|
- __output/cv.pdf
|
||||||
extends:
|
extends:
|
||||||
- .use-cv-builder
|
- .use-cv-builder
|
||||||
- .test-conditions
|
- .cv-test-rules
|
||||||
stage: test
|
stage: test
|
||||||
script:
|
script:
|
||||||
- make clean pdf
|
- make clean pdf
|
||||||
|
@ -50,7 +52,7 @@ test:pdf:
|
||||||
publish:pdf:
|
publish:pdf:
|
||||||
extends:
|
extends:
|
||||||
- .use-cv-builder
|
- .use-cv-builder
|
||||||
- .publish-conditions
|
- .cv-publish-rules
|
||||||
before_script:
|
before_script:
|
||||||
- eval $(ssh-agent -s)
|
- eval $(ssh-agent -s)
|
||||||
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
|
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
---
|
---
|
||||||
|
#--------------------------------------------------------#
|
||||||
|
# Hidden job templates for Docker build/publish pipeline #
|
||||||
|
#--------------------------------------------------------#
|
||||||
.docker-build-setup:
|
.docker-build-setup:
|
||||||
image: docker:19.03.12
|
image: docker:19.03.12
|
||||||
services:
|
services:
|
||||||
|
@ -16,7 +19,13 @@
|
||||||
stage: test
|
stage: test
|
||||||
extends: .docker-build-setup
|
extends: .docker-build-setup
|
||||||
|
|
||||||
.docker-publish:
|
.docker-test-rules:
|
||||||
|
rules:
|
||||||
|
- changes:
|
||||||
|
- "docker/Dockerfile"
|
||||||
|
when: always
|
||||||
|
|
||||||
|
.docker-publish-pre-post:
|
||||||
stage: publish
|
stage: publish
|
||||||
extends: .docker-build-setup
|
extends: .docker-build-setup
|
||||||
before_script:
|
before_script:
|
||||||
|
@ -25,34 +34,32 @@
|
||||||
after_script:
|
after_script:
|
||||||
- docker logout ${CI_REGISTRY}
|
- docker logout ${CI_REGISTRY}
|
||||||
|
|
||||||
.test-docker-rules:
|
.docker-publish-rules:
|
||||||
rules:
|
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
||||||
changes:
|
|
||||||
- "docker/Dockerfile"
|
|
||||||
when: always
|
|
||||||
|
|
||||||
test:dockerfile:lint:
|
|
||||||
extends:
|
|
||||||
- .dockerfile-lint
|
|
||||||
- .test-docker-rules
|
|
||||||
|
|
||||||
test:docker:build:
|
|
||||||
extends:
|
|
||||||
- .dockerbuild-test
|
|
||||||
- .test-docker-rules
|
|
||||||
script:
|
|
||||||
- make image
|
|
||||||
|
|
||||||
publish:docker-image:
|
|
||||||
extends:
|
|
||||||
- .docker-publish
|
|
||||||
script:
|
|
||||||
- make publish
|
|
||||||
rules:
|
rules:
|
||||||
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_PATH == "dananglin/cv"'
|
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_PATH == "dananglin/cv"'
|
||||||
changes:
|
changes:
|
||||||
- "docker/Dockerfile"
|
- "docker/Dockerfile"
|
||||||
when: always
|
when: always
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
||||||
when: never
|
#------------------------------------------------#
|
||||||
|
# Visible jobs for Docker build/publish pipeline #
|
||||||
|
#------------------------------------------------#
|
||||||
|
|
||||||
|
test:dockerfile:lint:
|
||||||
|
extends:
|
||||||
|
- .dockerfile-lint
|
||||||
|
- .docker-test-rules
|
||||||
|
|
||||||
|
test:docker:build:
|
||||||
|
extends:
|
||||||
|
- .dockerbuild-test
|
||||||
|
- .docker-test-rules
|
||||||
|
script:
|
||||||
|
- make image
|
||||||
|
|
||||||
|
publish:docker-image:
|
||||||
|
extends:
|
||||||
|
- .docker-publish-pre-post
|
||||||
|
- .docker-publish-rules
|
||||||
|
script:
|
||||||
|
- make publish
|
||||||
|
|
Loading…
Reference in a new issue