2019-12-22 02:53:11 +00:00
|
|
|
---
|
2020-08-08 06:56:51 +01:00
|
|
|
#--------------------------------------------#
|
|
|
|
# Hidden job templates for CV build pipeline #
|
|
|
|
#--------------------------------------------#
|
2019-12-22 02:53:11 +00:00
|
|
|
.use-cv-builder:
|
2022-02-02 01:47:39 +00:00
|
|
|
image: ${IMAGE_NAME}:master-44f2a31c
|
2019-12-22 02:53:11 +00:00
|
|
|
|
2020-08-15 20:22:00 +01:00
|
|
|
.cv-default-job-rules:
|
2020-08-08 04:36:13 +01:00
|
|
|
rules:
|
2020-08-08 06:56:51 +01:00
|
|
|
- when: always
|
2020-08-08 04:36:13 +01:00
|
|
|
|
2020-08-15 20:22:00 +01:00
|
|
|
.cv-publish-job-rules:
|
2020-08-08 04:36:13 +01:00
|
|
|
rules:
|
2020-08-15 20:22:00 +01:00
|
|
|
- if: '$CI_COMMIT_REF_NAME =~ /^[0-9]{4}(.[0-9]{2}){2}$/ && $CI_PROJECT_PATH == "dananglin/cv"'
|
2020-08-08 04:36:13 +01:00
|
|
|
when: always
|
2020-08-15 20:22:00 +01:00
|
|
|
|
|
|
|
.default-tags:
|
|
|
|
tags:
|
|
|
|
- dananglin-general
|
|
|
|
|
|
|
|
.release-tags:
|
|
|
|
tags:
|
|
|
|
- dananglin-cv-release
|
2020-02-08 13:56:21 +00:00
|
|
|
|
2020-08-08 06:56:51 +01:00
|
|
|
#------------------------------------#
|
|
|
|
# Visible jobs for CV build pipeline #
|
|
|
|
#------------------------------------#
|
2020-02-08 13:56:21 +00:00
|
|
|
test:spellcheck:
|
|
|
|
extends:
|
2020-08-15 20:22:00 +01:00
|
|
|
- .cv-default-job-rules
|
|
|
|
- .default-tags
|
2020-08-09 05:08:30 +01:00
|
|
|
- .use-cv-builder
|
2020-02-08 13:56:21 +00:00
|
|
|
script:
|
2020-09-13 23:30:08 +01:00
|
|
|
- cv-make spellcheck
|
2020-08-15 20:22:00 +01:00
|
|
|
stage: test
|
2020-02-08 13:56:21 +00:00
|
|
|
|
2020-02-07 16:05:30 +00:00
|
|
|
test:pdf:
|
2020-08-15 20:22:00 +01:00
|
|
|
extends:
|
|
|
|
- .cv-default-job-rules
|
|
|
|
- .default-tags
|
|
|
|
- .use-cv-builder
|
|
|
|
script:
|
2020-09-13 23:30:08 +01:00
|
|
|
- cv-make pdf
|
2020-08-15 20:22:00 +01:00
|
|
|
stage: test
|
|
|
|
|
|
|
|
build:pdf:
|
2020-02-07 16:05:30 +00:00
|
|
|
artifacts:
|
2020-08-15 20:22:00 +01:00
|
|
|
expire_in: "30 minutes"
|
2020-02-07 16:05:30 +00:00
|
|
|
paths:
|
|
|
|
- __output/cv.pdf
|
2020-02-08 13:56:21 +00:00
|
|
|
extends:
|
2020-08-15 20:22:00 +01:00
|
|
|
- .default-tags
|
2020-02-08 13:56:21 +00:00
|
|
|
- .use-cv-builder
|
2020-08-15 20:22:00 +01:00
|
|
|
needs:
|
|
|
|
- job: "test:spellcheck"
|
|
|
|
artifacts: false
|
|
|
|
- job: "test:pdf"
|
|
|
|
artifacts: false
|
|
|
|
rules:
|
|
|
|
- if: '$CI_MERGE_REQUEST_IID'
|
|
|
|
when: always
|
2020-02-07 16:05:30 +00:00
|
|
|
script:
|
2020-09-13 23:30:08 +01:00
|
|
|
- cv-make pdf
|
2020-08-15 20:22:00 +01:00
|
|
|
stage: build
|
2020-02-07 16:05:30 +00:00
|
|
|
|
2020-08-15 20:22:00 +01:00
|
|
|
build:pdf-for-publish:
|
|
|
|
artifacts:
|
|
|
|
expire_in: "1 year"
|
|
|
|
name: cv-DanAnglin-${CI_COMMIT_REF_NAME}
|
|
|
|
paths:
|
|
|
|
- ${RELEASE_CV_FILENAME}
|
|
|
|
- build_job_id
|
|
|
|
extends:
|
|
|
|
- .cv-publish-job-rules
|
|
|
|
- .default-tags
|
2020-08-08 04:36:13 +01:00
|
|
|
- .use-cv-builder
|
2020-08-15 20:22:00 +01:00
|
|
|
needs:
|
|
|
|
- job: "test:spellcheck"
|
|
|
|
artifacts: false
|
|
|
|
- job: "test:pdf"
|
|
|
|
artifacts: false
|
|
|
|
script:
|
2020-09-13 23:30:08 +01:00
|
|
|
- cv-make pdf
|
2020-08-15 20:22:00 +01:00
|
|
|
- mv __output/cv.pdf ${RELEASE_CV_FILENAME}
|
|
|
|
- echo "${CI_JOB_ID}" > build_job_id
|
|
|
|
stage: build
|
|
|
|
|
|
|
|
publish:pdf:online:
|
2019-12-22 02:53:11 +00:00
|
|
|
before_script:
|
2020-08-15 20:22:00 +01:00
|
|
|
- export BUILD_JOB_ID=$( cat build_job_id )
|
|
|
|
extends:
|
|
|
|
- .cv-publish-job-rules
|
|
|
|
- .release-tags
|
|
|
|
image: registry.gitlab.com/gitlab-org/release-cli:v0.3.0
|
|
|
|
needs:
|
|
|
|
- job: "build:pdf-for-publish"
|
|
|
|
artifacts: true
|
|
|
|
script:
|
|
|
|
- 'echo "Publishing CV for release ${CI_COMMIT_REF_NAME}"'
|
|
|
|
- >
|
|
|
|
release-cli create --name "CV - ${CI_COMMIT_REF_NAME}"
|
|
|
|
--description "CV published with the release-cli tool for version ${CI_COMMIT_REF_NAME}"
|
|
|
|
--tag-name "${CI_COMMIT_REF_NAME}"
|
|
|
|
--ref "${CI_COMMIT_REF_NAME}"
|
|
|
|
--assets-links-name "${RELEASE_CV_FILENAME}"
|
|
|
|
--assets-links-url "https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/jobs/${BUILD_JOB_ID}/artifacts/${RELEASE_CV_FILENAME}"
|
|
|
|
stage: "publish"
|
|
|
|
variables:
|
|
|
|
GIT_STRATEGY: "none"
|
|
|
|
|
|
|
|
# Private releases rebuilds the CV with the extra details.
|
|
|
|
publish:pdf:private:
|
|
|
|
extends:
|
|
|
|
- .cv-publish-job-rules
|
|
|
|
- .release-tags
|
|
|
|
- .use-cv-builder
|
|
|
|
needs:
|
|
|
|
- job: "test:spellcheck"
|
|
|
|
artifacts: false
|
|
|
|
- job: "test:pdf"
|
|
|
|
artifacts: false
|
2019-12-22 02:53:11 +00:00
|
|
|
script:
|
2020-09-13 23:30:08 +01:00
|
|
|
- cv-make pdf
|
2020-08-15 20:22:00 +01:00
|
|
|
- mv __output/cv.pdf ${CV_DEPLOY_DIR}/${RELEASE_CV_FILENAME}
|
|
|
|
stage: publish
|
|
|
|
variables:
|
|
|
|
CV_DEPLOY_DIR: "/CV"
|
|
|
|
CV_CONTACT_PHONE: $RELEASE_CV_CONTACT_PHONE
|