Compare commits

...

11 commits
2.0.0 ... main

Author SHA1 Message Date
woodpecker[bot]
20ea949102 chore(release): 2.0.5 2025-02-22 21:09:34 +00:00
dbef065579 ci: fix publish workflow 2025-02-22 22:06:25 +01:00
woodpecker[bot]
0e6508ac07 chore(release): 2.0.4 2025-02-22 20:02:58 +00:00
woodpecker[bot]
99e3cc88c3 chore(release): 2.0.3 2025-02-22 19:59:46 +00:00
79723e278e
ci: improve publish workflow 2025-02-22 20:57:43 +01:00
3f6e0baa51
ci: bump foundry-publish 2025-02-22 20:50:52 +01:00
0e74e43b91
chore: cleanup config files 2025-02-22 20:50:06 +01:00
woodpecker[bot]
318a821e6b chore(release): 2.0.2 2025-02-22 16:06:42 +00:00
a419025705
ci: bump foundry-publish to v3.0.1 2025-02-22 17:03:08 +01:00
woodpecker[bot]
c787584b12 chore(release): 2.0.1 2025-02-22 15:51:56 +00:00
8abab3d534
chore: fix reuse 2025-02-22 16:48:04 +01:00
9 changed files with 74 additions and 52 deletions

View file

@ -1,15 +0,0 @@
// SPDX-FileCopyrightText: 2021 Johannes Loher
//
// SPDX-License-Identifier: MIT
module.exports = {
parser: "@typescript-eslint/parser",
parserOptions: { ecmaVersion: 2020, sourceType: "module" },
env: { browser: true },
extends: ["plugin:@typescript-eslint/recommended", "prettier"],
plugins: ["@typescript-eslint"],
overrides: [
{ files: ["./*.cjs"], rules: { "@typescript-eslint/no-var-requires": "off" } },
{ files: ["./spec/**/*"], env: { browser: false } },
],
};

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
@ -38,6 +49,7 @@ steps:
- <<: *enable_pnpm
- pnpm install --frozen-lockfile
build:
depends_on: install
image: *node_image
environment:
NODE_ENV: production
@ -46,7 +58,7 @@ steps:
- <<: *enable_pnpm
- pnpm build
package:
group: prepare-release
depends_on: build
image: alpine:latest
commands:
- apk update
@ -54,61 +66,67 @@ steps:
- mv dist ${CI_REPO_NAME}
- zip -r ${CI_REPO_NAME}.zip ${CI_REPO_NAME}/*
changelog:
group: prepare-release
depends_on: build
image: *node_image
commands:
- <<: *enable_pnpm
- pnpm changelog
choose-latest-channel:
group: prepare-release
depends_on: build
image: alpine:latest
commands:
- echo latest > .RELEASE_CHANNEL
when:
<<: *is_latest_channel
choose-beta-channel:
group: prepare-release
depends_on: build
image: alpine:latest
commands:
- echo beta > .RELEASE_CHANNEL
when:
<<: *is_beta_channel
release-latest:
depends_on:
- package
- changelog
- choose-latest-channel
image: *release_plugin
settings:
<<: *release_base_settings
when:
<<: *is_latest_channel
release-beta:
depends_on:
- package
- changelog
- choose-beta-channel
image: *release_plugin
settings:
<<: *release_base_settings
prerelease: true
when:
<<: *is_beta_channel
publish-manifest:
group: publish
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:
group: publish
image: johannesloher/foundry-publish
depends_on: release-latest
image: johannesloher/foundry-publish:v4.0.0
environment:
FVTT_DELETE_OBSOLETE_VERSIONS: "true"
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_username
- fvtt_password
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

View file

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2025 Johannes Loher
#
# SPDX-License-Identifier: MIT
version = 1
SPDX-PackageName = "ds4"
SPDX-PackageSupplier = "Johannes Loher <johannes.loher@fg4f.de>"

View file

@ -1,5 +0,0 @@
// SPDX-FileCopyrightText: 2021 Johannes Loher
//
// SPDX-License-Identifier: MIT
module.exports = { extends: ["@commitlint/config-conventional"] };

8
commitlint.config.js Normal file
View file

@ -0,0 +1,8 @@
// SPDX-FileCopyrightText: 2021 Johannes Loher
//
// SPDX-License-Identifier: MIT
/**
* @type {import("@commitlint/types").UserConfig}
*/
export default { extends: ["@commitlint/config-conventional"] };

View file

@ -2,7 +2,7 @@
"private": true,
"name": "dungeonslayers4",
"description": "An implementation of the Dungeonslayers 4 game system for Foundry Virtual Tabletop.",
"version": "2.0.0",
"version": "2.0.5",
"license": "https://git.f3l.de/dungeonslayers/ds4#licensing",
"homepage": "https://git.f3l.de/dungeonslayers/ds4",
"repository": {
@ -93,5 +93,10 @@
"vitest": "3.0.6",
"yargs": "17.7.2"
},
"packageManager": "pnpm@10.4.1"
"packageManager": "pnpm@10.4.1",
"pnpm": {
"onlyBuiltDependencies": [
"@swc/core"
]
}
}

View file

@ -2,6 +2,11 @@
//
// SPDX-License-Identifier: MIT
// @ts-check
/**
* @type {import("prettier").Config}
*/
export default {
semi: true,
trailingComma: "all",

View file

@ -28,11 +28,11 @@
"name": "Sascha Martens"
}
],
"license": "https://git.f3l.de/dungeonslayers/ds4/raw/tag/2.0.0/LICENSE.md",
"readme": "https://git.f3l.de/dungeonslayers/ds4/raw/tag/2.0.0/README.md",
"license": "https://git.f3l.de/dungeonslayers/ds4/raw/tag/2.0.5/LICENSE.md",
"readme": "https://git.f3l.de/dungeonslayers/ds4/raw/tag/2.0.5/README.md",
"bugs": "https://git.f3l.de/dungeonslayers/ds4/issues",
"changelog": "https://git.f3l.de/dungeonslayers/ds4/releases/tag/2.0.0",
"version": "2.0.0",
"changelog": "https://git.f3l.de/dungeonslayers/ds4/releases/tag/2.0.5",
"version": "2.0.5",
"flags": {
"hotReload": {
"extensions": ["css", "hbs", "json"],
@ -116,7 +116,7 @@
}
],
"manifest": "https://git.f3l.de/api/packages/dungeonslayers/generic/ds4/latest/system.json",
"download": "https://git.f3l.de/dungeonslayers/ds4/releases/download/2.0.0/ds4.zip",
"download": "https://git.f3l.de/dungeonslayers/ds4/releases/download/2.0.5/ds4.zip",
"initiative": "@combatValues.initiative.total",
"grid": {
"distance": 1,