diff --git a/.woodpecker/publish.yaml b/.woodpecker/publish.yaml index 05d7e912..5cdef92e 100644 --- a/.woodpecker/publish.yaml +++ b/.woodpecker/publish.yaml @@ -23,6 +23,17 @@ variables: - ${CI_REPO_NAME}/system.json api_key: from_secret: forge_token + - &publish_manifest_base + image: alpine:latest + environment: + FORGE_TOKEN: + from_secret: forge_token + 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}/system.json"' + - 'curl --fail --header "Authorization: token $${FORGE_TOKEN}" --upload-file ${CI_REPO_NAME}/system.json "${CI_FORGE_URL}/api/packages/${CI_REPO_OWNER}/generic/${CI_REPO_NAME}/$${RELEASE_CHANNEL}/system.json"' when: event: tag @@ -75,40 +86,47 @@ steps: when: <<: *is_beta_channel release-latest: - depends_on: choose-latest-channel + depends_on: + - package + - changelog + - choose-latest-channel image: *release_plugin settings: <<: *release_base_settings when: <<: *is_latest_channel release-beta: - depends_on: choose-beta-channel + depends_on: + - package + - changelog + - choose-beta-channel image: *release_plugin settings: <<: *release_base_settings prerelease: true when: <<: *is_beta_channel - publish-manifest: - depends_on: [release-latest, release-beta] - 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}/system.json"' - - 'curl --fail --header "Authorization: token $${FORGE_TOKEN}" --upload-file ${CI_REPO_NAME}/system.json "${CI_FORGE_URL}/api/packages/${CI_REPO_OWNER}/generic/${CI_REPO_NAME}/$${RELEASE_CHANNEL}/system.json"' - secrets: - - forge_token + publish-manifest-latest: + <<: *publish_manifest_base + depends_on: release-latest + when: + <<: *is_latest_channel + publish-manifest-beta: + <<: *publish_manifest_base + depends_on: release-beta + when: + <<: *is_beta_channel publish-to-foundry-admin: - depends_on: [release-latest, release-beta] + depends_on: release-latest image: johannesloher/foundry-publish:v4.0.0 + environment: + FVTT_PACKAGE_ID: + from_secret: fvtt_package_id + FVTT_TOKEN: + from_secret: fvtt_token commands: - export FVTT_MANIFEST_PATH=${CI_REPO_NAME}/system.json - export FVTT_MANIFEST_URL=${CI_REPO_URL}/releases/download/${CI_COMMIT_TAG}/system.json - foundry-publish - secrets: - - fvtt_package_id - - fvtt_token when: <<: *is_latest_channel diff --git a/.woodpecker/release.yaml b/.woodpecker/release.yaml index fce1dbdb..17966857 100644 --- a/.woodpecker/release.yaml +++ b/.woodpecker/release.yaml @@ -25,6 +25,11 @@ steps: - pnpm install --frozen-lockfile release: image: *node_image + environment: + FORGE_TOKEN_NAME: + from_secret: forge_token_name + FORGE_TOKEN: + from_secret: forge_token commands: - <<: *enable_pnpm - apt-get update @@ -42,6 +47,3 @@ steps: - git tag -f $${RELEASE_VERSION} - git push origin ${CI_COMMIT_BRANCH} - git push origin $${RELEASE_VERSION} - secrets: - - forge_token_name - - forge_token