allow manual triggering of builds

bump action versions
add token reference for electron build
add release workflow
add links for windows replacements
add helper for github build workflow
align asset names with build artifact names
produce zip artifacts from electron build
change artifact name to KiriMoto and add array build target
add mac app signing
add electron app icons
add links.csv helper
add dryrun cache build and integration into electron app for faster startup
allow windows install alt location. suppress gdpr on localhost / built apps
This commit is contained in:
Stewart Allen 2024-06-14 17:48:01 -04:00
commit b526bec87e
18 changed files with 372 additions and 59 deletions

View file

@ -20,9 +20,12 @@
"gcode",
"slicer"
],
"engines": {
"node": ">=18.0.0"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^6.1.1",
"@gridspace/app-server": "^0.0.10",
"@gridspace/app-server": "^0.0.13",
"@gridspace/net-level-client": "^0.2.3",
"@tweenjs/tween.js": "^16.6.0",
"base64-js": "^1.5.1",
@ -31,7 +34,6 @@
"connect": "^3.7.0",
"earcut": "^2.2.3",
"express-useragent": "^1.0.13",
"fs-extra": "^11.2.0",
"jszip": "^3.7.1",
"moment": "^2.29.4",
"serve-static": "^1.14.1",
@ -42,31 +44,50 @@
"ws": "^7.5.5"
},
"devDependencies": {
"@electron/notarize": "latest",
"dotenv": "latest",
"electron": "latest",
"electron-builder": "latest"
"electron-builder": "latest",
"fs-extra": "^11.2.0",
"node-fetch": "^3.3.2"
},
"scripts": {
"start": "electron .",
"start-dev": "electron . --devel",
"start-dbg": "electron . --debugg",
"start-ddb": "electron . --devel --debugg",
"build": "npm run prebuild && electron-builder",
"build-debug": "npm run prebuild && DEBUG=electron-builder electron-builder",
"prebuild": "node app-el-prep.js",
"postbuild": "bin/npm-post",
"preinstall": "bin/npm-pre"
"build-linux": "npm run build -- --linux --x64",
"build-win": "npm run build -- --win --x64",
"build-mac": "npm run build -- --mac --arm64",
"mklinks": "find src web -type l | xargs -I{} sh -c 'echo \"{},$(readlink {})\"' > links.csv",
"mac-verify": "spctl --assess -vv --type install dist/*/*.app",
"prebuild": "node bin/electron-pre.js",
"postbuild": "node bin/electron-post.js",
"preinstall": "node bin/install-pre.js"
},
"main": "app-el.js",
"build": {
"appId": "space.grid.kiri",
"productName": "KiriMoto",
"artifactName": "KiriMoto-${os}-${arch}.${ext}",
"files": [
{
"from": "tmp/src",
"to": "src",
"filter": [ "**/*" ]
"filter": [
"**/*"
]
},
{
"from": "tmp/web",
"to": "web",
"filter": [ "**/*" ]
"filter": [
"**/*"
]
},
"bin/*",
"conf/**/*",
"data/**/*",
"dist/**/*",
@ -74,19 +95,40 @@
"app.js",
"package.json"
],
"extraFiles": [
],
"extraFiles": [],
"directories": {
"output": "dist"
},
"win": {
"target": "nsis"
"icon": "bin/GS.ico",
"target": [
"nsis",
"zip"
]
},
"nsis": {
"oneClick": false,
"allowToChangeInstallationDirectory": true,
"allowElevation": true
},
"mac": {
"target": "dmg"
"icon": "bin/GS.icns",
"category": "public.app-category.utilities",
"hardenedRuntime": true,
"gatekeeperAssess": false,
"entitlements": "bin/electron-entitlements.plist",
"entitlementsInherit": "bin/electron-entitlements.plist",
"target": [
"zip"
]
},
"linux": {
"target": "AppImage"
}
"icon": "bin/GS.png",
"target": [
"AppImage",
"zip"
]
},
"afterSign": "bin/electron-notarize.js"
}
}
}