ci: add resume releases
This commit is contained in:
parent
a5d84d1ac5
commit
da0df72a5c
@ -1,13 +1,81 @@
|
|||||||
image: "alpine:latest"
|
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- tectonic-run
|
- build
|
||||||
|
- upload
|
||||||
|
- release
|
||||||
|
|
||||||
|
variables:
|
||||||
|
PACKAGE_VERSION: "$CI_COMMIT_TAG"
|
||||||
|
PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/resume"
|
||||||
|
RESUME_FILE: "resume.pdf"
|
||||||
|
|
||||||
# TODO: Cache curl installs and tectonic, for now this works, but is not performant
|
# TODO: Cache curl installs and tectonic, for now this works, but is not performant
|
||||||
tectonic-run:
|
build:
|
||||||
stage: tectonic-run
|
stage: build
|
||||||
|
image: alpine:latest
|
||||||
script:
|
script:
|
||||||
- apk update && apk upgrade && apk add curl
|
- apk update && apk upgrade && apk add curl
|
||||||
- curl -L0 https://github.com/tectonic-typesetting/tectonic/releases/download/tectonic%400.14.1/tectonic-0.14.1-x86_64-unknown-linux-musl.tar.gz --output tectonic.tar.gz
|
- curl -L0 https://github.com/tectonic-typesetting/tectonic/releases/download/tectonic%400.14.1/tectonic-0.14.1-x86_64-unknown-linux-musl.tar.gz --output tectonic.tar.gz
|
||||||
- tar -xf tectonic.tar.gz
|
- tar -xf tectonic.tar.gz
|
||||||
- ./tectonic -X compile --keep-logs ./resume.tex
|
- ./tectonic -X compile --keep-logs ./resume.tex
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "${RESUME_FILE}"
|
||||||
|
|
||||||
|
|
||||||
|
upload:
|
||||||
|
stage: upload
|
||||||
|
needs:
|
||||||
|
- build
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG
|
||||||
|
image: curlimages/curl:latest
|
||||||
|
script:
|
||||||
|
- 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file "${RESUME_FILE}" ${PACKAGE_REGISTRY_URL}/${CI_COMMIT_TAG}/${RESUME_FILE}'
|
||||||
|
- 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file "${RESUME_FILE}" ${PACKAGE_REGISTRY_URL}/latest/${RESUME_FILE}'
|
||||||
|
|
||||||
|
tag-release:
|
||||||
|
stage: release
|
||||||
|
needs:
|
||||||
|
- upload
|
||||||
|
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
||||||
|
script:
|
||||||
|
- echo "Releasing Resume @ ${CI_COMMIT_TAG}"
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG && $CI_COMMIT_TAG != "latest"
|
||||||
|
release:
|
||||||
|
tag_name: "${CI_COMMIT_TAG}"
|
||||||
|
description: "${CI_COMMIT_TAG_MESSAGE}"
|
||||||
|
ref: "${CI_COMMIT_SHA}"
|
||||||
|
assets:
|
||||||
|
links:
|
||||||
|
- name: "${RESUME_FILE}"
|
||||||
|
url: "${PACKAGE_REGISTRY_URL}/${CI_COMMIT_TAG}/${RESUME_FILE}"
|
||||||
|
|
||||||
|
remove-latest-release:
|
||||||
|
stage: release
|
||||||
|
needs:
|
||||||
|
- upload
|
||||||
|
image: curlimages/curl:latest
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG
|
||||||
|
script:
|
||||||
|
- echo "Removing current latest tag"
|
||||||
|
- 'curl --request DELETE --header "JOB-TOKEN: ${CI_JOB_TOKEN}" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/releases/latest"'
|
||||||
|
|
||||||
|
latest-release:
|
||||||
|
stage: release
|
||||||
|
needs:
|
||||||
|
- remove-latest-release
|
||||||
|
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
||||||
|
script:
|
||||||
|
- echo "Releasing Resume @ latest"
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG
|
||||||
|
release:
|
||||||
|
tag_name: latest
|
||||||
|
description: "${CI_COMMIT_TAG_MESSAGE}"
|
||||||
|
ref: "${CI_COMMIT_SHA}"
|
||||||
|
assets:
|
||||||
|
links:
|
||||||
|
- name: "${RESUME_FILE}"
|
||||||
|
url: "${PACKAGE_REGISTRY_URL}/latest/${RESUME_FILE}"
|
||||||
|
Loading…
Reference in New Issue
Block a user