darkness-dependent-vision/.woodpecker/publish.yml

77 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
- 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/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:
- 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