78 lines
2.7 KiB
YAML
78 lines
2.7 KiB
YAML
|
# 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
|
||
|
publish-artifacts:
|
||
|
group: prepare-release
|
||
|
image: alpine:latest
|
||
|
commands:
|
||
|
- apk update
|
||
|
- apk add zip curl
|
||
|
- mv dist ${CI_REPO_NAME}
|
||
|
- zip -r ${CI_REPO_NAME}.zip ${CI_REPO_NAME}/*
|
||
|
- CI_FORGE_API_URL=${CI_FORGE_URL}/api/v4
|
||
|
- 'curl --fail --header "Authorization: Bearer $${FORGE_TOKEN}" --upload-file ${CI_REPO_NAME}.zip "$${CI_FORGE_API_URL}/projects/${CI_REPO_REMOTE_ID}/packages/generic/${CI_REPO_NAME}/${CI_COMMIT_TAG}/${CI_REPO_NAME}.zip"'
|
||
|
- 'curl --fail --header "Authorization: Bearer $${FORGE_TOKEN}" --upload-file ${CI_REPO_NAME}/$${PACKAGE_TYPE}.json "$${CI_FORGE_API_URL}/projects/${CI_REPO_REMOTE_ID}/packages/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:
|
||
|
- 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:
|
||
|
- FVTT_MANIFEST_PATH=${CI_REPO_NAME}/$${PACKAGE_TYPE}.json
|
||
|
- 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
|