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:
|
||||
- test
|
||||
- publish
|
||||
|
@ -14,5 +8,6 @@ variables:
|
|||
IMAGE_TAG: ${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}
|
||||
|
||||
include:
|
||||
- template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
|
||||
- local: '/.gitlab/ci/docker-gitlab-ci.yml'
|
||||
- local: '/.gitlab/ci/cv-gitlab-ci.yml'
|
||||
|
|
|
@ -1,35 +1,37 @@
|
|||
---
|
||||
#--------------------------------------------#
|
||||
# Hidden job templates for CV build pipeline #
|
||||
#--------------------------------------------#
|
||||
.use-cv-builder:
|
||||
image: ${IMAGE_NAME}:master-cb8a29c7
|
||||
|
||||
.test-conditions:
|
||||
.cv-test-rules:
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
when: always
|
||||
- if:
|
||||
changes:
|
||||
- docker/Dockerfile
|
||||
- __output/*
|
||||
- changes:
|
||||
- "docker/Dockerfile"
|
||||
- "__output/*"
|
||||
when: never
|
||||
- when: always
|
||||
|
||||
.publish-conditions:
|
||||
.cv-publish-rules:
|
||||
rules:
|
||||
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_PATH == "dananglin/cv"'
|
||||
when: always
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
when: never
|
||||
- if:
|
||||
changes:
|
||||
- docker/Dockerfile
|
||||
- __output/*
|
||||
- changes:
|
||||
- "docker/Dockerfile"
|
||||
- "__output/*"
|
||||
when: never
|
||||
|
||||
#------------------------------------#
|
||||
# Visible jobs for CV build pipeline #
|
||||
#------------------------------------#
|
||||
|
||||
test:spellcheck:
|
||||
before_script:
|
||||
- apt-get update
|
||||
- apt-get -y install aspell make
|
||||
extends:
|
||||
- .test-conditions
|
||||
- .cv-test-rules
|
||||
image: ubuntu:18.04
|
||||
stage: test
|
||||
script:
|
||||
|
@ -42,7 +44,7 @@ test:pdf:
|
|||
- __output/cv.pdf
|
||||
extends:
|
||||
- .use-cv-builder
|
||||
- .test-conditions
|
||||
- .cv-test-rules
|
||||
stage: test
|
||||
script:
|
||||
- make clean pdf
|
||||
|
@ -50,7 +52,7 @@ test:pdf:
|
|||
publish:pdf:
|
||||
extends:
|
||||
- .use-cv-builder
|
||||
- .publish-conditions
|
||||
- .cv-publish-rules
|
||||
before_script:
|
||||
- eval $(ssh-agent -s)
|
||||
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
---
|
||||
#--------------------------------------------------------#
|
||||
# Hidden job templates for Docker build/publish pipeline #
|
||||
#--------------------------------------------------------#
|
||||
.docker-build-setup:
|
||||
image: docker:19.03.12
|
||||
services:
|
||||
|
@ -16,7 +19,13 @@
|
|||
stage: test
|
||||
extends: .docker-build-setup
|
||||
|
||||
.docker-publish:
|
||||
.docker-test-rules:
|
||||
rules:
|
||||
- changes:
|
||||
- "docker/Dockerfile"
|
||||
when: always
|
||||
|
||||
.docker-publish-pre-post:
|
||||
stage: publish
|
||||
extends: .docker-build-setup
|
||||
before_script:
|
||||
|
@ -25,34 +34,32 @@
|
|||
after_script:
|
||||
- docker logout ${CI_REGISTRY}
|
||||
|
||||
.test-docker-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
|
||||
.docker-publish-rules:
|
||||
rules:
|
||||
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_PATH == "dananglin/cv"'
|
||||
changes:
|
||||
- "docker/Dockerfile"
|
||||
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