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

This commit is contained in:
Johannes Loher 2023-06-21 20:15:19 +02:00
parent 6e46d90405
commit d1805811b6
5 changed files with 52 additions and 44 deletions

View file

@ -1,7 +1,7 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: darkness-dependent-vision Upstream-Name: darkness-dependent-vision
Upstream-Contact: Johannes Loher <johannes.loher@fg4f.de> Upstream-Contact: Johannes Loher <johannes.loher@fg4f.de>
Source: https://git.f3l.de/saluu/darkness-dependent-vision Source: https://git2.f3l.de/saluu/darkness-dependent-vision
Files: .yarn/** Files: .yarn/**
Copyright: Copyright (c) 2016-present, Yarn Contributors. All rights reserved. Copyright: Copyright (c) 2016-present, Yarn Contributors. All rights reserved.

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

@ -6,6 +6,12 @@ SPDX-License-Identifier: MIT
# Darkness Dependent Vision # Darkness Dependent Vision
[![status-badge](https://ci.f3l.de/api/badges/1/status.svg)](https://ci.f3l.de/repos/1)
[![REUSE status](https://api.reuse.software/badge/git2.f3l.de/saluu/darkness-dependent-vision)](https://api.reuse.software/info/git2.f3l.de/saluu/darkness-dependent-vision)
[![Forge installs](https://img.shields.io/badge/dynamic/json?label=Forge%20Installs&query=package.installs&suffix=%25&url=https%3A%2F%2Fforge-vtt.com%2Fapi%2Fbazaar%2Fpackage%2Fdarkness-dependent-vision&colorB=4aa94a)](https://forge-vtt.com/bazaar#package=darkness-dependent-vision)
[![Supported foundry versions](https://img.shields.io/endpoint?url=https://foundryshields.com/version?url=https%3A%2F%2Fgit2.f3l.de%2Fapi%2Fpackages%2Fsaluu%2Fgeneric%2Fdarkness-dependent-vision%2Flatest%2Fmodule.json)](https://git2.f3l.de/saluu/darkness-dependent-vision)
[![Ko-fi](https://img.shields.io/badge/Ko--fi-ghostfvtt-00B9FE?logo=kofi)](https://ko-fi.com/ghostfvtt)
A module for [Foundry Virtual Tabletop] that provides functionality to make the A module for [Foundry Virtual Tabletop] that provides functionality to make the
dim and bright vision of tokens depend on the scene's darkness level. dim and bright vision of tokens depend on the scene's darkness level.
@ -15,7 +21,7 @@ To install and use the Darkness Dependent Vision module for Foundry Virtual
Tabletop, simply paste the following URL into the **Install Module** dialog on Tabletop, simply paste the following URL into the **Install Module** dialog on
the Setup menu of the application. the Setup menu of the application.
https://git.f3l.de/saluu/darkness-dependent-vision/-/raw/latest/src/module.json?inline=false https://git2.f3l.de/api/packages/saluu/generic/darkness-dependent-vision/latest/module.json
### libWrapper ### libWrapper

View file

@ -3,14 +3,14 @@
"name": "darkness-dependent-vision", "name": "darkness-dependent-vision",
"version": "0.3.12", "version": "0.3.12",
"description": "A module for Foundry Virtual Tabletop that provides functionality to make the dim and bright vision of tokens depend on the scene's darkness level.", "description": "A module for Foundry Virtual Tabletop that provides functionality to make the dim and bright vision of tokens depend on the scene's darkness level.",
"license": "https://git.f3l.de/saluu/darkness-dependent-vision#licensing", "license": "https://git2.f3l.de/saluu/darkness-dependent-vision/src/branch/master/LICENSE.md",
"homepage": "https://git.f3l.de/saluu/darkness-dependent-vision", "homepage": "https://git2.f3l.de/saluu/darkness-dependent-vision",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.f3l.de/saluu/darkness-dependent-vision" "url": "https://git2.f3l.de/saluu/darkness-dependent-vision"
}, },
"bugs": { "bugs": {
"url": "https://git.f3l.de/saluu/darkness-dependent-vision/-/issues" "url": "https://git2.f3l.de/saluu/darkness-dependent-vision/issues"
}, },
"contributors": [ "contributors": [
{ {

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 });
} }