Skip to content

Commit d27d518

Browse files
Enable workflow rule for package verification (Mintplex-Labs#3778)
enable workflow rule
1 parent 360c18b commit d27d518

File tree

5 files changed

+77
-6
lines changed

5 files changed

+77
-6
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# This GitHub action is for checking the versions of the packages in the project.
2+
# Any package that is present in both the `server` and `collector` package.json file
3+
# is checked to ensure that they are the same version.
4+
name: Check package versions
5+
6+
concurrency:
7+
group: build-${{ github.ref }}
8+
cancel-in-progress: true
9+
10+
on:
11+
pull_request:
12+
types: [opened, synchronize, reopened]
13+
paths:
14+
- "server/package.json"
15+
- "collector/package.json"
16+
17+
jobs:
18+
run-script:
19+
runs-on: ubuntu-latest
20+
21+
steps:
22+
- name: Checkout repository
23+
uses: actions/checkout@v2
24+
25+
- name: Set up Node.js
26+
uses: actions/setup-node@v3
27+
with:
28+
node-version: '18'
29+
30+
- name: Run verifyPackageVersions.mjs script
31+
run: |
32+
cd extras/scripts
33+
node verifyPackageVersions.mjs
34+
35+
- name: Fail job on error
36+
if: failure()
37+
run: exit 1

collector/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
},
1717
"dependencies": {
1818
"@langchain/community": "^0.2.23",
19-
"@xenova/transformers": "^2.11.0",
19+
"@xenova/transformers": "^2.14.0",
2020
"bcrypt": "^5.1.0",
2121
"body-parser": "^1.20.2",
2222
"cors": "^2.8.5",

collector/yarn.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -436,10 +436,10 @@
436436
dependencies:
437437
"@types/node" "*"
438438

439-
"@xenova/transformers@^2.11.0":
440-
version "2.17.1"
441-
resolved "https://registry.yarnpkg.com/@xenova/transformers/-/transformers-2.17.1.tgz#712f7a72c76c8aa2075749382f83dc7dd4e5a9a5"
442-
integrity sha512-zo702tQAFZXhzeD2GCYUNUqeqkoueOdiSbQWa4s0q7ZE4z8WBIwIsMMPGobpgdqjQ2u0Qulo08wuqVEUrBXjkQ==
439+
"@xenova/transformers@^2.14.0":
440+
version "2.17.2"
441+
resolved "https://registry.yarnpkg.com/@xenova/transformers/-/transformers-2.17.2.tgz#7448d73b90f67bced66f39fe2dd656adc891fde5"
442+
integrity sha512-lZmHqzrVIkSvZdKZEx7IYY51TK0WDrC8eR0c5IMnBsO8di8are1zzw8BlLhyO2TklZKLN5UffNGs1IJwT6oOqQ==
443443
dependencies:
444444
"@huggingface/jinja" "^0.2.2"
445445
onnxruntime-web "1.14.0"
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import serverPackageJson from '../../server/package.json' assert { type: 'json' };
2+
import collectorPackageJson from '../../collector/package.json' assert { type: 'json' };
3+
const { dependencies: serverDependencies } = serverPackageJson;
4+
const { dependencies: collectorDependencies } = collectorPackageJson;
5+
6+
const serverDependenciesKeys = Object.keys(serverDependencies);
7+
const collectorDependenciesKeys = Object.keys(collectorDependencies);
8+
const commonDependencies = Array.from(new Set([
9+
...serverDependenciesKeys.filter((key) => collectorDependenciesKeys.includes(key)),
10+
...collectorDependenciesKeys.filter((key) => serverDependenciesKeys.includes(key)),
11+
]));
12+
13+
const ignores = [
14+
"@langchain/community" // We are slowly removing this dependency from the app - its use is not critical
15+
]
16+
17+
console.log(`${commonDependencies.length} common dependencies found`, commonDependencies);
18+
console.log(`Verifying (serverVersion == collectorVersion) for each common dependency`);
19+
20+
const failed = [];
21+
commonDependencies.forEach((dependency) => {
22+
console.log(`Verifying ${dependency}: ${serverDependencies[dependency]} == ${collectorDependencies[dependency]}`);
23+
if (serverDependencies[dependency] !== collectorDependencies[dependency]) {
24+
if (ignores.includes(dependency)) console.log(`${dependency} is in ignore list.`);
25+
else failed.push({ dependency, serverVersion: serverDependencies[dependency], collectorVersion: collectorDependencies[dependency] });
26+
}
27+
});
28+
29+
if (failed.length > 0) {
30+
console.log(`❌ ${failed.length} dependencies failed to verify`, JSON.stringify(failed, null, 2));
31+
throw new Error(`${failed.length} dependencies failed to verify!`);
32+
}
33+
34+
console.log(`👍 All dependencies match between server and collector!`);

server/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
"graphql": "^16.7.1",
5656
"joi": "^17.11.0",
5757
"joi-password-complexity": "^5.2.0",
58-
"js-tiktoken": "^1.0.7",
58+
"js-tiktoken": "^1.0.8",
5959
"jsonrepair": "^3.7.0",
6060
"jsonwebtoken": "^9.0.0",
6161
"langchain": "0.1.36",

0 commit comments

Comments
 (0)