diff --git a/packages/backend/src/boot/master.ts b/packages/backend/src/boot/master.ts index a90228eabc..607e8de340 100644 --- a/packages/backend/src/boot/master.ts +++ b/packages/backend/src/boot/master.ts @@ -51,7 +51,7 @@ function greet() { } bootLogger.info('Welcome to Sharkey!'); - bootLogger.info(`Sharkey v${meta.version}`, null, true); + bootLogger.info(`Sharkey v${meta.gitVersion ?? meta.version}`, null, true); } /** @@ -91,7 +91,7 @@ export async function masterMain() { maxBreadcrumbs: 0, // Set release version - release: 'Sharkey@' + meta.version, + release: 'Sharkey@' + (meta.gitVersion ?? meta.version), ...config.sentryForBackend.options, }); diff --git a/packages/backend/src/boot/worker.ts b/packages/backend/src/boot/worker.ts index 494e7c8c10..8cf3cadd22 100644 --- a/packages/backend/src/boot/worker.ts +++ b/packages/backend/src/boot/worker.ts @@ -37,7 +37,7 @@ export async function workerMain() { maxBreadcrumbs: 0, // Set release version - release: "Sharkey@" + meta.version, + release: "Sharkey@" + (meta.gitVersion ?? meta.version), ...config.sentryForBackend.options, }); diff --git a/packages/backend/src/config.ts b/packages/backend/src/config.ts index c2e7efd456..fa284c6526 100644 --- a/packages/backend/src/config.ts +++ b/packages/backend/src/config.ts @@ -397,7 +397,7 @@ export function loadConfig(): Config { applyEnvOverrides(config); const url = tryCreateUrl(config.url ?? process.env.MISSKEY_URL ?? ''); - const version = meta.version; + const version = meta.gitVersion ?? meta.version; const host = url.host; const hostname = url.hostname; const scheme = url.protocol.replace(/:$/, ''); diff --git a/scripts/build-pre.js b/scripts/build-pre.js index a90d53c75d..8b2e29d8f3 100644 --- a/scripts/build-pre.js +++ b/scripts/build-pre.js @@ -5,13 +5,24 @@ const fs = require('fs'); const packageJsonPath = __dirname + '/../package.json' +const { execFileSync } = require('node:child_process'); function build() { + let gitVersion; + try { + gitVersion = execFileSync('git', ['describe', '--tags'], { + encoding: 'utf-8', + }); + gitVersion = gitVersion.trim(); + } catch (e) { + console.warn("couldn't get git commit details, ignoring",e); + } + try { const json = fs.readFileSync(packageJsonPath, 'utf-8') const meta = JSON.parse(json); fs.mkdirSync(__dirname + '/../built', { recursive: true }); - fs.writeFileSync(__dirname + '/../built/meta.json', JSON.stringify({ version: meta.version }), 'utf-8'); + fs.writeFileSync(__dirname + '/../built/meta.json', JSON.stringify({ version: meta.version, gitVersion }), 'utf-8'); } catch (e) { console.error(e) }