Skip to content

Commit b38713e

Browse files
Copilotlongsizhuo
andcommitted
Improve error handling and robustness of validation scripts
- Use split() instead of replace() for version parsing - Add better error handling with specific error types - Improve error messages in CI workflows with fallbacks Co-authored-by: longsizhuo <114939201+longsizhuo@users.noreply.github.com>
1 parent e372a50 commit b38713e

4 files changed

Lines changed: 26 additions & 7 deletions

File tree

.github/workflows/content-check.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,12 @@ jobs:
5454
if ! git diff --exit-code pnpm-lock.yaml; then
5555
echo "❌ Error: pnpm-lock.yaml was modified after install"
5656
echo "This indicates a pnpm version mismatch or corrupted lockfile"
57-
echo "Expected pnpm version: $(node -p 'require(\"./package.json\").packageManager')"
58-
echo "Actual pnpm version: $(pnpm --version)"
57+
echo ""
58+
echo "Expected pnpm version from package.json:"
59+
node -p "require('./package.json').packageManager || 'not specified'" || echo "Could not read package.json"
60+
echo ""
61+
echo "Actual pnpm version:"
62+
pnpm --version || echo "pnpm not found"
5963
exit 1
6064
fi
6165
echo "✅ Lockfile is consistent"

.github/workflows/deploy.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,12 @@ jobs:
4343
if ! git diff --exit-code pnpm-lock.yaml; then
4444
echo "❌ Error: pnpm-lock.yaml was modified after install"
4545
echo "This indicates a pnpm version mismatch or corrupted lockfile"
46-
echo "Expected pnpm version: $(node -p 'require(\"./package.json\").packageManager')"
47-
echo "Actual pnpm version: $(pnpm --version)"
46+
echo ""
47+
echo "Expected pnpm version from package.json:"
48+
node -p "require('./package.json').packageManager || 'not specified'" || echo "Could not read package.json"
49+
echo ""
50+
echo "Actual pnpm version:"
51+
pnpm --version || echo "pnpm not found"
4852
exit 1
4953
fi
5054
echo "✅ Lockfile is consistent"

scripts/check-lockfile.mjs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,13 @@ try {
5858
process.exit(0);
5959

6060
} catch (error) {
61-
console.error('❌ Error checking lockfile:', error.message);
62-
// Don't fail the commit, just warn
61+
if (error.code === 'ENOENT') {
62+
console.error('❌ Error: Git repository or command not found');
63+
} else if (error.message.includes('not a git repository')) {
64+
console.log('⚠️ Not in a git repository, skipping lockfile check');
65+
} else {
66+
console.error('❌ Error checking lockfile:', error.message);
67+
}
68+
// Don't fail the commit, just provide information
6369
process.exit(0);
6470
}

scripts/check-pnpm-version.mjs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,12 @@ try {
3030
process.exit(1);
3131
}
3232

33-
const expectedVersion = packageManager.replace('pnpm@', '');
33+
const expectedVersion = packageManager.split('@')[1];
34+
35+
if (!expectedVersion) {
36+
console.error('❌ Error: Could not parse pnpm version from packageManager field');
37+
process.exit(1);
38+
}
3439

3540
// Get actual pnpm version
3641
let actualVersion;

0 commit comments

Comments
 (0)