From 403a762da1d6816717a3cd816594cebb5c5f85ab Mon Sep 17 00:00:00 2001 From: undefined Date: Mon, 30 Mar 2026 18:54:31 +0800 Subject: [PATCH] judge: add override config --- packages/hydrojudge/package.json | 14 +++++++------- packages/hydrojudge/src/config.ts | 8 +++++++- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/packages/hydrojudge/package.json b/packages/hydrojudge/package.json index 1acef7199..089220e4b 100644 --- a/packages/hydrojudge/package.json +++ b/packages/hydrojudge/package.json @@ -1,24 +1,24 @@ { "name": "@hydrooj/hydrojudge", "bin": "bin/hydrojudge.js", - "version": "3.5.0-beta.14", + "version": "3.5.0-beta.15", "main": "./src/index.ts", "author": "undefined ", "repository": "https://github.com/hydro-dev/Hydro.git", "dependencies": { "@hydrooj/common": "workspace:^", "@hydrooj/utils": "workspace:^", - "@opentelemetry/api": "^1.9.0", - "@opentelemetry/exporter-trace-otlp-http": "^0.212.0", - "@opentelemetry/sdk-node": "^0.212.0", - "@zip.js/zip.js": "^2.8.21", + "@opentelemetry/api": "^1.9.1", + "@opentelemetry/exporter-trace-otlp-http": "^0.214.0", + "@opentelemetry/sdk-node": "^0.214.0", + "@zip.js/zip.js": "^2.8.23", "cac": "^6.7.14", "p-queue": "^9.1.0", - "schemastery": "^3.17.2", + "schemastery": "^3.18.0", "semver": "^7.7.4", "shell-quote": "^1.8.3", "superagent": "^10.3.0", - "ws": "^8.19.0" + "ws": "^8.20.0" }, "preferUnplugged": true, "license": "AGPL-3.0-or-later", diff --git a/packages/hydrojudge/src/config.ts b/packages/hydrojudge/src/config.ts index 51b2b9f27..4a2d0c78c 100644 --- a/packages/hydrojudge/src/config.ts +++ b/packages/hydrojudge/src/config.ts @@ -68,9 +68,15 @@ let config = global.Hydro } const configFilePath = (process.env.CONFIG_FILE || argv.options.config) ? path.resolve(process.env.CONFIG_FILE || argv.options.config) - : fs.existsSync(oldPath) ? oldPath : newPath; + : fs.existsSync(newPath) ? newPath : oldPath; const configFile = fs.readFileSync(configFilePath, 'utf-8'); Object.assign(base, yaml.load(configFile) as any); + if (process.env.OVERRIDE_CONFIG) { + if (fs.existsSync(process.env.OVERRIDE_CONFIG)) { + const overrideConfigFile = fs.readFileSync(process.env.OVERRIDE_CONFIG, 'utf-8'); + Object.assign(base, yaml.load(overrideConfigFile) as any); + } else console.warn('Override config file not found'); + } const cfg = JudgeSettings(base); return JudgeSettings(cfg); })();