diff --git a/.github/workflows/release-pypi.yml b/.github/workflows/release-pypi.yml index 5bf3973b3..fd1adab3a 100644 --- a/.github/workflows/release-pypi.yml +++ b/.github/workflows/release-pypi.yml @@ -17,6 +17,10 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Install Git + run: sudo apt-get update && sudo apt-get install -y git - uses: actions/setup-node@v4 with: node-version: 22 diff --git a/svelte.config.js b/svelte.config.js index 19b397286..82e05951f 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -1,6 +1,7 @@ import adapter from '@sveltejs/adapter-static'; import * as child_process from 'node:child_process'; import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; +import fs from 'node:fs'; /** @type {import('@sveltejs/kit').Config} */ const config = { @@ -18,7 +19,22 @@ const config = { }), // poll for new version name every 60 seconds (to trigger reload mechanic in +layout.svelte) version: { - name: child_process.execSync('git rev-parse HEAD').toString().trim(), + name: (() => { + try { + return child_process.execSync('git rev-parse HEAD').toString().trim(); + } catch { + // if git is not available, fallback to package.json version + // or current timestamp + try { + return ( + JSON.parse(fs.readFileSync(new URL('./package.json', import.meta.url), 'utf8')) + ?.version || Date.now().toString() + ); + } catch { + return Date.now().toString(); + } + } + })(), pollInterval: 60000 } },