From 616e26b5c5f001c4159a54981cf1cc6b435cffe6 Mon Sep 17 00:00:00 2001 From: Bruce Berrios <58147810+Bruception@users.noreply.github.com> Date: Sat, 2 Jul 2022 12:49:13 -0400 Subject: [PATCH] Add version commit hash (#3286) * Add version commit hash * Add frontend client hash * Remove export --- backend/src/version.ts | 3 ++- frontend/package.json | 2 +- frontend/webpack/config.prod.js | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/backend/src/version.ts b/backend/src/version.ts index a8a0d3fde..f501a248e 100644 --- a/backend/src/version.ts +++ b/backend/src/version.ts @@ -3,6 +3,7 @@ import { padNumbers } from "./utils/misc"; import { readFileSync, writeFileSync, existsSync } from "fs"; const SERVER_VERSION_FILE_PATH = join(__dirname, "./server.version"); +const { COMMIT_HASH = "NO_HASH" } = process.env; function getDateVersion(): string { const date = new Date(); @@ -28,7 +29,7 @@ function getVersion(): string { return readFileSync(SERVER_VERSION_FILE_PATH, "utf-8"); } - const serverVersion = getDateVersion(); + const serverVersion = `${getDateVersion()}.${COMMIT_HASH}`; writeFileSync(SERVER_VERSION_FILE_PATH, serverVersion); return serverVersion; diff --git a/frontend/package.json b/frontend/package.json index ffde32461..d55e2bba1 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -8,7 +8,7 @@ "audit": "npx webpack --config ./webpack/config.audit.js", "dep-graph": "madge -c -i \"dep-graph.png\" ./src/ts", "build": "npx gulp build", - "build-live": "npx gulp build-production", + "build-live": "export COMMIT_HASH=`git rev-parse --short HEAD` && npx gulp build-production", "dev": "concurrently \"webpack serve --config=./webpack/config.dev.js\" \"npx gulp watch\"", "deploy-live": "npm run build-live && firebase deploy -P live --only hosting", "tsc": "tsc" diff --git a/frontend/webpack/config.prod.js b/frontend/webpack/config.prod.js index 0e8a9a554..b4b1e0046 100644 --- a/frontend/webpack/config.prod.js +++ b/frontend/webpack/config.prod.js @@ -13,6 +13,8 @@ function pad(numbers, maxLength, fillString) { ); } +const { COMMIT_HASH = "NO_HASH" } = process.env; + /** @type { import('webpack').Configuration } */ const PRODUCTION_CONFIG = { mode: "production", @@ -38,7 +40,7 @@ const PRODUCTION_CONFIG = { ).join("."); const version = [versionPrefix, versionSuffix].join("_"); - return `export const CLIENT_VERSION = "${version}";`; + return `export const CLIENT_VERSION = "${version}.${COMMIT_HASH}";`; }, flags: "g", },