24 lines
1.1 KiB
JavaScript
24 lines
1.1 KiB
JavaScript
const assert = require('node:assert/strict');
|
|
const fs = require('node:fs');
|
|
const path = require('node:path');
|
|
|
|
const root = path.resolve(__dirname, '..', '..');
|
|
const route = fs.readFileSync(path.join(root, 'website/app/api/version/route.ts'), 'utf8');
|
|
const config = fs.readFileSync(path.join(root, 'website/next.config.ts'), 'utf8');
|
|
const deploy = fs.readFileSync(path.join(root, 'scripts/deploy-website.ps1'), 'utf8');
|
|
|
|
assert.match(config, /MOTORSIGNAL_GIT_SHA/);
|
|
assert.match(config, /MOTORSIGNAL_DEPLOY_REVISION/);
|
|
assert.match(route, /service: 'motorsignal-website'/);
|
|
assert.match(route, /revision/);
|
|
assert.match(route, /Cache-Control/);
|
|
assert.match(route, /no-store/);
|
|
assert.match(deploy, /git -C \$RepositoryRoot rev-parse HEAD/);
|
|
assert.match(deploy, /MOTORSIGNAL_GIT_SHA/);
|
|
assert.match(deploy, /https:\/\/motorsignal\.app\/api\/version/);
|
|
assert.match(deploy, /Deployment revision mismatch/);
|
|
assert.match(deploy, /status --porcelain -- website/);
|
|
assert.match(deploy, /working tree contains uncommitted changes/);
|
|
|
|
console.log('PASS: website deployment revision contract verified.');
|