78 lines
2.1 KiB
YAML
78 lines
2.1 KiB
YAML
stages:
|
|
- 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"
|
|
GIT_DEPTH: 1
|
|
|
|
build:
|
|
stage: build
|
|
image: alpine:latest
|
|
variables:
|
|
TECTONIC_DEPS_CACHE_PATH: "${CI_PROJECT_DIR}/.cache/Tectonic"
|
|
TECTONIC_BIN_CACHE_PATH: "${CI_PROJECT_DIR}/tectonic"
|
|
cache:
|
|
policy: pull-push
|
|
when: on_success
|
|
paths:
|
|
- "${TECTONIC_DEPS_CACHE_PATH}"
|
|
- "${TECTONIC_BIN_CACHE_PATH}"
|
|
script: |
|
|
mkdir -p "${CI_PROJECT_DIR}/.cache"
|
|
mkdir -p "${HOME}/.cache"
|
|
if [ -r "${TECTONIC_DEPS_CACHE_PATH}" ]; then
|
|
mv "${TECTONIC_DEPS_CACHE_PATH}" "${HOME}/.cache"
|
|
fi
|
|
|
|
if ! [ -x ./tectonic ]; then
|
|
echo "Cache miss, tectonic binary not in cache! Redownloading!"
|
|
apk update
|
|
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
|
|
tar -xf tectonic.tar.gz
|
|
fi
|
|
|
|
echo "Compiling resume!"
|
|
./tectonic -X compile --keep-logs ./resume.tex
|
|
echo "Finished compiling resume, saving caches"
|
|
|
|
mv "${HOME}/.cache/Tectonic" "${CI_PROJECT_DIR}/.cache/Tectonic"
|
|
artifacts:
|
|
expire_in: 1 week
|
|
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}'
|
|
|
|
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}"
|
|
ref: "${CI_COMMIT_SHA}"
|
|
assets:
|
|
links:
|
|
- name: "${RESUME_FILE}"
|
|
url: "${PACKAGE_REGISTRY_URL}/${CI_COMMIT_TAG}/${RESUME_FILE}"
|
|
filepath: /resume.pdf
|
|
link_type: other
|