Better Boolean handling and debug statement

This commit is contained in:
Luc Perkins 2024-03-25 17:42:40 -03:00
parent fc6aaceb40
commit 7ec43f883b
No known key found for this signature in database
GPG key ID: 16DB1108FB591835

View file

@ -3,7 +3,7 @@
import * as fs from 'node:fs/promises'; import * as fs from 'node:fs/promises';
import * as os from 'node:os'; import * as os from 'node:os';
import * as path from 'node:path'; import * as path from 'node:path';
import { spawn, exec } from 'node:child_process'; import { spawn, exec, SpawnOptions } from 'node:child_process';
import { openSync, readFileSync } from 'node:fs'; import { openSync, readFileSync } from 'node:fs';
import { inspect, promisify } from 'node:util'; import { inspect, promisify } from 'node:util';
import * as http from 'http'; import * as http from 'http';
@ -145,33 +145,38 @@ async function setUpAutoCache() {
const output = openSync(outputPath, 'a'); const output = openSync(outputPath, 'a');
const log = tailLog(daemonDir); const log = tailLog(daemonDir);
const netrc = await netrcPath(); const netrc = await netrcPath();
const nixConfPath = `${process.env["HOME"]}/.config/nix/nix.conf`;
// Start the server. Once it is ready, it will notify us via the notification server. const daemonCliFlags: string[] = [
const daemon = spawn(
daemonBin,
[
'--startup-notification-url', `http://127.0.0.1:${notifyPort}`, '--startup-notification-url', `http://127.0.0.1:${notifyPort}`,
'--listen', core.getInput('listen'), '--listen', core.getInput('listen'),
'--upstream', core.getInput('upstream-cache'), '--upstream', core.getInput('upstream-cache'),
'--diagnostic-endpoint', core.getInput('diagnostic-endpoint'), '--diagnostic-endpoint', core.getInput('diagnostic-endpoint'),
'--nix-conf', `${process.env["HOME"]}/.config/nix/nix.conf` '--nix-conf', nixConfPath
].concat( ].concat(
core.getInput('use-flakehub') === 'true' ? [ core.getBooleanInput('use-flakehub') ? [
'--use-flakehub', '--use-flakehub',
'--flakehub-cache-server', core.getInput('flakehub-cache-server'), '--flakehub-cache-server', core.getInput('flakehub-cache-server'),
'--flakehub-api-server', core.getInput('flakehub-api-server'), '--flakehub-api-server', core.getInput('flakehub-api-server'),
'--flakehub-api-server-netrc', netrc, '--flakehub-api-server-netrc', netrc,
'--flakehub-flake-name', core.getInput('flakehub-flake-name'), '--flakehub-flake-name', core.getInput('flakehub-flake-name'),
] : []).concat( ] : []).concat(
core.getInput('use-gha-cache') === 'true' ? [ core.getBooleanInput('use-gha-cache') ? [
'--use-gha-cache' '--use-gha-cache'
] : []), ] : []);
{
const opts: SpawnOptions = {
stdio: ['ignore', output, output], stdio: ['ignore', output, output],
env: runEnv, env: runEnv,
detached: true detached: true
} };
);
// Display the final command for debugging purposes
core.debug("Full daemon start command:");
core.debug(`${daemonBin} ${daemonCliFlags.join(" ")}`);
// Start the server. Once it is ready, it will notify us via the notification server.
const daemon = spawn(daemonBin, daemonCliFlags, opts);
const pidFile = path.join(daemonDir, 'daemon.pid'); const pidFile = path.join(daemonDir, 'daemon.pid');
await fs.writeFile(pidFile, `${daemon.pid}`); await fs.writeFile(pidFile, `${daemon.pid}`);