stages: - build - upload - release variables: PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/devlifefrommodernway/${CI_COMMIT_TAG}" GIT_SUBMODULE_STRATEGY: recursive upload: stage: upload image: curlimages/curl:latest rules: - if: $CI_COMMIT_TAG script: - 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file target/book.pdf ${PACKAGE_REGISTRY_URL}/book-${CI_COMMIT_TAG}.pdf' - 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file target/book.epub ${PACKAGE_REGISTRY_URL}/book-${CI_COMMIT_TAG}.epub' - 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file target/book.mobi ${PACKAGE_REGISTRY_URL}/book-${CI_COMMIT_TAG}.mobi' release: stage: release image: registry.gitlab.com/gitlab-org/release-cli:latest rules: - if: $CI_COMMIT_TAG script: - release-cli create --name "book-$CI_COMMIT_TAG" --tag-name $CI_COMMIT_TAG --assets-link "{\"name\":\"book.pdf\", \"url\":\"${PACKAGE_REGISTRY_URL}/book-${CI_COMMIT_TAG}.pdf\"}" --assets-link "{\"name\":\"book.epub\", \"url\":\"${PACKAGE_REGISTRY_URL}/book-${CI_COMMIT_TAG}.epub\"}" --assets-link "{\"name\":\"book.mobi\", \"url\":\"${PACKAGE_REGISTRY_URL}/book-${CI_COMMIT_TAG}.mobi\"}" pages: stage: build image: docker:24.0.5 services: - docker:24.0.5-dind before_script: - docker info cache: key: files: - pnpm-lock.yaml paths: - node_modules/ script: - docker build -t devlifefrommodernway . - docker run -v ./:/build devlifefrommodernway - cp -a _book/. public/ artifacts: paths: - public/ - target/ rules: - if: $CI_COMMIT_TAG