3 Commits

Author SHA1 Message Date
Joan
e16352c5d3 Clean up CI config for Electron builds 2025-11-28 10:39:49 +01:00
Joan
e5029c558b Add simple test job to verify runner 2025-11-27 17:40:28 +01:00
Joan
0fcdd1c070 Update CI configuration with test job 2025-11-27 16:35:01 +01:00

71
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,71 @@
stages:
- build-web
- build-desktop
variables:
npm_config_cache: "$CI_PROJECT_DIR/.npm"
ELECTRON_CACHE: "$CI_PROJECT_DIR/.cache/electron"
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- pwa/node_modules/
- pwa/.npm/
- pwa/.cache/
# Build the web application first
build:web:
stage: build-web
image: node:20-alpine
script:
- cd pwa
- npm ci
- npm run build
artifacts:
paths:
- pwa/dist/
expire_in: 1 hour
rules:
- if: '$CI_COMMIT_TAG'
tags:
- docker
# Build Linux AppImage and .deb
build:linux:
stage: build-desktop
image: electronuserland/builder:wine
dependencies:
- build:web
script:
- cd pwa
- npm ci
- npm run electron:build:linux
artifacts:
paths:
- pwa/dist-electron/*.AppImage
- pwa/dist-electron/*.deb
expire_in: 1 week
rules:
- if: '$CI_COMMIT_TAG'
tags:
- docker
# Build Windows executable
build:windows:
stage: build-desktop
image: electronuserland/builder:wine
dependencies:
- build:web
script:
- cd pwa
- npm ci
- npm run electron:build:win
artifacts:
paths:
- pwa/dist-electron/*.exe
- pwa/dist-electron/*.msi
expire_in: 1 week
rules:
- if: '$CI_COMMIT_TAG'
tags:
- docker