From 40c69dea4c376b3fc621b69fd498be7307e81d12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hendrik=20L=C3=B6sch?= Date: Sun, 8 Mar 2026 10:19:12 +0000 Subject: [PATCH 01/11] Update CI workflow to increment version and set from tags --- .github/workflows/electron-release.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/electron-release.yml b/.github/workflows/electron-release.yml index 09747aa..900bafe 100644 --- a/.github/workflows/electron-release.yml +++ b/.github/workflows/electron-release.yml @@ -30,6 +30,17 @@ jobs: node-version: 20 cache: npm + - name: Set version from tag + if: startsWith(github.ref, 'refs/tags/v') + run: | + VERSION=${GITHUB_REF#refs/tags/v} + npm version $VERSION --no-git-tag-version + + - name: Increment version for dev builds + if: github.ref == 'refs/heads/dev' && !startsWith(github.ref, 'refs/tags/v') + run: | + npm version patch --no-git-tag-version + - name: Install system dependencies for Playwright (Ubuntu) if: matrix.os == 'ubuntu-latest' run: | From 3047a26250bdc56bee8eea1b7b58859708db7d3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hendrik=20L=C3=B6sch?= Date: Mon, 9 Mar 2026 08:44:54 +0100 Subject: [PATCH 02/11] fix: Fixed broken electron release on dev. --- .github/workflows/electron-release.yml | 157 +++++++++++++++++++++---- 1 file changed, 133 insertions(+), 24 deletions(-) diff --git a/.github/workflows/electron-release.yml b/.github/workflows/electron-release.yml index 900bafe..64ce5f4 100644 --- a/.github/workflows/electron-release.yml +++ b/.github/workflows/electron-release.yml @@ -13,13 +13,30 @@ permissions: jobs: build-and-release: - name: Build and Release + name: Build (${{ matrix.artifact_name }}) runs-on: ${{ matrix.os }} - + strategy: + fail-fast: false matrix: - os: [macos-latest, ubuntu-latest, windows-latest] - + include: + - os: macos-latest + arch: arm64 + artifact_name: macos-arm64 + electron_flags: --mac --arm64 + - os: macos-13 + arch: x64 + artifact_name: macos-x64 + electron_flags: --mac --x64 + - os: ubuntu-latest + arch: x64 + artifact_name: linux-x64 + electron_flags: --linux --x64 + - os: windows-latest + arch: x64 + artifact_name: windows-x64 + electron_flags: --win --x64 + steps: - name: Checkout repository uses: actions/checkout@v4 @@ -30,18 +47,23 @@ jobs: node-version: 20 cache: npm + - name: Configure Git identity + run: | + git config user.email "ci@github-actions" + git config user.name "GitHub Actions" + - name: Set version from tag if: startsWith(github.ref, 'refs/tags/v') + shell: bash run: | VERSION=${GITHUB_REF#refs/tags/v} npm version $VERSION --no-git-tag-version - name: Increment version for dev builds - if: github.ref == 'refs/heads/dev' && !startsWith(github.ref, 'refs/tags/v') - run: | - npm version patch --no-git-tag-version + if: github.ref == 'refs/heads/dev' + run: npm version patch --no-git-tag-version - - name: Install system dependencies for Playwright (Ubuntu) + - name: Install system dependencies (Ubuntu) if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update @@ -73,30 +95,65 @@ jobs: libgbm1 \ libdrm2 \ libhyphen0 \ - libgles2 + libgles2 \ + rpm \ + fakeroot \ + dpkg - name: Install dependencies run: npm ci - - name: Build Electron app - run: npm run electron:build + - name: Install Playwright browser with system dependencies (Ubuntu only) + if: matrix.os == 'ubuntu-latest' + run: npx playwright install --with-deps chromium + + - name: Start dev server for E2E tests (Ubuntu only) + if: matrix.os == 'ubuntu-latest' + run: nohup npx vite --host > /tmp/vite.log 2>&1 & + + - name: Wait for dev server (Ubuntu only) + if: matrix.os == 'ubuntu-latest' + run: | + for i in $(seq 1 30); do + if curl -sf http://localhost:5173/SolutionInventory/ > /dev/null 2>&1; then + echo "Server is up after $i attempts" + exit 0 + fi + echo "Attempt $i failed, retrying in 2s..." + sleep 2 + done + echo "Server did not respond. Vite log:" + cat /tmp/vite.log + exit 1 + + - name: Run E2E tests (Ubuntu only) + if: matrix.os == 'ubuntu-latest' + run: npx cucumber-js + continue-on-error: true + + - name: Stop dev server (Ubuntu only) + if: matrix.os == 'ubuntu-latest' + run: pkill -f "vite" || true + + - name: Build Vite + Electron app + run: npx vite build --mode electron && npx electron-builder ${{ matrix.electron_flags }} env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload artifacts (macOS) - if: matrix.os == 'macos-latest' + if: matrix.os == 'macos-latest' || matrix.os == 'macos-13' uses: actions/upload-artifact@v4 with: - name: macos-release + name: ${{ matrix.artifact_name }} path: | release/*.dmg release/*.zip - - name: Upload artifacts (Ubuntu) + - name: Upload artifacts (Linux) if: matrix.os == 'ubuntu-latest' uses: actions/upload-artifact@v4 with: - name: linux-release + name: ${{ matrix.artifact_name }} path: | release/*.AppImage release/*.deb @@ -105,28 +162,80 @@ jobs: if: matrix.os == 'windows-latest' uses: actions/upload-artifact@v4 with: - name: windows-release + name: ${{ matrix.artifact_name }} path: | release/*.exe - + create-release: name: Create GitHub Release needs: build-and-release runs-on: ubuntu-latest - if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') - + if: always() && (github.ref == 'refs/heads/dev' || startsWith(github.ref, 'refs/tags/v')) + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Configure Git identity + run: | + git config user.email "ci@github-actions" + git config user.name "GitHub Actions" + + - name: Set version from tag + if: startsWith(github.ref, 'refs/tags/v') + run: | + VERSION=${GITHUB_REF#refs/tags/v} + npm version $VERSION --no-git-tag-version + + - name: Increment version for dev builds + if: github.ref == 'refs/heads/dev' + run: npm version patch --no-git-tag-version + + - name: Read version + id: pkg_version + run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT + - name: Download all artifacts uses: actions/download-artifact@v4 with: path: artifacts - - name: Create Release - uses: softprops/action-gh-release@v1 + - name: Create Pre-Release (dev branch) + if: github.ref == 'refs/heads/dev' + uses: softprops/action-gh-release@v2 + with: + tag_name: dev-v${{ steps.pkg_version.outputs.version }}-${{ github.run_number }} + name: "Dev Build v${{ steps.pkg_version.outputs.version }} (#${{ github.run_number }})" + body: | + 🔧 **Automated dev build** from branch `dev` + + Commit: ${{ github.sha }} + Run: #${{ github.run_number }} + + > This is a pre-release build and may be unstable. + prerelease: true + files: artifacts/**/* + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Create Stable Release (tag) + if: startsWith(github.ref, 'refs/tags/v') + uses: softprops/action-gh-release@v2 with: - files: | - artifacts/**/* - draft: false + tag_name: v${{ steps.pkg_version.outputs.version }} + name: "Release v${{ steps.pkg_version.outputs.version }}" + body: | + 🚀 **Release v${{ steps.pkg_version.outputs.version }}** prerelease: false + files: artifacts/**/* env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From cf90c53ff0e963021f6ffdbccd04843f4e46d003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hendrik=20L=C3=B6sch?= Date: Mon, 9 Mar 2026 09:00:23 +0100 Subject: [PATCH 03/11] fix: fixed windows version of electron app. --- electron/main.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/electron/main.js b/electron/main.js index e25e056..f31456b 100644 --- a/electron/main.js +++ b/electron/main.js @@ -2,11 +2,6 @@ const { app, BrowserWindow, ipcMain } = require('electron'); const path = require('path'); const fs = require('fs'); -// Handle creating/removing shortcuts on Windows when installing/uninstalling. -if (require('electron-squirrel-startup')) { - app.quit(); -} - let mainWindow; function createWindow() { From a46d34b3af1e0cdce94ab848d898eeea58aedfd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hendrik=20L=C3=B6sch?= Date: Mon, 9 Mar 2026 09:07:12 +0100 Subject: [PATCH 04/11] fix: removed mac os releases for electron because it can not be tested properly. --- .github/workflows/electron-release.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/electron-release.yml b/.github/workflows/electron-release.yml index 64ce5f4..178800b 100644 --- a/.github/workflows/electron-release.yml +++ b/.github/workflows/electron-release.yml @@ -20,14 +20,6 @@ jobs: fail-fast: false matrix: include: - - os: macos-latest - arch: arm64 - artifact_name: macos-arm64 - electron_flags: --mac --arm64 - - os: macos-13 - arch: x64 - artifact_name: macos-x64 - electron_flags: --mac --x64 - os: ubuntu-latest arch: x64 artifact_name: linux-x64 From 78b52e396dfe38b015671b3a9b0bbe8a1749afe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hendrik=20L=C3=B6sch?= Date: Mon, 9 Mar 2026 09:28:31 +0100 Subject: [PATCH 05/11] feat: Electron can now setup a storage on the file system. --- electron/main.js | 95 ++++++++++++++++++-------- electron/preload.js | 10 ++- src/App.vue | 67 +++++++++++++++++-- src/stores/workspaceStore.js | 125 ++++++++++++++++++++++++----------- 4 files changed, 223 insertions(+), 74 deletions(-) diff --git a/electron/main.js b/electron/main.js index f31456b..c798b1a 100644 --- a/electron/main.js +++ b/electron/main.js @@ -1,7 +1,33 @@ -const { app, BrowserWindow, ipcMain } = require('electron'); +const { app, BrowserWindow, ipcMain, dialog } = require('electron'); const path = require('path'); const fs = require('fs'); +const DATA_FILE_NAME = 'solution-inventory-data.json'; + +function getConfigPath() { + return path.join(app.getPath('userData'), 'app-config.json'); +} + +function readConfig() { + try { + const configPath = getConfigPath(); + if (fs.existsSync(configPath)) { + return JSON.parse(fs.readFileSync(configPath, 'utf-8')); + } + } catch (e) { + console.error('Error reading config:', e); + } + return {}; +} + +function writeConfig(config) { + try { + fs.writeFileSync(getConfigPath(), JSON.stringify(config, null, 2)); + } catch (e) { + console.error('Error writing config:', e); + } +} + let mainWindow; function createWindow() { @@ -52,42 +78,53 @@ app.on('window-all-closed', () => { } }); -// IPC handlers for file operations -ipcMain.handle('save-file', async (event, { filePath, data }) => { +// IPC handlers for workspace directory management +ipcMain.handle('get-workspace-dir', async () => { + const config = readConfig(); + return config.workspaceDir || null; +}); + +ipcMain.handle('set-workspace-dir', async (event, dirPath) => { + const config = readConfig(); + config.workspaceDir = dirPath; + writeConfig(config); + return { success: true }; +}); + +ipcMain.handle('select-workspace-dir', async () => { + const result = await dialog.showOpenDialog(mainWindow, { + title: 'Workspace-Verzeichnis auswählen', + properties: ['openDirectory', 'createDirectory'], + buttonLabel: 'Als Workspace verwenden' + }); + if (result.canceled || result.filePaths.length === 0) return null; + return result.filePaths[0]; +}); + +// IPC handlers for data file I/O in the workspace directory +ipcMain.handle('read-data-file', async () => { try { - const userDataPath = app.getPath('userData'); - const fullPath = path.join(userDataPath, filePath); - const dir = path.dirname(fullPath); - - // Create directory if it doesn't exist - if (!fs.existsSync(dir)) { - fs.mkdirSync(dir, { recursive: true }); - } - - fs.writeFileSync(fullPath, JSON.stringify(data, null, 2)); - return { success: true, path: fullPath }; + const config = readConfig(); + if (!config.workspaceDir) return { success: false, error: 'No workspace dir configured' }; + const filePath = path.join(config.workspaceDir, DATA_FILE_NAME); + if (!fs.existsSync(filePath)) return { success: false, error: 'File not found' }; + const content = fs.readFileSync(filePath, 'utf-8'); + return { success: true, data: JSON.parse(content) }; } catch (error) { - console.error('Error saving file:', error); + console.error('Error reading data file:', error); return { success: false, error: error.message }; } }); -ipcMain.handle('load-file', async (event, filePath) => { +ipcMain.handle('write-data-file', async (event, jsonString) => { try { - const userDataPath = app.getPath('userData'); - const fullPath = path.join(userDataPath, filePath); - - if (fs.existsSync(fullPath)) { - const data = fs.readFileSync(fullPath, 'utf-8'); - return { success: true, data: JSON.parse(data) }; - } - return { success: false, error: 'File not found' }; + const config = readConfig(); + if (!config.workspaceDir) return { success: false, error: 'No workspace dir configured' }; + const filePath = path.join(config.workspaceDir, DATA_FILE_NAME); + fs.writeFileSync(filePath, jsonString); + return { success: true, path: filePath }; } catch (error) { - console.error('Error loading file:', error); + console.error('Error writing data file:', error); return { success: false, error: error.message }; } }); - -ipcMain.handle('get-user-data-path', async () => { - return app.getPath('userData'); -}); diff --git a/electron/preload.js b/electron/preload.js index ae41bb3..a537500 100644 --- a/electron/preload.js +++ b/electron/preload.js @@ -4,7 +4,11 @@ const { contextBridge, ipcRenderer } = require('electron'); // the ipcRenderer without exposing the entire object contextBridge.exposeInMainWorld('electronAPI', { isElectron: true, - saveFile: (filePath, data) => ipcRenderer.invoke('save-file', { filePath, data }), - loadFile: (filePath) => ipcRenderer.invoke('load-file', filePath), - getUserDataPath: () => ipcRenderer.invoke('get-user-data-path') + // Workspace directory management + getWorkspaceDir: () => ipcRenderer.invoke('get-workspace-dir'), + setWorkspaceDir: (dirPath) => ipcRenderer.invoke('set-workspace-dir', dirPath), + selectWorkspaceDir: () => ipcRenderer.invoke('select-workspace-dir'), + // Data file I/O (replaces localStorage in Electron mode) + readDataFile: () => ipcRenderer.invoke('read-data-file'), + writeDataFile: (jsonString) => ipcRenderer.invoke('write-data-file', jsonString), }); diff --git a/src/App.vue b/src/App.vue index ec6e30d..5305cc7 100644 --- a/src/App.vue +++ b/src/App.vue @@ -46,6 +46,47 @@ + + + + + Workspace einrichten + + +

+ Bitte wähle ein Verzeichnis, in dem deine Workspace-Daten gespeichert werden sollen. + Die Daten werden als Datei solution-inventory-data.json in diesem Verzeichnis abgelegt. +

+ + + +
+ + + + + Bestätigen + + +
+
@@ -95,11 +136,24 @@ export default { document.removeEventListener('mouseup', stopResize) }) const store = useWorkspaceStore() - const { lastSaved } = storeToRefs(store) + const { lastSaved, workspaceDirNeeded } = storeToRefs(store) + + const isElectron = !!(window.electronAPI) + const workspaceSetupDir = ref('') + + async function selectDirectory() { + const dir = await window.electronAPI.selectWorkspaceDir() + if (dir) workspaceSetupDir.value = dir + } + + async function confirmWorkspace() { + if (!workspaceSetupDir.value) return + await store.setWorkspaceDir(workspaceSetupDir.value) + } // Beim Start versuchen, gespeicherte Daten zu laden - onMounted(() => { - store.initFromStorage() + onMounted(async () => { + await store.initFromStorage() store.startAutoSave() }) @@ -109,7 +163,12 @@ export default { drawerOpen, drawerWidth, startResize, - workspaceConfigOpen + workspaceConfigOpen, + isElectron, + workspaceDirNeeded, + workspaceSetupDir, + selectDirectory, + confirmWorkspace } } } diff --git a/src/stores/workspaceStore.js b/src/stores/workspaceStore.js index 4c4f1fb..f2cd6bb 100644 --- a/src/stores/workspaceStore.js +++ b/src/stores/workspaceStore.js @@ -42,6 +42,7 @@ export const useWorkspaceStore = defineStore('workspace', () => { const lastSaved = ref('') const autoSaveStarted = ref(false) const pendingNavigation = ref(null) // { questionnaireId, categoryId, entryId } | null + const workspaceDirNeeded = ref(false) const activeQuestionnaire = computed(() => { return workspace.value.questionnaires.find((item) => item.id === activeQuestionnaireId.value) || null @@ -86,40 +87,71 @@ export const useWorkspaceStore = defineStore('workspace', () => { return [...projectTabs, ...questionnaireTabs] }) - function initFromStorage() { + function applyStoredData(data) { + if (data.version === STORAGE_VERSION && data.workspace) { + workspace.value = data.workspace + activeQuestionnaireId.value = '' + openQuestionnaireIds.value = [] + activeWorkspaceTabId.value = '' + openProjectSummaryIds.value = [] + hydrateLastSaved(data.timestamp) + return true + } + if (data.version === STORAGE_VERSION && data.categories) { + const initialQuestionnaire = createQuestionnaire('Current questionnaire', data.categories) + workspace.value = createWorkspace([], [initialQuestionnaire]) + activeQuestionnaireId.value = '' + openQuestionnaireIds.value = [] + activeWorkspaceTabId.value = '' + openProjectSummaryIds.value = [] + hydrateLastSaved(data.timestamp) + return true + } + return false + } + + async function initFromStorage() { + // --- Electron: file-based storage --- + if (window.electronAPI) { + const dir = await window.electronAPI.getWorkspaceDir() + if (!dir) { + workspaceDirNeeded.value = true + return + } + workspaceDirNeeded.value = false + const result = await window.electronAPI.readDataFile() + if (result.success) { + try { + if (!applyStoredData(result.data)) seedWorkspace() + } catch (error) { + console.error('Error applying stored data:', error) + seedWorkspace() + } + } else { + seedWorkspace() + } + return + } + + // --- Web: localStorage --- const saved = localStorage.getItem(STORAGE_KEY) if (!saved) { seedWorkspace() return } - try { const data = JSON.parse(saved) - if (data.version === STORAGE_VERSION && data.workspace) { - workspace.value = data.workspace - activeQuestionnaireId.value = '' - openQuestionnaireIds.value = [] - activeWorkspaceTabId.value = '' - openProjectSummaryIds.value = [] - hydrateLastSaved(data.timestamp) - return - } - - if (data.version === STORAGE_VERSION && data.categories) { - const initialQuestionnaire = createQuestionnaire('Current questionnaire', data.categories) - workspace.value = createWorkspace([], [initialQuestionnaire]) - activeQuestionnaireId.value = '' - openQuestionnaireIds.value = [] - activeWorkspaceTabId.value = '' - openProjectSummaryIds.value = [] - hydrateLastSaved(data.timestamp) - return - } + if (!applyStoredData(data)) seedWorkspace() } catch (error) { console.error('Error loading from localStorage:', error) + seedWorkspace() } + } - seedWorkspace() + async function setWorkspaceDir(dirPath) { + if (!window.electronAPI) return + await window.electronAPI.setWorkspaceDir(dirPath) + await initFromStorage() } function seedWorkspace() { @@ -132,31 +164,46 @@ export const useWorkspaceStore = defineStore('workspace', () => { openProjectSummaryIds.value = [] } + let persistDebounceTimer = null + function startAutoSave() { if (autoSaveStarted.value) return autoSaveStarted.value = true watch( () => [workspace.value, activeQuestionnaireId.value, openQuestionnaireIds.value, activeWorkspaceTabId.value, openProjectSummaryIds.value], - () => persist(), + () => { + clearTimeout(persistDebounceTimer) + persistDebounceTimer = setTimeout(() => persist(), 500) + }, { deep: true } ) } - function persist() { - try { - const dataToSave = { - version: STORAGE_VERSION, - timestamp: new Date().toISOString(), - workspace: workspace.value, - activeQuestionnaireId: activeQuestionnaireId.value, - openQuestionnaireIds: openQuestionnaireIds.value, - activeWorkspaceTabId: activeWorkspaceTabId.value, - openProjectSummaryIds: openProjectSummaryIds.value + async function persist() { + const dataToSave = { + version: STORAGE_VERSION, + timestamp: new Date().toISOString(), + workspace: workspace.value, + activeQuestionnaireId: activeQuestionnaireId.value, + openQuestionnaireIds: openQuestionnaireIds.value, + activeWorkspaceTabId: activeWorkspaceTabId.value, + openProjectSummaryIds: openProjectSummaryIds.value + } + + if (window.electronAPI) { + try { + await window.electronAPI.writeDataFile(JSON.stringify(dataToSave, null, 2)) + hydrateLastSaved(dataToSave.timestamp) + } catch (error) { + console.error('Error saving to file:', error) + } + } else { + try { + localStorage.setItem(STORAGE_KEY, JSON.stringify(dataToSave)) + hydrateLastSaved(dataToSave.timestamp) + } catch (error) { + console.error('Error saving to localStorage:', error) } - localStorage.setItem(STORAGE_KEY, JSON.stringify(dataToSave)) - hydrateLastSaved(dataToSave.timestamp) - } catch (error) { - console.error('Error saving to localStorage:', error) } } @@ -743,11 +790,13 @@ export const useWorkspaceStore = defineStore('workspace', () => { activeWorkspaceTabId, openProjectSummaryIds, lastSaved, + workspaceDirNeeded, activeQuestionnaire, activeCategories, openTabs, workspaceTabs, initFromStorage, + setWorkspaceDir, startAutoSave, persist, setActiveQuestionnaire, From b4630058e61ca573f89404385997b99ded453a44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hendrik=20L=C3=B6sch?= Date: Mon, 9 Mar 2026 12:05:22 +0100 Subject: [PATCH 06/11] feat: Add new logo and icon files + a splash screen for electron --- README.md | 4 ++ electron/main.js | 48 +++++++++++++++++++++--- electron/splash.html | 83 ++++++++++++++++++++++++++++++++++++++++++ index.html | 3 +- package.json | 2 + public/Logo-Large.png | Bin 0 -> 49708 bytes public/Logo-small.png | Bin 0 -> 8105 bytes public/icon.ico | Bin 0 -> 960 bytes public/pwa-192.png | 1 - public/pwa-512.png | 1 - src/App.vue | 26 +++++++++---- vite.config.js | 3 +- 12 files changed, 153 insertions(+), 18 deletions(-) create mode 100644 electron/splash.html create mode 100644 public/Logo-Large.png create mode 100644 public/Logo-small.png create mode 100644 public/icon.ico delete mode 100644 public/pwa-192.png delete mode 100644 public/pwa-512.png diff --git a/README.md b/README.md index 7caa862..f9276e4 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # Solution Inventory +

