ci: publish to foundry automatically
This commit is contained in:
parent
773af35fa9
commit
f36c7f52b7
3 changed files with 28 additions and 4 deletions
|
@ -8,8 +8,9 @@ image: node:lts
|
||||||
stages:
|
stages:
|
||||||
- test
|
- test
|
||||||
- build
|
- build
|
||||||
- publish
|
- prepare-release
|
||||||
- release
|
- release
|
||||||
|
- publish
|
||||||
|
|
||||||
cache: &global_cache
|
cache: &global_cache
|
||||||
paths:
|
paths:
|
||||||
|
@ -61,8 +62,8 @@ build:
|
||||||
expire_in: 1 week
|
expire_in: 1 week
|
||||||
|
|
||||||
publish-artifacts:
|
publish-artifacts:
|
||||||
|
stage: prepare-release
|
||||||
image: alpine:latest
|
image: alpine:latest
|
||||||
stage: publish
|
|
||||||
before_script:
|
before_script:
|
||||||
- apk update
|
- apk update
|
||||||
- apk add zip curl
|
- apk add zip curl
|
||||||
|
@ -70,12 +71,11 @@ publish-artifacts:
|
||||||
zip -r ds4.zip ds4/*
|
zip -r ds4.zip ds4/*
|
||||||
curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ds4.zip "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/ds4/$CI_COMMIT_TAG/ds4.zip"
|
curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ds4.zip "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/ds4/$CI_COMMIT_TAG/ds4.zip"
|
||||||
curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ds4/system.json "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/ds4/$CI_COMMIT_TAG/system.json"
|
curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ds4/system.json "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/ds4/$CI_COMMIT_TAG/system.json"
|
||||||
curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ds4/system.json "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/ds4/latest/system.json"
|
|
||||||
rules:
|
rules:
|
||||||
- if: '$CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+$/'
|
- if: '$CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+$/'
|
||||||
|
|
||||||
changelog:
|
changelog:
|
||||||
stage: publish
|
stage: prepare-release
|
||||||
before_script:
|
before_script:
|
||||||
- yarn install --immutable
|
- yarn install --immutable
|
||||||
script:
|
script:
|
||||||
|
@ -150,3 +150,24 @@ release:
|
||||||
url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/ds4/$CI_COMMIT_TAG/system.json"
|
url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/ds4/$CI_COMMIT_TAG/system.json"
|
||||||
filepath: /system.json
|
filepath: /system.json
|
||||||
link_type: other
|
link_type: other
|
||||||
|
|
||||||
|
publish-latest-manifest:
|
||||||
|
stage: publish
|
||||||
|
image: alpine:latest
|
||||||
|
before_script:
|
||||||
|
- apk update
|
||||||
|
- apk add zip curl
|
||||||
|
script: |
|
||||||
|
curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ds4/system.json "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/ds4/latest/system.json"
|
||||||
|
rules:
|
||||||
|
- if: '$CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+$/'
|
||||||
|
|
||||||
|
publish-to-foundry-admin:
|
||||||
|
stage: publish
|
||||||
|
image: johannesloher/foundry-publish
|
||||||
|
variables:
|
||||||
|
FVTT_MANIFEST_PATH: ./src/system.json
|
||||||
|
FVTT_MANIFEST_URL: ${CI_PROJECT_URL}/-/releases/${CI_COMMIT_TAG}/downloads/system.json
|
||||||
|
script: foundry-publish
|
||||||
|
rules:
|
||||||
|
- if: '$CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+$/'
|
||||||
|
|
|
@ -24,6 +24,7 @@ const stylesExtension = ".scss";
|
||||||
const sourceFileExtension = ".ts";
|
const sourceFileExtension = ".ts";
|
||||||
const staticFiles = ["assets", "fonts", "lang", "packs", "templates", "system.json", "template.json"];
|
const staticFiles = ["assets", "fonts", "lang", "packs", "templates", "system.json", "template.json"];
|
||||||
const getDownloadURL = (version) => `https://git.f3l.de/dungeonslayers/ds4/-/releases/${version}/downloads/ds4.zip`;
|
const getDownloadURL = (version) => `https://git.f3l.de/dungeonslayers/ds4/-/releases/${version}/downloads/ds4.zip`;
|
||||||
|
const getChangelogURL = (version) => `https://git.f3l.de/dungeonslayers/ds4/-/releases/${version}`;
|
||||||
|
|
||||||
/********************/
|
/********************/
|
||||||
/* BUILD */
|
/* BUILD */
|
||||||
|
@ -210,6 +211,7 @@ function bumpVersion(cb) {
|
||||||
|
|
||||||
manifest.file.version = targetVersion;
|
manifest.file.version = targetVersion;
|
||||||
manifest.file.download = getDownloadURL(targetVersion);
|
manifest.file.download = getDownloadURL(targetVersion);
|
||||||
|
manifest.file.changelog = getChangelogURL(targetVersion);
|
||||||
fs.writeJSONSync(path.join(sourceDirectory, manifest.name), manifest.file, { spaces: 4 });
|
fs.writeJSONSync(path.join(sourceDirectory, manifest.name), manifest.file, { spaces: 4 });
|
||||||
|
|
||||||
return cb();
|
return cb();
|
||||||
|
|
|
@ -93,6 +93,7 @@
|
||||||
"url": "https://git.f3l.de/dungeonslayers/ds4",
|
"url": "https://git.f3l.de/dungeonslayers/ds4",
|
||||||
"manifest": "https://git.f3l.de/api/v4/projects/dungeonslayers%2Fds4/packages/generic/ds4/latest/system.json",
|
"manifest": "https://git.f3l.de/api/v4/projects/dungeonslayers%2Fds4/packages/generic/ds4/latest/system.json",
|
||||||
"download": "https://git.f3l.de/dungeonslayers/ds4/-/releases/1.4.3/downloads/ds4.zip",
|
"download": "https://git.f3l.de/dungeonslayers/ds4/-/releases/1.4.3/downloads/ds4.zip",
|
||||||
|
"changelog": "https://git.f3l.de/dungeonslayers/ds4/-/releases/1.4.3",
|
||||||
"license": "https://git.f3l.de/dungeonslayers/ds4#licensing",
|
"license": "https://git.f3l.de/dungeonslayers/ds4#licensing",
|
||||||
"initiative": "@combatValues.initiative.total",
|
"initiative": "@combatValues.initiative.total",
|
||||||
"manifestPlusVersion": "1.0.0",
|
"manifestPlusVersion": "1.0.0",
|
||||||
|
|
Loading…
Reference in a new issue