Files
pr-preview/backend/node_modules/ssh2/install.js
T
space a71f801c3f feat: initial scaffold - backend, frontend, Prisma schema, Docker
- Prisma schema: User, Session, RepoConfig, Preview, Job, WebhookToken, NoConfigComment, AdminSettings
- Backend: auth (login/logout/me/first-user setup), webhook handler with HMAC verification, EC2 service, SSH service, deploy pipeline, job queue worker, cron workers
- Frontend: Login with first-user detection, Dashboard, PreviewDetail with live log streaming, Settings, Repos config, Admin panel, SetupWizard, Privacy page
- Docker Compose and Dockerfile for self-hosted deployment
- Uses bcryptjs for Node 24 compatibility

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-25 00:18:08 +02:00

28 lines
710 B
JavaScript

'use strict';
const { spawnSync } = require('child_process');
const forceFailOnNonZero = (process.env.CI_CHECK_FAIL === 'ssh2');
// Attempt to build the bundled optional binding
const args = [
`--target=${process.version}`,
`--real_openssl_major=${/^\d+/.exec(process.versions.openssl)[0]}`,
'rebuild',
];
const result = spawnSync('node-gyp', args, {
cwd: 'lib/protocol/crypto',
encoding: 'utf8',
shell: true,
stdio: 'inherit',
windowsHide: true,
});
if (result.error || result.status !== 0) {
console.log('Failed to build optional crypto binding');
if (forceFailOnNonZero)
process.exit(1);
} else {
console.log('Succeeded in building optional crypto binding');
}
process.exit(0);