apify-test-tools 0.8.3 → 0.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/scripts/before-beta-release.js +3 -1
- package/.github/workflows/manual_publish_to_npm.yaml +3 -1
- package/CHANGELOG.md +10 -0
- package/README.md +21 -0
- package/bin/build-from-local.ts +204 -0
- package/bin/build.ts +67 -21
- package/bin/main.ts +26 -0
- package/bin/utils.ts +64 -0
- package/dist/bin/build-from-local.d.ts +14 -0
- package/dist/bin/build-from-local.d.ts.map +1 -0
- package/dist/bin/build-from-local.js +153 -0
- package/dist/bin/build-from-local.js.map +1 -0
- package/dist/bin/build.d.ts +25 -1
- package/dist/bin/build.d.ts.map +1 -1
- package/dist/bin/build.js +54 -17
- package/dist/bin/build.js.map +1 -1
- package/dist/bin/main.js +20 -0
- package/dist/bin/main.js.map +1 -1
- package/dist/bin/utils.d.ts +18 -0
- package/dist/bin/utils.d.ts.map +1 -1
- package/dist/bin/utils.js +51 -0
- package/dist/bin/utils.js.map +1 -1
- package/dist/test/unit/bin/build-from-local.test.d.ts +2 -0
- package/dist/test/unit/bin/build-from-local.test.d.ts.map +1 -0
- package/dist/test/unit/bin/build-from-local.test.js +152 -0
- package/dist/test/unit/bin/build-from-local.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/test/unit/bin/build-from-local.test.ts +233 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import os from 'node:os';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { ApifyBuilder, waitAndSummarizeBuilds } from './build.js';
|
|
5
|
+
import { getGitignoredPaths, isOutsideDir, listRepoFilePaths, toActorVersionSourceFile } from './utils.js';
|
|
6
|
+
// JUST IN CASE. File patterns that commonly hold credentials — never ship these into a build, regardless
|
|
7
|
+
// of sourceType or of whether the repo's .gitignore happens to list them. Everything else that should be
|
|
8
|
+
// excluded (build output, local overrides, project-specific secret files, ...) is expected to already be
|
|
9
|
+
// in the repo's .gitignore — see collectNonIgnoredFiles.
|
|
10
|
+
const SKIP_FILE_PATTERNS = [/^\.env(\..+)?$/, /\.pem$/, /\.key$/, /\.pfx$/, /\.p12$/];
|
|
11
|
+
const isSecretFile = (fileName) => SKIP_FILE_PATTERNS.some((pattern) => pattern.test(fileName));
|
|
12
|
+
export const collectSourceFiles = async (actorName, actorDir) => {
|
|
13
|
+
const repoRoot = process.cwd();
|
|
14
|
+
const absActorDir = path.resolve(actorDir);
|
|
15
|
+
// Read actor.json to check if this is a monorepo actor with an external dockerContextDir.
|
|
16
|
+
// Monorepo actors point their dockerContextDir to a parent directory (e.g. "../../.."),
|
|
17
|
+
// which means the Docker build context is the repo root, not the actor directory itself.
|
|
18
|
+
const actorJsonPath = path.join(absActorDir, '.actor', 'actor.json');
|
|
19
|
+
const actorJson = JSON.parse(await fs.readFile(actorJsonPath, 'utf8'));
|
|
20
|
+
const rawContextDir = actorJson.dockerContextDir;
|
|
21
|
+
const contextAbsDir = rawContextDir ? path.resolve(absActorDir, '.actor', rawContextDir) : undefined;
|
|
22
|
+
const isMonorepoActor = !!contextAbsDir && isOutsideDir(contextAbsDir, absActorDir);
|
|
23
|
+
const collectRootDir = isMonorepoActor ? contextAbsDir : absActorDir;
|
|
24
|
+
const keptFilePaths = collectNonIgnoredFiles(collectRootDir, repoRoot);
|
|
25
|
+
if (!isMonorepoActor) {
|
|
26
|
+
return Promise.all(keptFilePaths.map(async (filePath) => toActorVersionSourceFile(filePath, collectRootDir)));
|
|
27
|
+
}
|
|
28
|
+
const { tempDir, filePaths } = await flattenMonorepoContext(actorName, absActorDir, contextAbsDir, actorJson, keptFilePaths, repoRoot);
|
|
29
|
+
try {
|
|
30
|
+
return await Promise.all(filePaths.map(async (filePath) => toActorVersionSourceFile(filePath, tempDir)));
|
|
31
|
+
}
|
|
32
|
+
finally {
|
|
33
|
+
// Only the flattened copy is temporary — never delete the actor's own directory.
|
|
34
|
+
await fs.rm(tempDir, { recursive: true, force: true });
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
// Candidates come from `git ls-files` (tracked + untracked, gitignored included) rather than a
|
|
38
|
+
// manual directory walk — nested .gitignore files, `.git/info/exclude`, and global excludes are
|
|
39
|
+
// all honored since this delegates to git itself instead of re-implementing gitignore matching,
|
|
40
|
+
// and .git/ is never walked because git never lists its own internals here. `.actor/` (the Actor
|
|
41
|
+
// specification folder) is always kept regardless of .gitignore, matching Apify CLI's own behavior.
|
|
42
|
+
// Files matching the hardcoded secret-pattern backstop (keys, certs, .env variants) are dropped
|
|
43
|
+
// unconditionally, .actor/ included, since those should never ship regardless of what .gitignore says.
|
|
44
|
+
export const collectNonIgnoredFiles = (rootDir, repoRoot) => {
|
|
45
|
+
const relativePaths = listRepoFilePaths(repoRoot, rootDir);
|
|
46
|
+
const ignoredPaths = getGitignoredPaths(relativePaths);
|
|
47
|
+
return relativePaths
|
|
48
|
+
.filter((relPath) => {
|
|
49
|
+
if (isSecretFile(path.basename(relPath)))
|
|
50
|
+
return false;
|
|
51
|
+
const isUnderActorDir = relPath.split('/').includes('.actor');
|
|
52
|
+
return isUnderActorDir || !ignoredPaths.has(relPath);
|
|
53
|
+
})
|
|
54
|
+
.map((relPath) => path.join(repoRoot, relPath));
|
|
55
|
+
};
|
|
56
|
+
// SOURCE_FILES always treats the collected root as the actor root, so we cannot simply
|
|
57
|
+
// collect the actor directory of a monorepo actor — the platform would reject any path
|
|
58
|
+
// escaping it. Fix: create a temporary "flattened" directory where:
|
|
59
|
+
// - the Docker context's non-ignored files (repo root) are copied to the temp dir root
|
|
60
|
+
// - the actor's .actor/ directory is overlaid at the temp dir root (through the same
|
|
61
|
+
// gitignore/secret-pattern filter as the rest of the context — see collectNonIgnoredFiles)
|
|
62
|
+
// - actor.json path fields are rewritten to be relative to the new location
|
|
63
|
+
//
|
|
64
|
+
// Result: the collected root IS the Docker context, .actor/ is at that root, and
|
|
65
|
+
// all relative paths (dockerfile, dockerContextDir, changelog) are exactly one
|
|
66
|
+
// level up ("..") instead of three ("../../..").
|
|
67
|
+
export const flattenMonorepoContext = async (actorName, absActorDir, contextAbsDir, actorJson, keptContextFiles, repoRoot) => {
|
|
68
|
+
console.error(`[${actorName}]: monorepo actor detected — flattening from Docker context`);
|
|
69
|
+
const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), `apify-build-${actorName.replace('/', '_')}-`));
|
|
70
|
+
const filePaths = [];
|
|
71
|
+
// Step 1: copy only the files that survived gitignore/secret filtering, preserving their
|
|
72
|
+
// position relative to the Docker context root.
|
|
73
|
+
await Promise.all(keptContextFiles.map(async (absFilePath) => {
|
|
74
|
+
const relPath = path.relative(contextAbsDir, absFilePath);
|
|
75
|
+
const destPath = path.join(tempDir, relPath);
|
|
76
|
+
await fs.mkdir(path.dirname(destPath), { recursive: true });
|
|
77
|
+
await fs.copyFile(absFilePath, destPath);
|
|
78
|
+
filePaths.push(destPath);
|
|
79
|
+
}));
|
|
80
|
+
// Step 2: overlay the actor's .actor/ directory at the temp dir root. collectNonIgnoredFiles
|
|
81
|
+
// always keeps .actor/ paths regardless of .gitignore, but still drops the hardcoded secret
|
|
82
|
+
// patterns — so this isn't a raw copy, a stray secret file living inside .actor/ is still dropped.
|
|
83
|
+
const actorMetaDir = path.join(absActorDir, '.actor');
|
|
84
|
+
const keptActorFiles = collectNonIgnoredFiles(actorMetaDir, repoRoot);
|
|
85
|
+
await Promise.all(keptActorFiles.map(async (absFilePath) => {
|
|
86
|
+
const relPath = path.relative(actorMetaDir, absFilePath);
|
|
87
|
+
const destPath = path.join(tempDir, '.actor', relPath);
|
|
88
|
+
await fs.mkdir(path.dirname(destPath), { recursive: true });
|
|
89
|
+
await fs.copyFile(absFilePath, destPath);
|
|
90
|
+
filePaths.push(destPath);
|
|
91
|
+
}));
|
|
92
|
+
// Step 3: rewrite actor.json path fields so they resolve correctly from the new location.
|
|
93
|
+
// This overwrites the actor.json already copied in step 2 in place, so its path is already
|
|
94
|
+
// accounted for in filePaths — no need to add it again.
|
|
95
|
+
await rewriteActorJsonPaths(absActorDir, contextAbsDir, tempDir, actorJson);
|
|
96
|
+
return { tempDir, filePaths };
|
|
97
|
+
};
|
|
98
|
+
// Rewrites actor.json path fields so they resolve correctly from the new .actor/ location
|
|
99
|
+
// (one level below the root) instead of the original three-levels-deep location.
|
|
100
|
+
//
|
|
101
|
+
// Algorithm for each path field:
|
|
102
|
+
// 1. Resolve the original value to an absolute path on disk.
|
|
103
|
+
// 2. Compute its position relative to the Docker context root (e.g. repo root).
|
|
104
|
+
// That relative position is exactly where the file landed inside tempDir,
|
|
105
|
+
// because we copied contextAbsDir → tempDir in flattenMonorepoContext's step 1.
|
|
106
|
+
// 3. Build the new path from newActorDir to that file in tempDir.
|
|
107
|
+
//
|
|
108
|
+
// Local paths (e.g. "./dataset_schema.json") point inside .actor/ and are left
|
|
109
|
+
// unchanged — .actor/ was copied intact so those paths still resolve correctly.
|
|
110
|
+
export const rewriteActorJsonPaths = async (absActorDir, contextAbsDir, tempDir, actorJson) => {
|
|
111
|
+
const originalActorDir = path.join(absActorDir, '.actor');
|
|
112
|
+
const newActorDir = path.join(tempDir, '.actor');
|
|
113
|
+
const pathFields = ['dockerfile', 'dockerContextDir', 'changelog', 'readme'];
|
|
114
|
+
const rewritten = { ...actorJson };
|
|
115
|
+
for (const field of pathFields) {
|
|
116
|
+
const value = rewritten[field];
|
|
117
|
+
if (typeof value !== 'string')
|
|
118
|
+
continue;
|
|
119
|
+
const absPath = path.resolve(originalActorDir, value);
|
|
120
|
+
// Skip paths that stay inside .actor/ — they don't need rewriting.
|
|
121
|
+
if (!isOutsideDir(absPath, originalActorDir))
|
|
122
|
+
continue;
|
|
123
|
+
// Where does this file live inside the Docker context? That's also where
|
|
124
|
+
// it lives inside tempDir after the copy in flattenMonorepoContext's step 1.
|
|
125
|
+
const relativeToContext = path.relative(contextAbsDir, absPath);
|
|
126
|
+
const newAbsPath = path.join(tempDir, relativeToContext);
|
|
127
|
+
rewritten[field] = path.relative(newActorDir, newAbsPath);
|
|
128
|
+
}
|
|
129
|
+
await fs.writeFile(path.join(newActorDir, 'actor.json'), JSON.stringify(rewritten, null, 4));
|
|
130
|
+
};
|
|
131
|
+
export const runBuildsFromLocal = async ({ actorConfigs, dryRun, }) => {
|
|
132
|
+
if (dryRun) {
|
|
133
|
+
console.error('[DRY RUN] Would build from local source:');
|
|
134
|
+
for (const { actorName, folder } of actorConfigs) {
|
|
135
|
+
console.error(` ${actorName} (${folder})`);
|
|
136
|
+
}
|
|
137
|
+
return actorConfigs.map(({ actorName }) => ({
|
|
138
|
+
buildId: 'dry-run',
|
|
139
|
+
actorId: 'dry-run',
|
|
140
|
+
buildNumber: '0.98.0',
|
|
141
|
+
actorName,
|
|
142
|
+
}));
|
|
143
|
+
}
|
|
144
|
+
console.error('=========================================');
|
|
145
|
+
console.error('STARTED LOCAL BUILDS:');
|
|
146
|
+
const startedBuilds = await Promise.all(actorConfigs.map(async ({ actorName, folder }) => {
|
|
147
|
+
const builder = ApifyBuilder.fromActorName(actorName);
|
|
148
|
+
const sourceFiles = await collectSourceFiles(actorName, folder);
|
|
149
|
+
return builder.startActorBuildFromSourceFiles(sourceFiles);
|
|
150
|
+
}));
|
|
151
|
+
return waitAndSummarizeBuilds(startedBuilds, 'LOCAL BUILDS');
|
|
152
|
+
};
|
|
153
|
+
//# sourceMappingURL=build-from-local.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-from-local.js","sourceRoot":"","sources":["../../bin/build-from-local.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/build.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ActorVersionSourceFile, Build } from 'apify-client';
|
|
1
2
|
import type { ActorConfig, BuildData } from './types.js';
|
|
2
3
|
type BuildPrActorOptions = {
|
|
3
4
|
buildTag?: string;
|
|
@@ -6,6 +7,29 @@ type BuildPrActorOptions = {
|
|
|
6
7
|
actorName: string;
|
|
7
8
|
useDockerCache: boolean;
|
|
8
9
|
};
|
|
10
|
+
export declare class ApifyBuilder {
|
|
11
|
+
private readonly apifyClient;
|
|
12
|
+
private readonly actorName;
|
|
13
|
+
private constructor();
|
|
14
|
+
getDefaultVersionAndTag: () => Promise<{
|
|
15
|
+
defaultBuildNumber: string;
|
|
16
|
+
defaultVersionNumber: string;
|
|
17
|
+
defaultBuildTag: string;
|
|
18
|
+
}>;
|
|
19
|
+
startActorBuild: ({ buildTag, versionNumber, gitRepoUrl, useDockerCache, }: BuildPrActorOptions) => Promise<BuildData>;
|
|
20
|
+
startActorBuildFromSourceFiles: (sourceFiles: ActorVersionSourceFile[]) => Promise<BuildData>;
|
|
21
|
+
waitForBuildToFinish: (buildId: string, actorName: string) => Promise<Build>;
|
|
22
|
+
/**
|
|
23
|
+
* Create ApifyBuilder with actor owner's token
|
|
24
|
+
*/
|
|
25
|
+
static fromActorName: (actorName: string) => ApifyBuilder;
|
|
26
|
+
/**
|
|
27
|
+
* Deletes build of all versions. Apify API doesn't allow to delete default build and we explicitly skip it
|
|
28
|
+
* We delete devel builds faster because we used the for every PR until recently so just to get rid of them faster
|
|
29
|
+
*/
|
|
30
|
+
deleteOldBuilds(): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
export declare const waitAndSummarizeBuilds: (startedBuilds: BuildData[], label: string) => Promise<BuildData[]>;
|
|
9
33
|
type RunBuildsOptions = {
|
|
10
34
|
actorConfigs: ActorConfig[];
|
|
11
35
|
isLatest?: boolean;
|
|
@@ -14,7 +38,7 @@ type RunBuildsOptions = {
|
|
|
14
38
|
dryRun: boolean;
|
|
15
39
|
useDockerCache: boolean;
|
|
16
40
|
};
|
|
17
|
-
export declare const runBuilds: ({ repoUrl, branch, actorConfigs, isLatest, dryRun, useDockerCache, }: RunBuildsOptions) => Promise<
|
|
41
|
+
export declare const runBuilds: ({ repoUrl, branch, actorConfigs, isLatest, dryRun, useDockerCache, }: RunBuildsOptions) => Promise<BuildData[] | BuildPrActorOptions[]>;
|
|
18
42
|
export declare const deleteOldBuilds: (actorConfigs: ActorConfig[]) => Promise<void>;
|
|
19
43
|
export {};
|
|
20
44
|
//# sourceMappingURL=build.d.ts.map
|
package/dist/bin/build.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../bin/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../bin/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAKlE,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEzD,KAAK,mBAAmB,GAAG;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;CAC3B,CAAC;AACF,qBAAa,YAAY;IAEjB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAF9B,OAAO;IAMP,uBAAuB,QAAa,OAAO,CAAC;QACxC,kBAAkB,EAAE,MAAM,CAAC;QAC3B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC,CAgCA;IAEF,eAAe,GAAU,0DAKtB,mBAAmB,KAAG,OAAO,CAAC,SAAS,CAAC,CAqCzC;IAEF,8BAA8B,GAAU,aAAa,sBAAsB,EAAE,KAAG,OAAO,CAAC,SAAS,CAAC,CA+BhG;IAEF,oBAAoB,GAAU,SAAS,MAAM,EAAE,WAAW,MAAM,KAAG,OAAO,CAAC,KAAK,CAAC,CAmB/E;IAEF;;OAEG;IACH,MAAM,CAAC,aAAa,GAAI,WAAW,MAAM,KAAG,YAAY,CAetD;IAEF;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAwFzC;AAED,eAAO,MAAM,sBAAsB,GAAU,eAAe,SAAS,EAAE,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,SAAS,EAAE,CAkB3G,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACpB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,SAAS,GAAU,sEAO7B,gBAAgB,iDAsClB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,cAAc,WAAW,EAAE,kBAIhE,CAAC"}
|
package/dist/bin/build.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ApifyClient } from 'apify-client';
|
|
2
2
|
import { ACTOR_SOURCE_TYPES } from '@apify/consts';
|
|
3
|
-
class ApifyBuilder {
|
|
3
|
+
export class ApifyBuilder {
|
|
4
4
|
apifyClient;
|
|
5
5
|
actorName;
|
|
6
6
|
constructor(apifyClient, actorName) {
|
|
@@ -62,14 +62,48 @@ class ApifyBuilder {
|
|
|
62
62
|
console.error(`[${this.actorName}]: ${id} (${buildNumber})`);
|
|
63
63
|
return { buildId: id, actorId: actId, buildNumber, actorName: this.actorName };
|
|
64
64
|
};
|
|
65
|
+
startActorBuildFromSourceFiles = async (sourceFiles) => {
|
|
66
|
+
const ZIP_VERSION = '0.98';
|
|
67
|
+
const actorClient = this.apifyClient.actor(this.actorName);
|
|
68
|
+
const actorInfo = await actorClient.get();
|
|
69
|
+
if (!actorInfo) {
|
|
70
|
+
throw new Error(`No actor named '${this.actorName}' was found on the platform. If this` +
|
|
71
|
+
' is unexpected, make sure the actor you are targeting is spelled the' +
|
|
72
|
+
' same as the folder in the repository.');
|
|
73
|
+
}
|
|
74
|
+
const actorVersion = {
|
|
75
|
+
versionNumber: ZIP_VERSION,
|
|
76
|
+
sourceFiles,
|
|
77
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
78
|
+
// @ts-ignore: couldn't find this type :(
|
|
79
|
+
sourceType: ACTOR_SOURCE_TYPES.SOURCE_FILES,
|
|
80
|
+
};
|
|
81
|
+
const versionExists = !actorInfo.versions.find((v) => v.versionNumber === ZIP_VERSION);
|
|
82
|
+
if (versionExists) {
|
|
83
|
+
await actorClient.versions().create(actorVersion);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
await actorClient.version(ZIP_VERSION).update(actorVersion);
|
|
87
|
+
}
|
|
88
|
+
const { id, actId, buildNumber } = await actorClient.build(ZIP_VERSION, { useCache: false });
|
|
89
|
+
console.error(`[${this.actorName}]: ${id} (${buildNumber})`);
|
|
90
|
+
return { buildId: id, actorId: actId, buildNumber, actorName: this.actorName };
|
|
91
|
+
};
|
|
65
92
|
waitForBuildToFinish = async (buildId, actorName) => {
|
|
66
93
|
const build = await this.apifyClient.build(buildId).waitForFinish();
|
|
67
94
|
const versionNumber = build.buildNumber;
|
|
68
95
|
if (build.status === 'FAILED' || build.status === 'TIMED-OUT') {
|
|
69
|
-
const message = `[BUILD][${actorName}]: Build ${buildId} (${versionNumber}) failed. ` +
|
|
70
|
-
`Not continuing with other builds and tests.`;
|
|
71
96
|
console.error(`[${this.actorName}]: ${versionNumber}`);
|
|
72
|
-
|
|
97
|
+
try {
|
|
98
|
+
const log = await this.apifyClient.build(buildId).log().get();
|
|
99
|
+
const logTail = log?.split('\n').slice(-40).join('\n');
|
|
100
|
+
console.error(`\n--- BUILD LOG (last 40 lines) ---\n${logTail}\n---`);
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
console.error(`[${this.actorName}]: Failed to fetch build log: ${err}`);
|
|
104
|
+
}
|
|
105
|
+
throw new Error(`[BUILD][${actorName}]: Build ${buildId} (${versionNumber}) failed. ` +
|
|
106
|
+
`Not continuing with other builds and tests.`);
|
|
73
107
|
}
|
|
74
108
|
console.error(`[${this.actorName}]: ${versionNumber}`);
|
|
75
109
|
return build;
|
|
@@ -159,6 +193,21 @@ class ApifyBuilder {
|
|
|
159
193
|
}
|
|
160
194
|
}
|
|
161
195
|
}
|
|
196
|
+
export const waitAndSummarizeBuilds = async (startedBuilds, label) => {
|
|
197
|
+
console.error('=========================================');
|
|
198
|
+
console.error(`FINISHED ${label}:`);
|
|
199
|
+
await Promise.all(startedBuilds.map(async (buildData) => {
|
|
200
|
+
const builder = ApifyBuilder.fromActorName(buildData.actorName);
|
|
201
|
+
await builder.waitForBuildToFinish(buildData.buildId, buildData.actorName);
|
|
202
|
+
}));
|
|
203
|
+
console.error('=========================================');
|
|
204
|
+
console.error('SUMMARY:');
|
|
205
|
+
for (const buildData of startedBuilds.sort((a, b) => a.actorName.localeCompare(b.actorName))) {
|
|
206
|
+
console.error(`[${buildData.actorName}]: ${buildData.buildNumber}`);
|
|
207
|
+
}
|
|
208
|
+
console.error('=========================================');
|
|
209
|
+
return startedBuilds;
|
|
210
|
+
};
|
|
162
211
|
export const runBuilds = async ({ repoUrl, branch, actorConfigs, isLatest = false, dryRun, useDockerCache, }) => {
|
|
163
212
|
const buildConfigs = [];
|
|
164
213
|
for (const { actorName, folder } of actorConfigs) {
|
|
@@ -189,19 +238,7 @@ export const runBuilds = async ({ repoUrl, branch, actorConfigs, isLatest = fals
|
|
|
189
238
|
const buildData = await builder.startActorBuild(buildConfig);
|
|
190
239
|
return buildData;
|
|
191
240
|
}));
|
|
192
|
-
|
|
193
|
-
console.error('FINISHED BUILDS:');
|
|
194
|
-
await Promise.all(startedBuilds.map(async (buildData) => {
|
|
195
|
-
const builder = ApifyBuilder.fromActorName(buildData.actorName);
|
|
196
|
-
await builder.waitForBuildToFinish(buildData.buildId, buildData.actorName);
|
|
197
|
-
}));
|
|
198
|
-
console.error('=========================================');
|
|
199
|
-
console.error('SUMMARY:');
|
|
200
|
-
for (const buildData of startedBuilds.sort((a, b) => a.actorName.localeCompare(b.actorName))) {
|
|
201
|
-
console.error(`[${buildData.actorName}]: ${buildData.buildNumber} `);
|
|
202
|
-
}
|
|
203
|
-
console.error('=========================================');
|
|
204
|
-
return startedBuilds;
|
|
241
|
+
return waitAndSummarizeBuilds(startedBuilds, 'BUILDS');
|
|
205
242
|
};
|
|
206
243
|
export const deleteOldBuilds = async (actorConfigs) => {
|
|
207
244
|
for (const { actorName } of actorConfigs) {
|
package/dist/bin/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../bin/build.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAWnD,MAAM,YAAY;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../bin/build.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/main.js
CHANGED
|
@@ -4,6 +4,7 @@ import yargs from 'yargs';
|
|
|
4
4
|
// eslint-disable-next-line import/extensions --- With .js, it cannot find types
|
|
5
5
|
import { hideBin } from 'yargs/helpers';
|
|
6
6
|
import { deleteOldBuilds, runBuilds } from './build.js';
|
|
7
|
+
import { runBuildsFromLocal } from './build-from-local.js';
|
|
7
8
|
import { getChangedActors } from './diff-changes.js';
|
|
8
9
|
import { getBranchOnlyChangedFiles, getChangedFiles, getCommits, hasMergeFromTarget } from './git.js';
|
|
9
10
|
import { getPushData } from './github.js';
|
|
@@ -149,6 +150,25 @@ await yargs()
|
|
|
149
150
|
reportSlackChannel,
|
|
150
151
|
releaseSlackChannel,
|
|
151
152
|
});
|
|
153
|
+
})
|
|
154
|
+
.command('build-from-local', '', (args) => args
|
|
155
|
+
.option('actors', {
|
|
156
|
+
type: 'string',
|
|
157
|
+
description: 'Comma-separated actor names (owner/name) to build. Defaults to all actors in the repo.',
|
|
158
|
+
})
|
|
159
|
+
.option('dry-run', { type: 'boolean', default: false }), async ({ actors, dryRun }) => {
|
|
160
|
+
const allActorConfigs = await getRepoActors();
|
|
161
|
+
const actorConfigs = actors
|
|
162
|
+
? actors.split(',').map((name) => {
|
|
163
|
+
const trimmed = name.trim();
|
|
164
|
+
const config = allActorConfigs.find((c) => c.actorName === trimmed);
|
|
165
|
+
if (!config)
|
|
166
|
+
throw new Error(`Actor "${trimmed}" not found in repo`);
|
|
167
|
+
return config;
|
|
168
|
+
})
|
|
169
|
+
: allActorConfigs;
|
|
170
|
+
const builds = await runBuildsFromLocal({ actorConfigs, dryRun });
|
|
171
|
+
console.log(JSON.stringify(builds));
|
|
152
172
|
})
|
|
153
173
|
.command('delete-old-builds', '', (_) => _, async () => {
|
|
154
174
|
const actorConfigs = await getRepoActors();
|
package/dist/bin/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../bin/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../bin/main.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/utils.d.ts
CHANGED
|
@@ -1,4 +1,22 @@
|
|
|
1
|
+
import type { ActorVersionSourceFile } from 'apify-client';
|
|
1
2
|
import type { ActorConfig } from './types.js';
|
|
3
|
+
export declare const isOutsideDir: (childPath: string, parentPath: string) => boolean;
|
|
4
|
+
/**
|
|
5
|
+
* Lists every file under `subDir` (paths relative to `repoRoot`) that's either tracked by git or
|
|
6
|
+
* present but untracked in the working tree — deliberately omitting `--exclude-standard`, so
|
|
7
|
+
* gitignored files are included too. Callers combine this with getGitignoredPaths to decide what
|
|
8
|
+
* to keep, e.g. because .actor/ must survive even if .gitignore would otherwise exclude it.
|
|
9
|
+
* This also means .git/ itself is never walked, since git never lists its own internals here.
|
|
10
|
+
*/
|
|
11
|
+
export declare const listRepoFilePaths: (repoRoot: string, subDir: string) => string[];
|
|
12
|
+
/**
|
|
13
|
+
* Given paths relative to the repo root, returns the subset that `git` would exclude because of
|
|
14
|
+
* .gitignore rules (including nested .gitignore files, `.git/info/exclude`, and global excludes —
|
|
15
|
+
* anything `git` itself respects). Delegating to `git check-ignore` avoids re-implementing gitignore
|
|
16
|
+
* pattern matching.
|
|
17
|
+
*/
|
|
18
|
+
export declare const getGitignoredPaths: (relativePaths: string[]) => Set<string>;
|
|
19
|
+
export declare const toActorVersionSourceFile: (absPath: string, rootDir: string) => Promise<ActorVersionSourceFile>;
|
|
2
20
|
export declare const spawnCommandInGhWorkspace: (command: string, args?: string[]) => string;
|
|
3
21
|
export declare const getEnvVar: (varName: string, defaultValue?: string) => string;
|
|
4
22
|
/**
|
package/dist/bin/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../bin/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../bin/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAI3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C,eAAO,MAAM,YAAY,GAAI,WAAW,MAAM,EAAE,YAAY,MAAM,KAAG,OACZ,CAAC;AAE1D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,EAAE,QAAQ,MAAM,KAAG,MAAM,EAY1E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,eAAe,MAAM,EAAE,KAAG,GAAG,CAAC,MAAM,CAetE,CAAC;AAIF,eAAO,MAAM,wBAAwB,GAAU,SAAS,MAAM,EAAE,SAAS,MAAM,KAAG,OAAO,CAAC,sBAAsB,CAM/G,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,SAAS,MAAM,EAAE,OAAM,MAAM,EAAO,WAgB7E,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,EAAE,eAAe,MAAM,KAAG,MAMlE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,WAAW,EAAE,CAyC3D,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,eAAe;IAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,SAOtE,CAAC"}
|
package/dist/bin/utils.js
CHANGED
|
@@ -1,5 +1,56 @@
|
|
|
1
1
|
import { spawnSync } from 'node:child_process';
|
|
2
2
|
import fs from 'node:fs/promises';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { SOURCE_FILE_FORMATS } from '@apify/consts';
|
|
5
|
+
// Returns true when `childPath` is not inside `parentPath`.
|
|
6
|
+
// Used to detect monorepo actors whose dockerContextDir escapes the actor directory.
|
|
7
|
+
export const isOutsideDir = (childPath, parentPath) => path.relative(parentPath, childPath).startsWith('..');
|
|
8
|
+
/**
|
|
9
|
+
* Lists every file under `subDir` (paths relative to `repoRoot`) that's either tracked by git or
|
|
10
|
+
* present but untracked in the working tree — deliberately omitting `--exclude-standard`, so
|
|
11
|
+
* gitignored files are included too. Callers combine this with getGitignoredPaths to decide what
|
|
12
|
+
* to keep, e.g. because .actor/ must survive even if .gitignore would otherwise exclude it.
|
|
13
|
+
* This also means .git/ itself is never walked, since git never lists its own internals here.
|
|
14
|
+
*/
|
|
15
|
+
export const listRepoFilePaths = (repoRoot, subDir) => {
|
|
16
|
+
const relSubDir = path.relative(repoRoot, subDir).split(path.sep).join('/') || '.';
|
|
17
|
+
const result = spawnSync('git', ['ls-files', '--cached', '--others', '-z', '--', relSubDir], {
|
|
18
|
+
cwd: repoRoot,
|
|
19
|
+
maxBuffer: 100 * 1024 * 1024,
|
|
20
|
+
});
|
|
21
|
+
if (result.status !== 0) {
|
|
22
|
+
throw new Error(`[Command failed]: git ls-files\n${result.stderr.toString()}`);
|
|
23
|
+
}
|
|
24
|
+
return result.stdout.toString().split('\0').filter(Boolean);
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Given paths relative to the repo root, returns the subset that `git` would exclude because of
|
|
28
|
+
* .gitignore rules (including nested .gitignore files, `.git/info/exclude`, and global excludes —
|
|
29
|
+
* anything `git` itself respects). Delegating to `git check-ignore` avoids re-implementing gitignore
|
|
30
|
+
* pattern matching.
|
|
31
|
+
*/
|
|
32
|
+
export const getGitignoredPaths = (relativePaths) => {
|
|
33
|
+
if (relativePaths.length === 0)
|
|
34
|
+
return new Set();
|
|
35
|
+
const result = spawnSync('git', ['check-ignore', '--stdin'], {
|
|
36
|
+
input: relativePaths.join('\n'),
|
|
37
|
+
maxBuffer: 100 * 1024 * 1024,
|
|
38
|
+
});
|
|
39
|
+
// Exit code 1 means none of the given paths are ignored - not an error. Anything else
|
|
40
|
+
// (e.g. 128 for "not a git repository") is a real failure.
|
|
41
|
+
if (result.status !== 0 && result.status !== 1) {
|
|
42
|
+
throw new Error(`[Command failed]: git check-ignore\n${result.stderr.toString()}`);
|
|
43
|
+
}
|
|
44
|
+
return new Set(result.stdout.toString().split('\n').filter(Boolean));
|
|
45
|
+
};
|
|
46
|
+
const isBinary = (buffer) => buffer.includes(0);
|
|
47
|
+
export const toActorVersionSourceFile = async (absPath, rootDir) => {
|
|
48
|
+
const buffer = await fs.readFile(absPath);
|
|
49
|
+
const name = path.relative(rootDir, absPath).split(path.sep).join('/');
|
|
50
|
+
return isBinary(buffer)
|
|
51
|
+
? { name, format: SOURCE_FILE_FORMATS.BASE64, content: buffer.toString('base64') }
|
|
52
|
+
: { name, format: SOURCE_FILE_FORMATS.TEXT, content: buffer.toString('utf8') };
|
|
53
|
+
};
|
|
3
54
|
export const spawnCommandInGhWorkspace = (command, args = []) => {
|
|
4
55
|
console.error(command, args.join(' '));
|
|
5
56
|
const commandResult = spawnSync(command, args, { shell: true, maxBuffer: 100 * 1024 * 1024 });
|
package/dist/bin/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../bin/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../bin/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-from-local.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/bin/build-from-local.test.ts"],"names":[],"mappings":""}
|