Merge branch 'wip-build'
Aggiunge infrastruttura Docker per build riproducibile (Linux e Windows)
This commit is contained in:
12
contrib/linux/Dockerfile
Normal file
12
contrib/linux/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
FROM node:20-bookworm-slim
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
libudev-dev \
|
||||||
|
libusb-1.0-0-dev \
|
||||||
|
fuse \
|
||||||
|
rpm \
|
||||||
|
dpkg-dev \
|
||||||
|
python3 \
|
||||||
|
make \
|
||||||
|
g++ \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
WORKDIR /project
|
||||||
25
contrib/linux/build.sh
Executable file
25
contrib/linux/build.sh
Executable file
@@ -0,0 +1,25 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||||
|
IMAGE_NAME="cadroute-builder-linux"
|
||||||
|
|
||||||
|
echo "[cadroute] Building Docker image..."
|
||||||
|
docker build -t "$IMAGE_NAME" "$SCRIPT_DIR"
|
||||||
|
|
||||||
|
echo "[cadroute] Running Linux build..."
|
||||||
|
docker run --rm \
|
||||||
|
--device /dev/fuse \
|
||||||
|
--cap-add SYS_ADMIN \
|
||||||
|
-v "$PROJECT_ROOT":/project \
|
||||||
|
-w /project \
|
||||||
|
-v cadroute-electron-cache:/root/.cache/electron \
|
||||||
|
-v cadroute-electronbuilder-cache:/root/.cache/electron-builder \
|
||||||
|
-v /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt:ro \
|
||||||
|
-e SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt \
|
||||||
|
-e NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crt \
|
||||||
|
"$IMAGE_NAME" \
|
||||||
|
bash -c "npm ci && npm run build -- --linux --x64"
|
||||||
|
|
||||||
|
echo "[cadroute] Artefatti in: $PROJECT_ROOT/dist"
|
||||||
2
contrib/windows/Dockerfile
Normal file
2
contrib/windows/Dockerfile
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
FROM electronuserland/builder:wine-mono
|
||||||
|
WORKDIR /project
|
||||||
20
contrib/windows/build.sh
Executable file
20
contrib/windows/build.sh
Executable file
@@ -0,0 +1,20 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||||
|
IMAGE_NAME="cadroute-builder-windows"
|
||||||
|
|
||||||
|
echo "[cadroute] Building Docker image..."
|
||||||
|
docker build -t "$IMAGE_NAME" "$SCRIPT_DIR"
|
||||||
|
|
||||||
|
echo "[cadroute] Running Windows build..."
|
||||||
|
docker run --rm \
|
||||||
|
-v "$PROJECT_ROOT":/project \
|
||||||
|
-w /project \
|
||||||
|
-v cadroute-electron-cache:/root/.cache/electron \
|
||||||
|
-v cadroute-electronbuilder-cache:/root/.cache/electron-builder \
|
||||||
|
"$IMAGE_NAME" \
|
||||||
|
bash -c "npm ci && npm run build -- --win --x64"
|
||||||
|
|
||||||
|
echo "[cadroute] Artefatti in: $PROJECT_ROOT/dist"
|
||||||
1
main.js
1
main.js
@@ -68,6 +68,7 @@ function createWindow() {
|
|||||||
const win = new BrowserWindow({
|
const win = new BrowserWindow({
|
||||||
width: 900,
|
width: 900,
|
||||||
height: 640,
|
height: 640,
|
||||||
|
icon: path.join(__dirname, 'build', 'icon.png'),
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
preload: path.join(__dirname, 'preload.js'),
|
preload: path.join(__dirname, 'preload.js'),
|
||||||
contextIsolation: true,
|
contextIsolation: true,
|
||||||
|
|||||||
17
package.json
17
package.json
@@ -14,16 +14,29 @@
|
|||||||
"build": {
|
"build": {
|
||||||
"appId": "com.cadroute",
|
"appId": "com.cadroute",
|
||||||
"productName": "CadRoute",
|
"productName": "CadRoute",
|
||||||
|
"files": [
|
||||||
|
"main.js",
|
||||||
|
"preload.js",
|
||||||
|
"renderer/**/*",
|
||||||
|
"services/**/*",
|
||||||
|
"build/icon.png"
|
||||||
|
],
|
||||||
"win": {
|
"win": {
|
||||||
"target": "nsis"
|
"target": "nsis",
|
||||||
|
"icon": "build/icon.ico"
|
||||||
|
},
|
||||||
|
"linux": {
|
||||||
|
"target": ["AppImage", "deb"],
|
||||||
|
"icon": "build/icon.png",
|
||||||
|
"category": "Utility"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"electron": "^40.7.0",
|
|
||||||
"fs-extra": "^11.3.4",
|
"fs-extra": "^11.3.4",
|
||||||
"unzipper": "^0.12.3"
|
"unzipper": "^0.12.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"electron": "^40.7.0",
|
||||||
"electron-builder": "^26.8.1"
|
"electron-builder": "^26.8.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user