Verify i18n in CI

To protect developers from mistakes such as missing strings or getting them out of order.
pull/21833/head
Travis Ralston 2019-07-11 09:39:22 -06:00
parent 111b28971a
commit f6af464fff
3 changed files with 20 additions and 0 deletions

View File

@ -85,6 +85,15 @@ steps:
image: "node:10"
propagate-environment: true
- label: "🌐 i18n"
command:
# Do the things needed to actually run the i18n stuff
- "yarn install"
- "yarn diff-i18n"
plugins:
- docker#v3.0.1:
image: "node:10"
- wait
- label: "🐴 Trigger riot-web"

View File

@ -40,6 +40,7 @@
"rethemendex": "res/css/rethemendex.sh",
"i18n": "matrix-gen-i18n",
"prunei18n": "matrix-prune-i18n",
"diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && ./scripts/gen-i18n.js && node scripts/compare-file.js src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
"build": "yarn reskindex && yarn start:init",
"build:watch": "babel src -w --skip-initial-build -d lib --source-maps --copy-files",
"emoji-data-strip": "node scripts/emoji-data-strip.js",

10
scripts/compare-file.js Normal file
View File

@ -0,0 +1,10 @@
const fs = require("fs");
if (process.argv.length < 4) throw new Error("Missing source and target file arguments");
const sourceFile = fs.readFileSync(process.argv[2], 'utf8');
const targetFile = fs.readFileSync(process.argv[3], 'utf8');
if (sourceFile !== targetFile) {
throw new Error("Files do not match");
}