ci: switch to Gitea
All checks were successful
ci/woodpecker/push/checks Pipeline was successful

This commit is contained in:
Johannes Loher 2023-06-21 20:15:19 +02:00
parent 6e46d90405
commit 2b859efa62
2 changed files with 40 additions and 38 deletions

View file

@ -23,55 +23,50 @@ steps:
NODE_ENV: production NODE_ENV: production
commands: commands:
- yarn build - yarn build
- mv dist ${CI_REPO_NAME} package:
publish-artifacts:
group: prepare-release group: prepare-release
image: alpine:latest image: alpine:latest
commands: commands:
- apk update - apk update
- apk add zip curl - apk add zip curl
- mv dist ${CI_REPO_NAME}
- zip -r ${CI_REPO_NAME}.zip ${CI_REPO_NAME}/* - 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: changelog:
group: prepare-release group: prepare-release
image: *node_image image: *node_image
commands: commands:
- yarn changelog - yarn changelog
release: release:
image: registry.gitlab.com/gitlab-org/release-cli:latest 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-latest-manifest:
group: publish
image: alpine:latest
commands: commands:
- export CI_FORGE_API_URL=${CI_FORGE_URL}/api/v4 - apk update
- | - apk add curl
release-cli \ - 'curl --header "Authorization: token $${FORGE_TOKEN}" -X "DELETE" "${CI_FORGE_URL}/api/packages/${CI_REPO_OWNER}/generic/${CI_REPO_NAME}/latest/module.json"'
--server-url ${CI_FORGE_URL} \ - '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}/latest/module.json"'
--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: secrets:
- forge_token - forge_token
- package_type
publish-to-foundry-admin: publish-to-foundry-admin:
group: publish
image: johannesloher/foundry-publish image: johannesloher/foundry-publish
environment: environment:
FVTT_DELETE_OBSOLETE_VERSIONS: 'true' FVTT_DELETE_OBSOLETE_VERSIONS: 'true'
commands: commands:
- export FVTT_MANIFEST_PATH=${CI_REPO_NAME}/$${PACKAGE_TYPE}.json - export FVTT_MANIFEST_PATH=${CI_REPO_NAME}/module.json
- export FVTT_MANIFEST_URL=${CI_REPO_URL}/-/releases/${CI_COMMIT_TAG}/downlaods/$${PACKAGE_TYPE}.json - export FVTT_MANIFEST_URL=${CI_REPO_URL}/releases/download/${CI_COMMIT_TAG}/module.json
- foundry-publish - foundry-publish
secrets: secrets:
- fvtt_package_id - fvtt_package_id
- fvtt_username - fvtt_username
- fvtt_password - fvtt_password
- package_type

View file

@ -7,16 +7,20 @@ import semver from 'semver';
import yargs from 'yargs'; import yargs from 'yargs';
import { hideBin } from 'yargs/helpers'; import { hideBin } from 'yargs/helpers';
const repository = 'saluu/darkness-dependent-vision'; const packageType = 'module';
const gitlabURL = 'https://git.f3l.de'; const repositoryOwner = process.env.CI_REPO_OWNER;
const repositoryName = process.env.CI_REPO_NAME;
const repositoryURL = process.env.CI_REPO_LINK;
const forgeURL = process.env.CI_FORGE_URL;
const getLicenseURL = (version) => `${gitlabURL}/${repository}/-/raw/${version}/LICENSE.md`; const manifestURL = `${forgeURL}/api/packages/${repositoryOwner}/generic/${repositoryName}/latest/${packageType}.json`;
const getReadmeURL = (version) => `${gitlabURL}/${repository}/-/raw/${version}/README.md`; const getDownloadURL = (version) => `${repositoryURL}/releases/download/${version}/${repositoryName}.zip`;
const getChangelogURL = (version) => `${gitlabURL}/${repository}/-/releases/${version}`; const bugsURL = `${repositoryURL}/issues`;
const getDownloadURL = (version) => const getChangelogURL = (version) => `${repositoryURL}/releases/tag/${version}`;
`${gitlabURL}/${repository}/-/releases/${version}/downloads/darkness-dependent-vision.zip`; const getReadmeURL = (version) => `${repositoryURL}/raw/tag/${version}/README.md`;
const getLicenseURL = (version) => `${repositoryURL}/raw/tag/${version}/LICENSE.md`;
const manifestPath = 'module.json'; const manifestPath = `${packageType}.json`;
/** /**
* Get the contents of the manifest file as object. * Get the contents of the manifest file as object.
@ -68,11 +72,14 @@ function bumpVersion(release) {
console.log(`Bumping version number to '${targetVersion}'`); console.log(`Bumping version number to '${targetVersion}'`);
packageJson.version = targetVersion; packageJson.version = targetVersion;
fs.writeJSONSync('package.json', packageJson, { spaces: 2 }); fs.writeJSONSync('package.json', packageJson, { spaces: 2 });
manifest.license = getLicenseURL(targetVersion);
manifest.readme = getReadmeURL(targetVersion);
manifest.changelog = getChangelogURL(targetVersion);
manifest.version = targetVersion; manifest.version = targetVersion;
manifest.url = repositoryURL;
manifest.manifest = manifestURL;
manifest.download = getDownloadURL(targetVersion); manifest.download = getDownloadURL(targetVersion);
manifest.bugs = bugsURL;
manifest.changelog = getChangelogURL(targetVersion);
manifest.readme = getReadmeURL(targetVersion);
manifest.license = getLicenseURL(targetVersion);
fs.writeJSONSync(manifestPath, manifest, { spaces: 2 }); fs.writeJSONSync(manifestPath, manifest, { spaces: 2 });
} }