mirror of
https://github.com/DeterminateSystems/magic-nix-cache-action.git
synced 2024-12-26 09:20:35 +01:00
Fetch the magic-nix-cache closure from S3
This commit is contained in:
parent
1cac1ad780
commit
3931213b43
2 changed files with 23 additions and 27 deletions
20
dist/index.js
generated
vendored
20
dist/index.js
generated
vendored
|
@ -2,9 +2,8 @@ import * as fs$2 from 'node:fs/promises';
|
|||
import * as os$2 from 'node:os';
|
||||
import os__default from 'node:os';
|
||||
import * as path$1 from 'node:path';
|
||||
import { spawn } from 'node:child_process';
|
||||
import { openSync, createWriteStream } from 'node:fs';
|
||||
import { pipeline } from 'node:stream/promises';
|
||||
import { spawn, exec } from 'node:child_process';
|
||||
import { openSync } from 'node:fs';
|
||||
import { setTimeout as setTimeout$1 } from 'timers/promises';
|
||||
import { promisify as promisify$1, inspect } from 'node:util';
|
||||
import require$$0 from 'os';
|
||||
|
@ -12138,14 +12137,14 @@ function getCacherUrl() {
|
|||
}
|
||||
return `${urlPrefix}/latest/${binarySuffix}`;
|
||||
}
|
||||
async function fetchAutoCacher(destination) {
|
||||
const stream = createWriteStream(destination, {
|
||||
encoding: "binary",
|
||||
mode: 0o755,
|
||||
});
|
||||
async function fetchAutoCacher() {
|
||||
const binary_url = getCacherUrl();
|
||||
coreExports.info(`Fetching the Magic Nix Cache from ${binary_url}`);
|
||||
return pipeline(gotClient.stream(binary_url), stream);
|
||||
const { stdout } = await promisify$1(exec)(`curl "${binary_url}" | xz -d | nix-store --import`);
|
||||
const paths = stdout.split(os$2.EOL);
|
||||
const last_path = paths.at(-2);
|
||||
console.log(`stdout: ${last_path}`);
|
||||
return `${last_path}/bin/magic-nix-cache`;
|
||||
}
|
||||
async function setUpAutoCache() {
|
||||
const tmpdir = process.env['RUNNER_TEMP'] || os$2.tmpdir();
|
||||
|
@ -12167,8 +12166,7 @@ async function setUpAutoCache() {
|
|||
daemonBin = coreExports.getInput('source-binary');
|
||||
}
|
||||
else {
|
||||
daemonBin = `${daemonDir}/magic-nix-cache`;
|
||||
await fetchAutoCacher(daemonBin);
|
||||
daemonBin = await fetchAutoCacher();
|
||||
}
|
||||
var runEnv;
|
||||
if (coreExports.isDebug()) {
|
||||
|
|
30
src/index.ts
30
src/index.ts
|
@ -3,11 +3,10 @@
|
|||
import * as fs from 'node:fs/promises';
|
||||
import * as os from 'node:os';
|
||||
import * as path from 'node:path';
|
||||
import { spawn } from 'node:child_process';
|
||||
import { createWriteStream, openSync } from 'node:fs';
|
||||
import { pipeline } from 'node:stream/promises';
|
||||
import { spawn, exec } from 'node:child_process';
|
||||
import { openSync } from 'node:fs';
|
||||
import { setTimeout } from 'timers/promises';
|
||||
import { inspect } from 'node:util';
|
||||
import { inspect, promisify } from 'node:util';
|
||||
|
||||
import * as core from '@actions/core';
|
||||
import { Tail } from 'tail';
|
||||
|
@ -59,19 +58,19 @@ function getCacherUrl() : string {
|
|||
return `${urlPrefix}/latest/${binarySuffix}`;
|
||||
}
|
||||
|
||||
async function fetchAutoCacher(destination: string) {
|
||||
const stream = createWriteStream(destination, {
|
||||
encoding: "binary",
|
||||
mode: 0o755,
|
||||
});
|
||||
|
||||
async function fetchAutoCacher() {
|
||||
const binary_url = getCacherUrl();
|
||||
core.info(`Fetching the Magic Nix Cache from ${binary_url}`);
|
||||
|
||||
return pipeline(
|
||||
gotClient.stream(binary_url),
|
||||
stream
|
||||
);
|
||||
const { stdout } = await promisify(exec)(`curl "${binary_url}" | xz -d | nix-store --import`);
|
||||
|
||||
const paths = stdout.split(os.EOL);
|
||||
|
||||
const last_path = paths.at(-2);
|
||||
|
||||
console.log(`stdout: ${last_path}`);
|
||||
|
||||
return `${last_path}/bin/magic-nix-cache`;
|
||||
}
|
||||
|
||||
async function setUpAutoCache() {
|
||||
|
@ -98,8 +97,7 @@ async function setUpAutoCache() {
|
|||
if (core.getInput('source-binary')) {
|
||||
daemonBin = core.getInput('source-binary');
|
||||
} else {
|
||||
daemonBin = `${daemonDir}/magic-nix-cache`;
|
||||
await fetchAutoCacher(daemonBin);
|
||||
daemonBin = await fetchAutoCacher();
|
||||
}
|
||||
|
||||
var runEnv;
|
||||
|
|
Loading…
Reference in a new issue