1 | "use strict";
|
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
4 | };
|
5 | Object.defineProperty(exports, "__esModule", { value: true });
|
6 | exports.setup = void 0;
|
7 | const path_1 = __importDefault(require("path"));
|
8 | const downloader_1 = __importDefault(require("@expo/downloader"));
|
9 | const turtle_spawn_1 = __importDefault(require("@expo/turtle-spawn"));
|
10 | async function setup(ctx) {
|
11 | var _a;
|
12 | const { job, logger } = ctx;
|
13 | const buildDirectory = path_1.default.join(ctx.workingdir, 'build');
|
14 | const projectTarball = path_1.default.join(ctx.workingdir, 'project.tar.gz');
|
15 | logger.info({ projectUrl: job.projectUrl }, 'Download project archive');
|
16 | await downloader_1.default(job.projectUrl, projectTarball);
|
17 | logger.info('Unpacking project archive');
|
18 | await turtle_spawn_1.default('tar', ['--strip-components', '1', '-zxf', 'project.tar.gz', '-C', buildDirectory], {
|
19 | cwd: ctx.workingdir,
|
20 | logger,
|
21 | });
|
22 | logger.info('Running yarn');
|
23 | await turtle_spawn_1.default('yarn', ['install'], {
|
24 | cwd: buildDirectory,
|
25 | logger,
|
26 | env: {
|
27 | ...process.env,
|
28 | ...(_a = job.secrets) === null || _a === void 0 ? void 0 : _a.secretEnvs,
|
29 | },
|
30 | });
|
31 | return buildDirectory;
|
32 | }
|
33 | exports.setup = setup;
|
34 |
|
\ | No newline at end of file |