+ Solution Inventory +

+ Vue 3 + Vuetify application for documenting solution questionnaires across multiple projects. Available as both a Progressive Web App (PWA) and an Electron desktop application. It uses a project tree for navigation, questionnaire tabs for editing, and a configuration editor in a dialog. ## Features diff --git a/electron/main.js b/electron/main.js index c798b1a..4ac3e3a 100644 --- a/electron/main.js +++ b/electron/main.js @@ -29,29 +29,66 @@ function writeConfig(config) { } let mainWindow; +let splashWindow; + +function getLogoPath(size) { + if (size === 'icon') { + return app.isPackaged + ? path.join(__dirname, '../dist/icon.ico') + : path.join(__dirname, '../public/icon.ico'); + } + const name = size === 'small' ? 'Logo-small.png' : 'Logo-Large.png'; + return app.isPackaged + ? path.join(__dirname, '../dist', name) + : path.join(__dirname, '../public', name); +} + +function createSplashWindow() { + splashWindow = new BrowserWindow({ + width: 360, + height: 320, + frame: false, + transparent: false, + resizable: false, + center: true, + skipTaskbar: true, + icon: process.platform === 'win32' ? getLogoPath('icon') : getLogoPath('large') + }); + splashWindow.loadFile(path.join(__dirname, 'splash.html'), { + query: { logo: getLogoPath('large') } + }); +} function createWindow() { - // Create the browser window. mainWindow = new BrowserWindow({ width: 1200, height: 800, + show: false, webPreferences: { nodeIntegration: false, contextIsolation: true, preload: path.join(__dirname, 'preload.js') }, - icon: path.join(__dirname, '../public/icon.png') + icon: process.platform === 'win32' ? getLogoPath('icon') : getLogoPath('large') }); // In production, load the built files if (app.isPackaged) { mainWindow.loadFile(path.join(__dirname, '../dist/index.html')); } else { - // In development, load from Vite dev server mainWindow.loadURL('http://localhost:5173'); mainWindow.webContents.openDevTools(); } + mainWindow.webContents.once('did-finish-load', () => { + if (splashWindow && !splashWindow.isDestroyed()) { + splashWindow.close(); + splashWindow = null; + } + mainWindow.show(); + mainWindow.focus(); + }); + mainWindow.on('closed', () => { mainWindow = null; }); @@ -60,6 +97,7 @@ function createWindow() { // This method will be called when Electron has finished // initialization and is ready to create browser windows. app.whenReady().then(() => { + createSplashWindow(); createWindow(); app.on('activate', () => { @@ -93,9 +131,9 @@ ipcMain.handle('set-workspace-dir', async (event, dirPath) => { ipcMain.handle('select-workspace-dir', async () => { const result = await dialog.showOpenDialog(mainWindow, { - title: 'Workspace-Verzeichnis auswählen', + title: 'Select Workspace Directory', properties: ['openDirectory', 'createDirectory'], - buttonLabel: 'Als Workspace verwenden' + buttonLabel: 'Use as Workspace' }); if (result.canceled || result.filePaths.length === 0) return null; return result.filePaths[0]; diff --git a/electron/splash.html b/electron/splash.html new file mode 100644 index 0000000..10d64f9 --- /dev/null +++ b/electron/splash.html @@ -0,0 +1,83 @@ + + + + + + Solution Inventory + + + +
+ Solution Inventory +
Solution Inventory
+
Loading…
+
+
+ + + diff --git a/index.html b/index.html index fca17c4..b9b2aef 100644 --- a/index.html +++ b/index.html @@ -1,9 +1,10 @@ - + Solution Inventory + diff --git a/package.json b/package.json index 29c866c..466dc98 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "build": { "appId": "com.solutioninventory.app", "productName": "Solution Inventory", + "icon": "public/Logo-Large", "files": [ "dist/**/*", "electron/**/*" @@ -50,6 +51,7 @@ ] }, "win": { + "icon": "public/icon.ico", "target": [ "nsis", "portable" diff --git a/public/Logo-Large.png b/public/Logo-Large.png new file mode 100644 index 0000000000000000000000000000000000000000..af6d769f6d8392820c734985e60c260719639530 GIT binary patch literal 49708 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 literal 0 HcmV?d00001 diff --git a/public/Logo-small.png b/public/Logo-small.png new file mode 100644 index 0000000000000000000000000000000000000000..07903a174707c105c485bba5e003baaa18a11afa GIT binary patch literal 8105 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 DLmahP literal 0 HcmV?d00001 diff --git a/public/icon.ico b/public/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..709e7f54e9636631965340f2132057cb8dcb5ddf GIT binary patch literal 960 zcmV;x13&x#0096201yxW0000W0ICB302TlM0EtjeM-2)Z3IG5A4M|8uQUCw|5C8xG z5C{eU001BJ|6u?C193@2K~#90eUo2oQ*{)_&-vYZ`{#D;?b>GTwo-=TvXmjhAo^ee z(`T4Nvlo-$J`Q~#T&i4aw--x0}0+9#<0Ps#U>OL|Q+x_=$aFD$}|F79D zt_Ir94+UGl7+84qryuB>!~N%u_V-l)0Emi$0Dw}8h)8h-LJiV%&HIYt}p(wevyDyB}G)Ixs z)o&?ejyfyYmNK_+faImm*lu|?xMY4ax4t_jk`BdQrKhI`6*68n?7_srM zQ@-R`b728&22jdCYkJJ2CW%Yw<~gWja^z88rSCd{a9C4SgQIA!^kX6a)l&NEH&=ig zkY(z(Eu@=v%BmL>?G)p7oW8D-L;2fuPYGkHmt<)S5h($Y60ac5FsWM?mvllyvFzy{ zV}_f)_R&t0e+{k1_561YcD$gCCmM7NZkC+<$jx}Rwm8306-ALC0KlP}S6s1?$x$-T zChYu%-&BL%N0h?JtySYEZB@{0vf5kmUiz$(%!Z{BUDJa#j@ODav*8!l?svd;}q)Le-6ts9u1NbS{FwN9vFzNFb)Y2;E;zWuwR0{|dE zDZE=>pRB@cEokakynKCsx@NX+n|iH|(bUUm;f_y#>>0fH_0r+136t}oP1cuoc+~>Q z$(NP^xcpQ3mWOVN+uycG)BCbA+a6n6`Yl&6cE)S@b^FgxPIcY2R-XPWCY_qPk$S$S zT5sO?h!z3>U;}|(0=)nVdEoFQ?+FUAGv(%PJ&!nx%hEY}JVk?uP7eY0laPA~=~<5AQ5#*77H2J}yCQ|=wF_UhYshp`=U zsVJ8!w1>8a;;Voa2q4mfU1!TDE#)1h9*5ts5dWl%&0StH8#;Mok>|C=&?{SlJu6iv zh^VdFg-8Pt%Df-M831^u?R+e_$dV7UPIoh#nd>!AY6lMbg0q20gz=7!Qbg4L)5w47 iEJma5BSS;~tMi{l!HGef>Z* \ No newline at end of file diff --git a/public/pwa-512.png b/public/pwa-512.png deleted file mode 100644 index d252638..0000000 --- a/public/pwa-512.png +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/App.vue b/src/App.vue index 5305cc7..f714fb8 100644 --- a/src/App.vue +++ b/src/App.vue @@ -5,6 +5,14 @@ mdi-menu Toggle sidebar + Solution Inventory @@ -47,28 +55,28 @@ - + - Workspace einrichten + Set Up Workspace

- Bitte wähle ein Verzeichnis, in dem deine Workspace-Daten gespeichert werden sollen. - Die Daten werden als Datei solution-inventory-data.json in diesem Verzeichnis abgelegt. + Please choose a directory where your workspace data will be stored. + The data will be saved as solution-inventory-data.json in that directory.

@@ -82,7 +90,7 @@ :disabled="!workspaceSetupDir" @click="confirmWorkspace" > - Bestätigen + Confirm
@@ -139,6 +147,7 @@ export default { const { lastSaved, workspaceDirNeeded } = storeToRefs(store) const isElectron = !!(window.electronAPI) + const baseUrl = import.meta.env.BASE_URL const workspaceSetupDir = ref('') async function selectDirectory() { @@ -165,6 +174,7 @@ export default { startResize, workspaceConfigOpen, isElectron, + baseUrl, workspaceDirNeeded, workspaceSetupDir, selectDirectory, diff --git a/vite.config.js b/vite.config.js index 6496c94..d45a9e2 100644 --- a/vite.config.js +++ b/vite.config.js @@ -19,8 +19,7 @@ export default defineConfig(({ mode }) => { display: 'standalone', background_color: '#ffffff', icons: [ - { src: '/SolutionInventory/pwa-192.png', sizes: '192x192', type: 'image/png' }, - { src: '/SolutionInventory/pwa-512.png', sizes: '512x512', type: 'image/png' } + { src: '/SolutionInventory/Logo-Large.png', sizes: '512x512', type: 'image/png' } ] } }) From f473f86eba5d3fedeb792e66cd1ab80340518db3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hendrik=20L=C3=B6sch?= Date: Mon, 9 Mar 2026 12:14:50 +0100 Subject: [PATCH 07/11] fix: fixed broken incons in windows version of electron app. --- public/Logo-small.png | Bin 8105 -> 71363 bytes public/icon.ico | Bin 960 -> 71385 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/public/Logo-small.png b/public/Logo-small.png index 07903a174707c105c485bba5e003baaa18a11afa..d4cad93e811faff47d399a835851434ab2242903 100644 GIT binary patch literal 71363 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

U%D~cK`VAy^xAvyyxMI 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 literal 8105 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 DLmahP diff --git a/public/icon.ico b/public/icon.ico index 709e7f54e9636631965340f2132057cb8dcb5ddf..0e1769d98cfefe41fedd66a13d2ff676bd0f04d4 100644 GIT binary patch literal 71385 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 delta 954 zcmV;r14aDVtpvaa5dZ)I0096H5C8xG03ZOW0|1c`7k>Z{0000G2nGNE03Y-JVE_OF zaY;l$RCt_ylV5C8bri?X`Q3Z_=XUMw+Gg#xQikHPlp(?(`d|XnCHNq;hO{!BD=st3 zh$JMUVnV$3#rU9!kubK1vM5OL|Q+x_=$aFD$}|F79Dt_Ir94+UGl7+84q zryuB>!~N%u_V-l)0Emi$0Dw}8h)8h-LJiV%&HIYt}p?@g3wYx8j+cZa!)75V&WR5y3*p@Q4 zaDe2c&)H&rf8)BwJCssH5Jj?o!w!BtW%*R$1wYSbJJ#s$oEWk3uT#F{S#x0lYz9!u zKx=x;q$Y_=>E=18WOC$DU#0IlfpAz;RfD5wuJmIe|J73Z>Ni(_8<1t{w=JZbcFL+3 z6o2g$<93|Bu98Ff+jLI}W2%>AX$%o50g)1~Ak8qTTNjsfLPN3a=^kT-o4)qZPLqEP zt;Y5IcMW#Dpp7RQbPR5moczemc(%4Uzfl!MkstuTp_^A+v60D9GS4RL{D$9DgWgA! z!pW^w<0oxZ&}_2WTk&4{tdh)zr4n7!gMT%S*NQW<;TPBLd5Zu5!XJ6ixvW<9VZknx z-#BK zU;}|(0=)nVdEoFQ?+FUAGv(%PJ& z!nx%hEY}JVk?uP7eY0laPA~=~<9|`p`^Jm~V+Qn3Y*X$XulDNOc!#kaa;YenDzt~T zhT^M$6$l{GgI#CKCoSb2r5=ahun_;GjLltMG8;O1W0B{z#n3BTf;}r$CWxr5+J#61 z5z4$D#2Em1rtN$zxX6+Zvrcz2o0;o1PihAa`hv58NQCi@j#5O_{?o{R>K`mdqwXU^ cL;tJupGComL7eKUjsO4v07*qoM6N<$f|kzODF6Tf From be95ac901a96e66d43c390fb2589c474031e95cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hendrik=20L=C3=B6sch?= Date: Mon, 9 Mar 2026 12:41:29 +0100 Subject: [PATCH 08/11] feat: enhance project import functionality to include radar data --- src/components/TreeNav.vue | 7 ++++++- src/stores/workspaceStore.js | 10 ++++++++-- tests/step_definitions/export-import.steps.js | 7 ++++++- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/components/TreeNav.vue b/src/components/TreeNav.vue index a1bd0a3..6defe43 100644 --- a/src/components/TreeNav.vue +++ b/src/components/TreeNav.vue @@ -563,7 +563,12 @@ export default { categories: item.categories } }) - store.importProject(projectName, questionnaires) + const radarData = { + radarRefs: Array.isArray(data?.project?.radarRefs) ? data.project.radarRefs : [], + radarOverrides: Array.isArray(data?.project?.radarOverrides) ? data.project.radarOverrides : [], + radarCategoryOrder: Array.isArray(data?.project?.radarCategoryOrder) ? data.project.radarCategoryOrder : [] + } + store.importProject(projectName, questionnaires, radarData) closeImportDialog() } catch (err) { importError.value = `Import failed: ${err.message}` diff --git a/src/stores/workspaceStore.js b/src/stores/workspaceStore.js index f2cd6bb..7f1a72f 100644 --- a/src/stores/workspaceStore.js +++ b/src/stores/workspaceStore.js @@ -339,7 +339,7 @@ export const useWorkspaceStore = defineStore('workspace', () => { return questionnaire.id } - function importProject(projectName, questionnaires) { + function importProject(projectName, questionnaires, radarData = {}) { const name = String(projectName || '').trim() if (!name) return const projectId = addProject(name) @@ -354,6 +354,9 @@ export const useWorkspaceStore = defineStore('workspace', () => { ? [...project.questionnaireIds, created.id] : [created.id] }) + if (Array.isArray(radarData.radarRefs)) project.radarRefs = radarData.radarRefs + if (Array.isArray(radarData.radarOverrides)) project.radarOverrides = radarData.radarOverrides + if (Array.isArray(radarData.radarCategoryOrder)) project.radarCategoryOrder = radarData.radarCategoryOrder } function deleteQuestionnaire(questionnaireId) { @@ -462,7 +465,10 @@ export const useWorkspaceStore = defineStore('workspace', () => { const exportData = { project: { id: project.id, - name: project.name + name: project.name, + radarRefs: Array.isArray(project.radarRefs) ? project.radarRefs : [], + radarOverrides: Array.isArray(project.radarOverrides) ? project.radarOverrides : [], + radarCategoryOrder: Array.isArray(project.radarCategoryOrder) ? project.radarCategoryOrder : [] }, questionnaires } diff --git a/tests/step_definitions/export-import.steps.js b/tests/step_definitions/export-import.steps.js index dd6d8a8..b86198e 100644 --- a/tests/step_definitions/export-import.steps.js +++ b/tests/step_definitions/export-import.steps.js @@ -79,7 +79,12 @@ When('I import the {string} file', async function (filename) { name: q.name || 'Imported questionnaire', categories: q.categories, })) - store.importProject(data.project.name, questionnaires) + const radarData = { + radarRefs: Array.isArray(data?.project?.radarRefs) ? data.project.radarRefs : [], + radarOverrides: Array.isArray(data?.project?.radarOverrides) ? data.project.radarOverrides : [], + radarCategoryOrder: Array.isArray(data?.project?.radarCategoryOrder) ? data.project.radarCategoryOrder : [], + } + store.importProject(data.project.name, questionnaires, radarData) }, importData) }) From 2c8e938753654c34c2110c63e91bf31f3aae6ad0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hendrik=20L=C3=B6sch?= Date: Mon, 9 Mar 2026 12:46:36 +0100 Subject: [PATCH 09/11] fix: adjust margin for logo in App.vue --- src/App.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/App.vue b/src/App.vue index f714fb8..1c38d96 100644 --- a/src/App.vue +++ b/src/App.vue @@ -10,7 +10,7 @@ alt="Solution Inventory" width="28" height="28" - class="ml-1 mr-2" + class="ml-1 mr-1" style="flex: none;" /> Solution Inventory From bf12a6f3ad48e6f65a3e39c0f9a072487e2904d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hendrik=20L=C3=B6sch?= Date: Mon, 9 Mar 2026 14:10:35 +0100 Subject: [PATCH 10/11] feat: update CI workflows for pull request validation and release process --- .github/workflows/build-and-deploy.yml | 41 +--- .github/workflows/ci-dev.yml | 105 ++++++++++ .github/workflows/electron-release.yml | 267 +++++++++++-------------- package.json | 2 +- vite.config.js | 6 + 5 files changed, 234 insertions(+), 187 deletions(-) create mode 100644 .github/workflows/ci-dev.yml diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index 8f9c940..fe63ac6 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -1,27 +1,18 @@ -name: Build and Deploy to GitHub Pages +name: CI Validate Pull Request on: - push: - branches: - - main pull_request: branches: - main permissions: contents: read - pages: write - id-token: write - -concurrency: - group: pages - cancel-in-progress: false jobs: - build: - name: Build Application + validate: + name: Build and Test runs-on: ubuntu-latest - + steps: - name: Checkout repository uses: actions/checkout@v4 @@ -57,24 +48,8 @@ jobs: echo "Server did not respond after 60s" exit 1 - - name: Build application - run: npm run build + - name: Run E2E tests + run: npx cucumber-js - - name: Upload artifact - uses: actions/upload-pages-artifact@v3 - with: - path: ./dist - - deploy: - name: Deploy to GitHub Pages - if: github.ref == 'refs/heads/main' && github.event_name == 'push' - needs: build - runs-on: ubuntu-latest - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 + - name: Build application + run: npx vite build diff --git a/.github/workflows/ci-dev.yml b/.github/workflows/ci-dev.yml new file mode 100644 index 0000000..0c7eec7 --- /dev/null +++ b/.github/workflows/ci-dev.yml @@ -0,0 +1,105 @@ +name: CI – Dev Branch + +on: + push: + branches: + - dev + +permissions: + contents: read + +jobs: + # ------------------------------------------------------------------ + # 1. Run all E2E tests + # ------------------------------------------------------------------ + test: + name: E2E Tests + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Install Playwright browser and system dependencies + run: npx playwright install --with-deps chromium + + - name: Start dev server + run: nohup npx vite --host > /tmp/vite.log 2>&1 & + + - name: Wait for dev server + run: | + echo "Waiting for Vite dev server..." + for i in $(seq 1 30); do + if curl -sf http://localhost:5173/SolutionInventory/ > /dev/null 2>&1; then + echo "Server is up after ${i} attempts" + exit 0 + fi + echo "Attempt $i failed, retrying in 2s..." + sleep 2 + done + echo "--- Vite log ---" + cat /tmp/vite.log + echo "Server did not respond after 60s" + exit 1 + + - name: Run E2E tests + run: npx cucumber-js + + # ------------------------------------------------------------------ + # 2. Verify Electron app builds (no release, no publish) + # ------------------------------------------------------------------ + build-electron-check: + name: Electron Build Check (${{ matrix.artifact_name }}) + needs: test + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + include: + - os: ubuntu-latest + artifact_name: linux-x64 + electron_flags: --linux --x64 + - os: windows-latest + artifact_name: windows-x64 + electron_flags: --win --x64 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - name: Install system dependencies (Ubuntu) + if: matrix.os == 'ubuntu-latest' + run: | + sudo apt-get update + sudo apt-get install -y \ + libx11-xcb1 libxrandr2 libxcomposite1 libxcursor1 libxdamage1 \ + libxfixes3 libxi6 libgtk-3-0t64 libatk1.0-0t64 libcairo-gobject2 \ + libgdk-pixbuf-2.0-0 libasound2t64 libgtk-4-1 libvulkan1 libopus0 \ + libgstreamer1.0-0 libgstreamer-plugins-base1.0-0 \ + libgstreamer-plugins-bad1.0-0 libflite1 libwebp7 libharfbuzz-icu0 \ + libwayland-server0 libmanette-0.2-0 libenchant-2-2 libgbm1 libdrm2 \ + libhyphen0 libgles2 rpm fakeroot dpkg + + - name: Install dependencies + run: npm ci + + - name: Build Vite + Electron app (no publish) + run: npx vite build --mode electron && npx electron-builder ${{ matrix.electron_flags }} --publish never + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/electron-release.yml b/.github/workflows/electron-release.yml index 178800b..70ae11c 100644 --- a/.github/workflows/electron-release.yml +++ b/.github/workflows/electron-release.yml @@ -1,19 +1,69 @@ -name: Build and Release Electron App +name: Release on Merge to Main on: push: branches: - - dev - tags: - - 'v*' - workflow_dispatch: + - main permissions: contents: write + pages: write + id-token: write + +concurrency: + group: release-${{ github.run_id }} + cancel-in-progress: false jobs: - build-and-release: - name: Build (${{ matrix.artifact_name }}) + # ------------------------------------------------------------------ + # 1. Bump the minor version, commit it back to main and create a tag + # ------------------------------------------------------------------ + version: + name: Bump Version + runs-on: ubuntu-latest + # Prevent infinite loop: skip if the commit was created by this workflow + if: "!contains(github.event.head_commit.message, '[skip ci]')" + outputs: + version: ${{ steps.bump.outputs.version }} + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Configure Git identity + run: | + git config user.email "ci@github-actions" + git config user.name "GitHub Actions" + + - name: Bump minor version and push + id: bump + run: | + npm version minor --no-git-tag-version + VERSION=$(node -p "require('./package.json').version") + echo "version=${VERSION}" >> $GITHUB_OUTPUT + git add package.json package-lock.json + git commit -m "chore: release v${VERSION} [skip ci]" + git tag "v${VERSION}" + git push origin main --follow-tags + + # ------------------------------------------------------------------ + # 2. Build the Electron app (parallel matrix: Linux + Windows) + # ------------------------------------------------------------------ + build-electron: + name: Build Electron (${{ matrix.artifact_name }}) + needs: version runs-on: ${{ matrix.os }} strategy: @@ -21,17 +71,17 @@ jobs: matrix: include: - os: ubuntu-latest - arch: x64 artifact_name: linux-x64 electron_flags: --linux --x64 - os: windows-latest - arch: x64 artifact_name: windows-x64 electron_flags: --win --x64 steps: - - name: Checkout repository + - name: Checkout tagged release uses: actions/checkout@v4 + with: + ref: v${{ needs.version.outputs.version }} - name: Setup Node.js uses: actions/setup-node@v4 @@ -39,108 +89,27 @@ jobs: node-version: 20 cache: npm - - name: Configure Git identity - run: | - git config user.email "ci@github-actions" - git config user.name "GitHub Actions" - - - name: Set version from tag - if: startsWith(github.ref, 'refs/tags/v') - shell: bash - run: | - VERSION=${GITHUB_REF#refs/tags/v} - npm version $VERSION --no-git-tag-version - - - name: Increment version for dev builds - if: github.ref == 'refs/heads/dev' - run: npm version patch --no-git-tag-version - - name: Install system dependencies (Ubuntu) if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update sudo apt-get install -y \ - libx11-xcb1 \ - libxrandr2 \ - libxcomposite1 \ - libxcursor1 \ - libxdamage1 \ - libxfixes3 \ - libxi6 \ - libgtk-3-0t64 \ - libatk1.0-0t64 \ - libcairo-gobject2 \ - libgdk-pixbuf-2.0-0 \ - libasound2t64 \ - libgtk-4-1 \ - libvulkan1 \ - libopus0 \ - libgstreamer1.0-0 \ - libgstreamer-plugins-base1.0-0 \ - libgstreamer-plugins-bad1.0-0 \ - libflite1 \ - libwebp7 \ - libharfbuzz-icu0 \ - libwayland-server0 \ - libmanette-0.2-0 \ - libenchant-2-2 \ - libgbm1 \ - libdrm2 \ - libhyphen0 \ - libgles2 \ - rpm \ - fakeroot \ - dpkg + libx11-xcb1 libxrandr2 libxcomposite1 libxcursor1 libxdamage1 \ + libxfixes3 libxi6 libgtk-3-0t64 libatk1.0-0t64 libcairo-gobject2 \ + libgdk-pixbuf-2.0-0 libasound2t64 libgtk-4-1 libvulkan1 libopus0 \ + libgstreamer1.0-0 libgstreamer-plugins-base1.0-0 \ + libgstreamer-plugins-bad1.0-0 libflite1 libwebp7 libharfbuzz-icu0 \ + libwayland-server0 libmanette-0.2-0 libenchant-2-2 libgbm1 libdrm2 \ + libhyphen0 libgles2 rpm fakeroot dpkg - name: Install dependencies run: npm ci - - name: Install Playwright browser with system dependencies (Ubuntu only) - if: matrix.os == 'ubuntu-latest' - run: npx playwright install --with-deps chromium - - - name: Start dev server for E2E tests (Ubuntu only) - if: matrix.os == 'ubuntu-latest' - run: nohup npx vite --host > /tmp/vite.log 2>&1 & - - - name: Wait for dev server (Ubuntu only) - if: matrix.os == 'ubuntu-latest' - run: | - for i in $(seq 1 30); do - if curl -sf http://localhost:5173/SolutionInventory/ > /dev/null 2>&1; then - echo "Server is up after $i attempts" - exit 0 - fi - echo "Attempt $i failed, retrying in 2s..." - sleep 2 - done - echo "Server did not respond. Vite log:" - cat /tmp/vite.log - exit 1 - - - name: Run E2E tests (Ubuntu only) - if: matrix.os == 'ubuntu-latest' - run: npx cucumber-js - continue-on-error: true - - - name: Stop dev server (Ubuntu only) - if: matrix.os == 'ubuntu-latest' - run: pkill -f "vite" || true - - name: Build Vite + Electron app run: npx vite build --mode electron && npx electron-builder ${{ matrix.electron_flags }} env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Upload artifacts (macOS) - if: matrix.os == 'macos-latest' || matrix.os == 'macos-13' - uses: actions/upload-artifact@v4 - with: - name: ${{ matrix.artifact_name }} - path: | - release/*.dmg - release/*.zip - - name: Upload artifacts (Linux) if: matrix.os == 'ubuntu-latest' uses: actions/upload-artifact@v4 @@ -155,79 +124,71 @@ jobs: uses: actions/upload-artifact@v4 with: name: ${{ matrix.artifact_name }} - path: | - release/*.exe + path: release/*.exe + # ------------------------------------------------------------------ + # 3. Create a GitHub Release with all Electron artifacts + # ------------------------------------------------------------------ create-release: name: Create GitHub Release - needs: build-and-release + needs: [version, build-electron] runs-on: ubuntu-latest - if: always() && (github.ref == 'refs/heads/dev' || startsWith(github.ref, 'refs/tags/v')) steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: 20 - cache: npm - - - name: Install dependencies - run: npm ci - - - name: Configure Git identity - run: | - git config user.email "ci@github-actions" - git config user.name "GitHub Actions" - - - name: Set version from tag - if: startsWith(github.ref, 'refs/tags/v') - run: | - VERSION=${GITHUB_REF#refs/tags/v} - npm version $VERSION --no-git-tag-version - - - name: Increment version for dev builds - if: github.ref == 'refs/heads/dev' - run: npm version patch --no-git-tag-version - - - name: Read version - id: pkg_version - run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT - - name: Download all artifacts uses: actions/download-artifact@v4 with: path: artifacts - - name: Create Pre-Release (dev branch) - if: github.ref == 'refs/heads/dev' + - name: Create Release uses: softprops/action-gh-release@v2 with: - tag_name: dev-v${{ steps.pkg_version.outputs.version }}-${{ github.run_number }} - name: "Dev Build v${{ steps.pkg_version.outputs.version }} (#${{ github.run_number }})" + tag_name: v${{ needs.version.outputs.version }} + name: "Release v${{ needs.version.outputs.version }}" body: | - 🔧 **Automated dev build** from branch `dev` + ?? **Release v${{ needs.version.outputs.version }}** + Automatically built and released on merge to `main`. Commit: ${{ github.sha }} - Run: #${{ github.run_number }} - - > This is a pre-release build and may be unstable. - prerelease: true + prerelease: false files: artifacts/**/* env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Create Stable Release (tag) - if: startsWith(github.ref, 'refs/tags/v') - uses: softprops/action-gh-release@v2 + # ------------------------------------------------------------------ + # 4. Build the web app and deploy to GitHub Pages + # ------------------------------------------------------------------ + deploy-pages: + name: Deploy GitHub Pages + needs: version + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - name: Checkout tagged release + uses: actions/checkout@v4 with: - tag_name: v${{ steps.pkg_version.outputs.version }} - name: "Release v${{ steps.pkg_version.outputs.version }}" - body: | - 🚀 **Release v${{ steps.pkg_version.outputs.version }}** - prerelease: false - files: artifacts/**/* - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + ref: v${{ needs.version.outputs.version }} + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Build web application + run: npx vite build + + - name: Upload Pages artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./dist + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/package.json b/package.json index 466dc98..0d8bb02 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "solution-inventory-pwa", - "version": "0.1.0", + "version": "0.9.0", "description": "Solution Inventory - A questionnaire-based application for project assessment", "author": "Hendrik Lösch ", "private": true, diff --git a/vite.config.js b/vite.config.js index d45a9e2..ef2489b 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,12 +1,18 @@ import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { VitePWA } from 'vite-plugin-pwa' +import { readFileSync } from 'fs' + +const pkg = JSON.parse(readFileSync('./package.json', 'utf-8')) export default defineConfig(({ mode }) => { const isElectron = mode === 'electron'; return { base: isElectron ? './' : '/SolutionInventory/', + define: { + __APP_VERSION__: JSON.stringify(pkg.version) + }, plugins: [ vue(), // Only include PWA plugin for web build From da26e5dc6a2a4456f88555094c36c618ca808275 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hendrik=20L=C3=B6sch?= Date: Mon, 9 Mar 2026 14:12:26 +0100 Subject: [PATCH 11/11] fix: wrong build config for Dev branch --- .github/workflows/ci-dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-dev.yml b/.github/workflows/ci-dev.yml index 0c7eec7..04a447c 100644 --- a/.github/workflows/ci-dev.yml +++ b/.github/workflows/ci-dev.yml @@ -3,7 +3,7 @@ name: CI – Dev Branch on: push: branches: - - dev + - Dev permissions: contents: read