parent
ad372a6271
commit
55b8d9cbf9
57
.github/workflows/ci.yaml
vendored
Normal file
57
.github/workflows/ci.yaml
vendored
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
name: ci
|
||||||
|
on: [ push, pull_request ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
ci:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
statuses: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 20
|
||||||
|
|
||||||
|
- id: version
|
||||||
|
name: version
|
||||||
|
run: echo "VERSION=$(npm --silent run version)" >> ${GITHUB_OUTPUT}
|
||||||
|
|
||||||
|
- name: echo version
|
||||||
|
run: echo ${{ steps.version.outputs.VERSION }}
|
||||||
|
|
||||||
|
- name: npm install
|
||||||
|
run: npm install
|
||||||
|
- name: build
|
||||||
|
run: npm run build
|
||||||
|
|
||||||
|
- name: zip release
|
||||||
|
if: github.ref_name == 'main'
|
||||||
|
working-directory: dist
|
||||||
|
run: zip -r foundryvtt-dice-tower-${{ steps.version.outputs.VERSION }}.zip .
|
||||||
|
|
||||||
|
- name: create tag
|
||||||
|
if: github.ref_name == 'main'
|
||||||
|
run: |
|
||||||
|
git config user.email "ci@git.arindy.de"
|
||||||
|
git config user.name "gitea"
|
||||||
|
git tag ${{ steps.version.outputs.VERSION }} -m "release ${{ steps.version.outputs.VERSION }}"
|
||||||
|
git push origin main
|
||||||
|
git push origin ${{ steps.version.outputs.VERSION }}
|
||||||
|
|
||||||
|
- name: release
|
||||||
|
if: github.ref_name == 'main'
|
||||||
|
uses: akkuman/gitea-release-action@v1
|
||||||
|
env:
|
||||||
|
NODE_OPTIONS: '--experimental-fetch' # if nodejs < 18
|
||||||
|
with:
|
||||||
|
files: |-
|
||||||
|
dist/foundryvtt-dice-tower-${{ steps.version.outputs.VERSION }}.zip
|
||||||
|
dist/module.json
|
||||||
|
tag_name: ${{ steps.version.outputs.VERSION }}
|
||||||
|
name: Release ${{ steps.version.outputs.VERSION }}
|
@ -8,6 +8,7 @@
|
|||||||
"build": "npm run clean && tsc && vite build",
|
"build": "npm run clean && tsc && vite build",
|
||||||
"watch": "tsc && vite build --watch",
|
"watch": "tsc && vite build --watch",
|
||||||
"copy": "sudo rsync -avP dist/ .foundry/data/Data/modules/dice-tower/",
|
"copy": "sudo rsync -avP dist/ .foundry/data/Data/modules/dice-tower/",
|
||||||
|
"version": "echo $npm_package_version",
|
||||||
"buildCopy": "npm run build && npm run copy"
|
"buildCopy": "npm run build && npm run copy"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -3,10 +3,6 @@ import copy from "rollup-plugin-copy";
|
|||||||
import scss from "rollup-plugin-scss";
|
import scss from "rollup-plugin-scss";
|
||||||
import {defineConfig, Plugin} from "vite";
|
import {defineConfig, Plugin} from "vite";
|
||||||
|
|
||||||
const moduleVersion = process.env.MODULE_VERSION;
|
|
||||||
const githubProject = process.env.GH_PROJECT;
|
|
||||||
const githubTag = process.env.GH_TAG;
|
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
build: {
|
build: {
|
||||||
sourcemap: true,
|
sourcemap: true,
|
||||||
@ -46,7 +42,7 @@ function updateModuleManifestPlugin(): Plugin {
|
|||||||
const packageContents = JSON.parse(
|
const packageContents = JSON.parse(
|
||||||
await fsPromises.readFile("./package.json", "utf-8")
|
await fsPromises.readFile("./package.json", "utf-8")
|
||||||
) as Record<string, unknown>;
|
) as Record<string, unknown>;
|
||||||
const version = moduleVersion || (packageContents.version as string);
|
const version = (packageContents.version as string);
|
||||||
const description = (packageContents.description as string);
|
const description = (packageContents.description as string);
|
||||||
const manifestContents: string = await fsPromises.readFile(
|
const manifestContents: string = await fsPromises.readFile(
|
||||||
"src/module.json",
|
"src/module.json",
|
||||||
@ -58,15 +54,9 @@ function updateModuleManifestPlugin(): Plugin {
|
|||||||
>;
|
>;
|
||||||
manifestJson["version"] = version;
|
manifestJson["version"] = version;
|
||||||
manifestJson["description"] = description;
|
manifestJson["description"] = description;
|
||||||
if (githubProject) {
|
const baseUrl = `https://git.arindy.de/arindy/foundryvtt-dice-tower/releases/download`;
|
||||||
const baseUrl = `https://github.com/${githubProject}/releases`;
|
manifestJson["manifest"] = `${baseUrl}/latest/module.json`;
|
||||||
manifestJson["manifest"] = `${baseUrl}/latest/download/module.json`;
|
manifestJson["download"] = `${baseUrl}/${version}/foundryvtt-dice-tower-${version}.zip`;
|
||||||
if (githubTag) {
|
|
||||||
manifestJson[
|
|
||||||
"download"
|
|
||||||
] = `${baseUrl}/download/${githubTag}/module.zip`;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
await fsPromises.writeFile(
|
await fsPromises.writeFile(
|
||||||
"dist/module.json",
|
"dist/module.json",
|
||||||
JSON.stringify(manifestJson, null, 4)
|
JSON.stringify(manifestJson, null, 4)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user