# SPDX-FileCopyrightText: 2023 Johannes Loher # # SPDX-License-Identifier: MIT $schema: https://raw.githubusercontent.com/woodpecker-ci/woodpecker/master/pipeline/schema/schema.json variables: - &node_image node:lts when: event: tag evaluate: CI_COMMIT_TAG matches "^[0-9]+\\\\.[0-9]+\\\\.[0-9]+(-[0-9]+)?$" depends_on: - checks steps: install: image: *node_image commands: - yarn install --immutable build: environment: NODE_ENV: production commands: - export APPDATA=$(pwd) - yarn build package: 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}/* changelog: group: prepare-release image: *node_image commands: - yarn changelog choose-latest-channel: group: prepare-release image: alpine:latest commands: - echo latest > .RELEASE_CHANNEL when: evaluate: CI_COMMIT_TAG matches "^[0-9]+\\\\.[0-9]+\\\\.[0-9]+$" choose-beta-channel: group: prepare-release image: alpine:latest commands: - echo beta > .RELEASE_CHANNEL when: evaluate: CI_COMMIT_TAG matches "^[0-9]+\\\\.[0-9]+\\\\.[0-9]+-[0-9]+$" release: image: woodpeckerci/plugin-gitea-release settings: base_url: ${CI_FORGE_URL} title: ${CI_COMMIT_TAG} note: CHANGELOG.md files: - ${CI_REPO_NAME}.zip - ${CI_REPO_NAME}/module.json api_key: from_secret: forge_token publish-manifest: group: publish image: alpine:latest commands: - apk update - apk add curl - export RELEASE_CHANNEL=$(cat .RELEASE_CHANNEL) - 'curl --header "Authorization: token $${FORGE_TOKEN}" -X "DELETE" "${CI_FORGE_URL}/api/packages/${CI_REPO_OWNER}/generic/${CI_REPO_NAME}/$${RELEASE_CHANNEL}/module.json"' - 'curl --fail --header "Authorization: token $${FORGE_TOKEN}" --upload-file ${CI_REPO_NAME}/module.json "${CI_FORGE_URL}/api/packages/${CI_REPO_OWNER}/generic/${CI_REPO_NAME}/$${RELEASE_CHANNEL}/module.json"' secrets: - forge_token publish-to-foundry-admin: group: publish image: johannesloher/foundry-publish environment: FVTT_DELETE_OBSOLETE_VERSIONS: 'true' commands: - export FVTT_MANIFEST_PATH=${CI_REPO_NAME}/module.json - export FVTT_MANIFEST_URL=${CI_REPO_URL}/releases/download/${CI_COMMIT_TAG}/module.json - foundry-publish secrets: - fvtt_package_id - fvtt_username - fvtt_password when: evaluate: CI_COMMIT_TAG matches "^[0-9]+\\\\.[0-9]+\\\\.[0-9]+$"