Copy the git commit hash logic to the backend
This commit is contained in:
parent
f88af9c3f9
commit
4bb6f49950
@ -2,6 +2,7 @@ import * as fs from 'fs';
|
|||||||
import * as os from 'os';
|
import * as os from 'os';
|
||||||
import logger from '../logger';
|
import logger from '../logger';
|
||||||
import { IBackendInfo } from '../mempool.interfaces';
|
import { IBackendInfo } from '../mempool.interfaces';
|
||||||
|
const { spawnSync } = require('child_process');
|
||||||
|
|
||||||
class BackendInfo {
|
class BackendInfo {
|
||||||
private gitCommitHash = '';
|
private gitCommitHash = '';
|
||||||
@ -27,10 +28,24 @@ class BackendInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private setLatestCommitHash(): void {
|
private setLatestCommitHash(): void {
|
||||||
try {
|
//TODO: share this logic with `generate-config.js`
|
||||||
this.gitCommitHash = fs.readFileSync('../.git/refs/heads/master').toString().trim();
|
if (process.env.DOCKER_COMMIT_HASH) {
|
||||||
} catch (e) {
|
this.gitCommitHash = process.env.DOCKER_COMMIT_HASH;
|
||||||
logger.err('Could not load git commit info: ' + (e instanceof Error ? e.message : e));
|
} else {
|
||||||
|
try {
|
||||||
|
const gitRevParse = spawnSync('git', ['rev-parse', '--short', 'HEAD']);
|
||||||
|
|
||||||
|
if (!gitRevParse.error) {
|
||||||
|
this.gitCommitHash = gitRevParse.stdout.toString('utf-8').replace(/[\n\r\s]+$/, '');
|
||||||
|
console.log(`mempool revision ${this.gitCommitHash}`);
|
||||||
|
} else if (gitRevParse.error.code === 'ENOENT') {
|
||||||
|
console.log('git not found, cannot parse git hash');
|
||||||
|
this.gitCommitHash = '?';
|
||||||
|
}
|
||||||
|
} catch (e: any) {
|
||||||
|
console.log('Could not load git commit info: ' + e.message);
|
||||||
|
this.gitCommitHash = '?';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user