# SPDX-FileCopyrightText: 2023 Johannes Loher # # SPDX-License-Identifier: MIT variables: - &node_image node:lts when: event: tag evaluate: CI_COMMIT_TAG matches "^[0-9]+\\\\.[0-9]+\\\\.[0-9]+$" depends_on: - checks steps: install: image: *node_image commands: - yarn install --immutable build: image: *node_image environment: NODE_ENV: production commands: - yarn build - mv dist ${CI_REPO_NAME} publish-artifacts: group: prepare-release image: alpine:latest commands: - apk update - apk add zip curl - zip -r ${CI_REPO_NAME}.zip ${CI_REPO_NAME}/* - export CI_FORGE_API_URL=${CI_FORGE_URL}/api - 'curl --fail --header "Authorization: token $${FORGE_TOKEN}" --upload-file ${CI_REPO_NAME}.zip "$${CI_FORGE_API_URL}/packages/${CI_REPO_OWNER}/generic/${CI_REPO_NAME}/${CI_COMMIT_TAG}/${CI_REPO_NAME}.zip"' - 'curl --fail --header "Authorization: token $${FORGE_TOKEN}" --upload-file ${CI_REPO_NAME}/$${PACKAGE_TYPE}.json "$${CI_FORGE_API_URL}/packages/${CI_REPO_OWNER}/generic/${CI_REPO_NAME}/${CI_COMMIT_TAG}/$${PACKAGE_TYPE}.json"' secrets: - forge_token - package_type changelog: group: prepare-release image: *node_image commands: - yarn changelog # release: # image: registry.gitlab.com/gitlab-org/release-cli:latest # commands: # - export CI_FORGE_API_URL=${CI_FORGE_URL}/api/v4 # - | # release-cli \ # --server-url ${CI_FORGE_URL} \ # --private-token $${FORGE_TOKEN} \ # --project-id ${CI_REPO_REMOTE_ID} \ # create \ # --name ${CI_COMMIT_TAG} \ # --description CHANGELOG.md \ # --tag-name ${CI_COMMIT_TAG} \ # --assets-link "[\ # {\"name\": \"${CI_REPO_NAME}.zip\", \"url\": \"$${CI_FORGE_API_URL}/projects/${CI_REPO_REMOTE_ID}/packages/generic/${CI_REPO_NAME}/${CI_COMMIT_TAG}/${CI_REPO_NAME}.zip\", \"filepath\": \"/${CI_REPO_NAME}.zip\", \"link_type\": \"package\"},\ # {\"name\": \"$${PACKAGE_TYPE}.json\", \"url\": \"$${CI_FORGE_API_URL}/projects/${CI_REPO_REMOTE_ID}/packages/generic/${CI_REPO_NAME}/${CI_COMMIT_TAG}/$${PACKAGE_TYPE}.json\", \"filepath\": \"/$${PACKAGE_TYPE}.json\", \"link_type\": \"other\"}\ # ]" # secrets: # - forge_token # - package_type # publish-to-foundry-admin: # image: johannesloher/foundry-publish # environment: # FVTT_DELETE_OBSOLETE_VERSIONS: 'true' # commands: # - export FVTT_MANIFEST_PATH=${CI_REPO_NAME}/$${PACKAGE_TYPE}.json # - export FVTT_MANIFEST_URL=${CI_REPO_URL}/-/releases/${CI_COMMIT_TAG}/downlaods/$${PACKAGE_TYPE}.json # - foundry-publish # secrets: # - fvtt_package_id # - fvtt_username # - fvtt_password # - package_type