ci: fix publish workflow

This commit is contained in:
Johannes Loher 2025-02-22 22:02:19 +01:00
parent 0e6508ac07
commit dbef065579
2 changed files with 40 additions and 20 deletions

View file

@ -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

View file

@ -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