apify-test-tools 0.5.3 → 0.5.4
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/dist/bin/build.d.ts +18 -0
- package/dist/bin/build.d.ts.map +1 -0
- package/dist/bin/build.js +229 -0
- package/dist/bin/build.js.map +1 -0
- package/dist/bin/consts.d.ts +4 -0
- package/dist/bin/consts.d.ts.map +1 -0
- package/dist/bin/consts.js +6 -0
- package/dist/bin/consts.js.map +1 -0
- package/dist/bin/git.d.ts +14 -0
- package/dist/bin/git.d.ts.map +1 -0
- package/dist/bin/git.js +43 -0
- package/dist/bin/git.js.map +1 -0
- package/dist/bin/github.d.ts +13 -0
- package/dist/bin/github.d.ts.map +1 -0
- package/dist/bin/github.js +59 -0
- package/dist/bin/github.js.map +1 -0
- package/dist/bin/main.d.ts +3 -0
- package/dist/bin/main.d.ts.map +1 -0
- package/dist/bin/main.js +124 -0
- package/dist/bin/main.js.map +1 -0
- package/dist/bin/slack.d.ts +13 -0
- package/dist/bin/slack.d.ts.map +1 -0
- package/dist/bin/slack.js +51 -0
- package/dist/bin/slack.js.map +1 -0
- package/dist/bin/test-report.d.ts +10 -0
- package/dist/bin/test-report.d.ts.map +1 -0
- package/dist/bin/test-report.js +74 -0
- package/dist/bin/test-report.js.map +1 -0
- package/dist/bin/types.d.ts +89 -0
- package/dist/bin/types.d.ts.map +1 -0
- package/dist/bin/types.js +2 -0
- package/dist/bin/types.js.map +1 -0
- package/dist/bin/utils.d.ts +29 -0
- package/dist/bin/utils.d.ts.map +1 -0
- package/dist/bin/utils.js +169 -0
- package/dist/bin/utils.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/consts.d.ts +3 -0
- package/dist/lib/consts.d.ts.map +1 -0
- package/dist/lib/consts.js +12 -0
- package/dist/lib/consts.js.map +1 -0
- package/dist/lib/extend-expect.d.ts +3 -0
- package/dist/lib/extend-expect.d.ts.map +1 -0
- package/dist/lib/extend-expect.js +257 -0
- package/dist/lib/extend-expect.js.map +1 -0
- package/dist/lib/lib.d.ts +38 -0
- package/dist/lib/lib.d.ts.map +1 -0
- package/dist/lib/lib.js +217 -0
- package/dist/lib/lib.js.map +1 -0
- package/dist/lib/run-test-result.d.ts +22 -0
- package/dist/lib/run-test-result.d.ts.map +1 -0
- package/dist/lib/run-test-result.js +73 -0
- package/dist/lib/run-test-result.js.map +1 -0
- package/dist/lib/types.d.ts +127 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +2 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/utils.d.ts +8 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +33 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/test/unit/bin/git.test.d.ts +2 -0
- package/dist/test/unit/bin/git.test.d.ts.map +1 -0
- package/dist/test/unit/bin/git.test.js +81 -0
- package/dist/test/unit/bin/git.test.js.map +1 -0
- package/dist/test/unit/custom-matchers.test.d.ts +2 -0
- package/dist/test/unit/custom-matchers.test.d.ts.map +1 -0
- package/dist/test/unit/custom-matchers.test.js +75 -0
- package/dist/test/unit/custom-matchers.test.js.map +1 -0
- package/dist/test/unit/parse-commit.test.d.ts +2 -0
- package/dist/test/unit/parse-commit.test.d.ts.map +1 -0
- package/dist/test/unit/parse-commit.test.js +57 -0
- package/dist/test/unit/parse-commit.test.js.map +1 -0
- package/dist/test/unit/should-built-and-test.test.d.ts +2 -0
- package/dist/test/unit/should-built-and-test.test.d.ts.map +1 -0
- package/dist/test/unit/should-built-and-test.test.js +136 -0
- package/dist/test/unit/should-built-and-test.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ActorConfig, BuildData } from './types.js';
|
|
2
|
+
type BuildPrActorOptions = {
|
|
3
|
+
buildTag?: string;
|
|
4
|
+
versionNumber: string;
|
|
5
|
+
gitRepoUrl: string;
|
|
6
|
+
actorName: string;
|
|
7
|
+
};
|
|
8
|
+
type RunBuildsOptions = {
|
|
9
|
+
actorConfigs: ActorConfig[];
|
|
10
|
+
isLatest?: boolean;
|
|
11
|
+
repoUrl: string;
|
|
12
|
+
branch: string;
|
|
13
|
+
dryRun: boolean;
|
|
14
|
+
};
|
|
15
|
+
export declare const runBuilds: ({ repoUrl, branch, actorConfigs, isLatest, dryRun, }: RunBuildsOptions) => Promise<BuildPrActorOptions[] | BuildData[]>;
|
|
16
|
+
export declare const deleteOldBuilds: (actorConfigs: ActorConfig[]) => Promise<void>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=build.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../bin/build.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGzD,KAAK,mBAAmB,GAAG;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAuKD,KAAK,gBAAgB,GAAG;IACpB,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,SAAS,yDAMnB,gBAAgB,iDAiDlB,CAAC;AAEF,eAAO,MAAM,eAAe,iBAAwB,WAAW,EAAE,kBAIhE,CAAC"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { ACTOR_SOURCE_TYPES } from '@apify/consts';
|
|
2
|
+
import { ApifyClient } from 'apify-client';
|
|
3
|
+
import { getEnvVar } from './utils.js';
|
|
4
|
+
class ApifyBuilder {
|
|
5
|
+
apifyClient;
|
|
6
|
+
actorName;
|
|
7
|
+
// eslint-disable-next-line no-empty-function
|
|
8
|
+
constructor(apifyClient, actorName) {
|
|
9
|
+
this.apifyClient = apifyClient;
|
|
10
|
+
this.actorName = actorName;
|
|
11
|
+
}
|
|
12
|
+
// Usually 'latest' but not necessarily (can be e.g. 'version-0')
|
|
13
|
+
getDefaultVersionAndTag = async () => {
|
|
14
|
+
const actorClient = this.apifyClient.actor(this.actorName);
|
|
15
|
+
const actorInfo = await actorClient.get();
|
|
16
|
+
if (!actorInfo) {
|
|
17
|
+
throw new Error(`[${this.actorName}] not found. It is not published or we are missing token to access it privately or its name is misspelled`);
|
|
18
|
+
}
|
|
19
|
+
const defaultBuildTag = actorInfo.defaultRunOptions.build;
|
|
20
|
+
console.error(`Default build tag for ${this.actorName} is ${defaultBuildTag}`);
|
|
21
|
+
// We could technically allow this but in most cases this is accidentally set wrongly and there is a workaround
|
|
22
|
+
if (defaultBuildTag.match(/\d+\.\d+\.\d+/)) {
|
|
23
|
+
throw new Error(`[${this.actorName}] Default build is a build number, not a tag. While this could work, `
|
|
24
|
+
+ `we want to have a default as tag so this is often an accidental misconfiguration from the dev`);
|
|
25
|
+
}
|
|
26
|
+
// I reported that buildNumber should probably not be optional
|
|
27
|
+
const defaultBuildNumber = actorInfo.taggedBuilds[defaultBuildTag].buildNumber;
|
|
28
|
+
const defaultVersionNumber = defaultBuildNumber.match(/(\d+\.\d+)\.\d+/)[1];
|
|
29
|
+
console.error(`Default version for ${this.actorName} is ${defaultVersionNumber}`);
|
|
30
|
+
return { defaultBuildNumber, defaultVersionNumber, defaultBuildTag };
|
|
31
|
+
};
|
|
32
|
+
startActorBuild = async ({ buildTag, versionNumber, gitRepoUrl, }) => {
|
|
33
|
+
const actorClient = this.apifyClient.actor(this.actorName);
|
|
34
|
+
const actorInfo = await actorClient.get();
|
|
35
|
+
if (!actorInfo) {
|
|
36
|
+
throw new Error(`No actor named '${this.actorName}' was found on the platform. If this`
|
|
37
|
+
+ ' is unexpected, make sure the actor you are targeting is spelled the'
|
|
38
|
+
+ ' same as the folder in the repository.');
|
|
39
|
+
}
|
|
40
|
+
const actorVersion = {
|
|
41
|
+
buildTag,
|
|
42
|
+
versionNumber,
|
|
43
|
+
gitRepoUrl,
|
|
44
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
45
|
+
// @ts-ignore: coudn't find this type either :(
|
|
46
|
+
sourceType: ACTOR_SOURCE_TYPES.GIT_REPO,
|
|
47
|
+
};
|
|
48
|
+
// Prepare version
|
|
49
|
+
const versionExists = !actorInfo.versions.find((version) => version.versionNumber === versionNumber);
|
|
50
|
+
if (versionExists) {
|
|
51
|
+
// create new version
|
|
52
|
+
await actorClient.versions().create(actorVersion);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
const version = actorClient.version(versionNumber);
|
|
56
|
+
await version.update(actorVersion);
|
|
57
|
+
}
|
|
58
|
+
// We also get back actId so the testing actor can both match by actor ID and name
|
|
59
|
+
const { id, actId, buildNumber } = await actorClient.build(versionNumber);
|
|
60
|
+
console.error(`[${this.actorName}]: ${id} (${buildNumber})`);
|
|
61
|
+
return { buildId: id, actorId: actId, buildNumber, actorName: this.actorName };
|
|
62
|
+
};
|
|
63
|
+
waitForBuildToFinish = async (buildId, actorName) => {
|
|
64
|
+
const build = await this.apifyClient.build(buildId).waitForFinish();
|
|
65
|
+
const versionNumber = build.buildNumber;
|
|
66
|
+
if (build.status === 'FAILED' || build.status === 'TIMED-OUT') {
|
|
67
|
+
const message = `[BUILD][${actorName}]: Build ${buildId} (${versionNumber}) failed. `
|
|
68
|
+
+ `Not continuing with other builds and tests.`;
|
|
69
|
+
console.error(`[${this.actorName}]: ${versionNumber}`);
|
|
70
|
+
throw new Error(message);
|
|
71
|
+
}
|
|
72
|
+
console.error(`[${this.actorName}]: ${versionNumber}`);
|
|
73
|
+
return build;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Create ApifyBuilder with actor owner's token
|
|
77
|
+
*/
|
|
78
|
+
static fromActorName = (actorName) => {
|
|
79
|
+
const username = actorName.split('/')[0];
|
|
80
|
+
// GitHib secrets only allow word characters (alphanum + underscore)
|
|
81
|
+
const usernameInGitHubSecretsFormat = username.replaceAll(/\W/g, '_').toUpperCase();
|
|
82
|
+
const usernameEnvVar = `APIFY_TOKEN_${usernameInGitHubSecretsFormat}`;
|
|
83
|
+
const token = process.env[usernameEnvVar];
|
|
84
|
+
if (!token) {
|
|
85
|
+
throw new Error(`Cannot find Apify API token for username: ${username}. `
|
|
86
|
+
+ `Have you set secret env var to this GitHub repo with key: ${usernameEnvVar}?`);
|
|
87
|
+
}
|
|
88
|
+
const apifyClient = new ApifyClient({ token });
|
|
89
|
+
const builder = new ApifyBuilder(apifyClient, actorName);
|
|
90
|
+
return builder;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Deletes build of all versions. Apify API doesn't allow to delete default build and we explicitly skip it
|
|
94
|
+
* We delete devel builds faster because we used the for every PR until recently so just to get rid of them faster
|
|
95
|
+
*/
|
|
96
|
+
async deleteOldBuilds() {
|
|
97
|
+
// Even though we don't version our current Actors, if we ever such Actors to GitHub CI, we would accidentally delete old supported versions
|
|
98
|
+
// This hardcoded solution is not ideal, but it should prevent most imaginable cases
|
|
99
|
+
// All currently popular versioned Actors use `version-${number}` format
|
|
100
|
+
const PROTECTED_TAGS_PREFIX = ['latest', 'v-', 'version', 'v0', 'v1', 'v2', 'v3', 'v4', 'v5', 'v6', 'v7', 'v8', 'v9'];
|
|
101
|
+
// We don't want to be too short because we might to debug something
|
|
102
|
+
// but also not too long because it increases the risk of users using outdated versions
|
|
103
|
+
const DEFAULT_DAYS_BACK_PROD_VERSIONS = 30;
|
|
104
|
+
const DEFAULT_DAYS_BACK_DEVEL = 7;
|
|
105
|
+
const actorInfo = (await this.apifyClient.actor(this.actorName).get());
|
|
106
|
+
// 'devel' used to be hardcoded for testing version 0.99, once we get rid of this tag everywhere, we can remove this code
|
|
107
|
+
const taggedDevelBuildNumber = actorInfo.taggedBuilds.devel?.buildNumber;
|
|
108
|
+
const allTags = Object.keys(actorInfo.taggedBuilds ?? {});
|
|
109
|
+
const protectedTags = allTags.filter((tag) => PROTECTED_TAGS_PREFIX.some((prefix) => tag.startsWith(prefix)));
|
|
110
|
+
const protectedBuildNumbers = protectedTags.map((tag) => ({ buildNumber: actorInfo.taggedBuilds[tag].buildNumber, tag }));
|
|
111
|
+
const { items } = (await this.apifyClient.actor(this.actorName).builds().list());
|
|
112
|
+
// Deleting default build throws an error, so we skip it
|
|
113
|
+
const { defaultBuildNumber, defaultBuildTag } = await ApifyBuilder.fromActorName(this.actorName).getDefaultVersionAndTag();
|
|
114
|
+
const daysAgoUnixProd = Date.now() - DEFAULT_DAYS_BACK_PROD_VERSIONS * 24 * 60 * 60 * 1000;
|
|
115
|
+
const daysAgoUnixDevel = Date.now() - DEFAULT_DAYS_BACK_DEVEL * 24 * 60 * 60 * 1000;
|
|
116
|
+
const buildsToDelete = items.filter((build) => {
|
|
117
|
+
if (build.buildNumber === defaultBuildNumber) {
|
|
118
|
+
console.error(`[DELETE OLD BUILDS][${this.actorName}]: Skipping default build ${defaultBuildNumber} (${defaultBuildTag}). `
|
|
119
|
+
+ `We never delete default builds`);
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
const protectedTagFound = protectedBuildNumbers.find((protectedBuildNumber) => protectedBuildNumber.buildNumber === build.buildNumber);
|
|
123
|
+
if (protectedTagFound) {
|
|
124
|
+
console.error(`[DELETE OLD BUILDS][${this.actorName}]: Skipping protected build ${protectedTagFound.buildNumber} (${protectedTagFound.tag}).`);
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
if (taggedDevelBuildNumber && build.buildNumber === taggedDevelBuildNumber) {
|
|
128
|
+
const shouldDeleteDevelBuild = build.startedAt.getTime() < daysAgoUnixDevel;
|
|
129
|
+
if (shouldDeleteDevelBuild) {
|
|
130
|
+
console.error(`[DELETE OLD BUILDS][${this.actorName}]: Removing olf devel build ${taggedDevelBuildNumber}.`);
|
|
131
|
+
}
|
|
132
|
+
return shouldDeleteDevelBuild;
|
|
133
|
+
}
|
|
134
|
+
return build.startedAt.getTime() < daysAgoUnixProd;
|
|
135
|
+
});
|
|
136
|
+
console.error(`[DELETE OLD BUILDS][${this.actorName}]: Deleting ${buildsToDelete.length} old builds that are non-default and `
|
|
137
|
+
+ `older than 30 days from total ${items.length}`);
|
|
138
|
+
for (const build of buildsToDelete) {
|
|
139
|
+
await this.apifyClient.build(build.id).delete();
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
export const runBuilds = async ({ repoUrl, branch, actorConfigs, isLatest = false, dryRun, }) => {
|
|
144
|
+
const buildConfigs = [];
|
|
145
|
+
const circleActors = isLatest ? await findCircleApifyManaged(actorConfigs) : [];
|
|
146
|
+
for (const { actorName, folder } of actorConfigs.concat(circleActors)) {
|
|
147
|
+
let versionNumber;
|
|
148
|
+
let buildTag;
|
|
149
|
+
if (isLatest) {
|
|
150
|
+
const { defaultVersionNumber, defaultBuildTag } = await ApifyBuilder.fromActorName(actorName).getDefaultVersionAndTag();
|
|
151
|
+
versionNumber = defaultVersionNumber;
|
|
152
|
+
buildTag = defaultBuildTag;
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
versionNumber = '0.99';
|
|
156
|
+
}
|
|
157
|
+
// Depending on if these are miniactors or standaloneActors
|
|
158
|
+
let gitRepoUrl = `${repoUrl}#${branch}`;
|
|
159
|
+
if (folder) {
|
|
160
|
+
gitRepoUrl = `${gitRepoUrl}:${folder}`;
|
|
161
|
+
}
|
|
162
|
+
buildConfigs.push({ actorName, gitRepoUrl, versionNumber, buildTag });
|
|
163
|
+
}
|
|
164
|
+
if (dryRun) {
|
|
165
|
+
return buildConfigs;
|
|
166
|
+
}
|
|
167
|
+
console.error("=========================================");
|
|
168
|
+
console.error("STARTED BUILDS:");
|
|
169
|
+
const startedBuilds = await Promise.all(buildConfigs.map(async (buildConfig) => {
|
|
170
|
+
const builder = ApifyBuilder.fromActorName(buildConfig.actorName);
|
|
171
|
+
const buildData = await builder.startActorBuild(buildConfig);
|
|
172
|
+
return buildData;
|
|
173
|
+
}));
|
|
174
|
+
console.error("=========================================");
|
|
175
|
+
console.error("FINISHED BUILDS:");
|
|
176
|
+
await Promise.all(startedBuilds.map(async (buildData) => {
|
|
177
|
+
const builder = ApifyBuilder.fromActorName(buildData.actorName);
|
|
178
|
+
await builder.waitForBuildToFinish(buildData.buildId, buildData.actorName);
|
|
179
|
+
}));
|
|
180
|
+
console.error("=========================================");
|
|
181
|
+
console.error("SUMMARY:");
|
|
182
|
+
for (const buildData of startedBuilds.sort((a, b) => a.actorName.localeCompare(b.actorName))) {
|
|
183
|
+
console.error(`[${buildData.actorName}]: ${buildData.buildNumber} `);
|
|
184
|
+
}
|
|
185
|
+
console.error("=========================================");
|
|
186
|
+
return startedBuilds;
|
|
187
|
+
};
|
|
188
|
+
export const deleteOldBuilds = async (actorConfigs) => {
|
|
189
|
+
for (const { actorName } of actorConfigs) {
|
|
190
|
+
await ApifyBuilder.fromActorName(actorName).deleteOldBuilds();
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* We will read all Actors in the circ_le account and build those that match by name pattern
|
|
195
|
+
* There are many ways to approach this, a more robust one would be to have a map of Actors
|
|
196
|
+
* which would allow to have more than one special user per Actor
|
|
197
|
+
* But since that use-case might never be needed, I went with the simplest solution that doesn't require maintaining the map
|
|
198
|
+
* NOTE: One issue is that if any Actor is renamed, we will not match it in the circ_le account nor throw any error
|
|
199
|
+
*/
|
|
200
|
+
const findCircleApifyManaged = async (actorConfigs) => {
|
|
201
|
+
// This token is hardcoded in the runner Actor, locally you have to inject it
|
|
202
|
+
const client = new ApifyClient({ token: getEnvVar('APIFY_TOKEN_CIRC_LE') });
|
|
203
|
+
const { items: circleActors } = await client.actors().list();
|
|
204
|
+
const actorsToBuild = circleActors.map((circleActor) => {
|
|
205
|
+
// They prefix all with apify-managed---, I communicated with Jacques to keep doing that
|
|
206
|
+
let actorConfigFound = actorConfigs.find((actorConfig) => circleActor.name.replace('apify-managed---', '') === actorConfig.actorName.split('/')[1]);
|
|
207
|
+
// Hack for bad naming of circ_le/apify-managed-google-search, we don't want to rename now to break customers
|
|
208
|
+
if (!actorConfigFound && circleActor.name === 'apify-managed-google-search') {
|
|
209
|
+
actorConfigFound = actorConfigs.find((actorConfig) => actorConfig.actorName.split('/')[1] === 'google-search-scraper');
|
|
210
|
+
}
|
|
211
|
+
if (actorConfigFound) {
|
|
212
|
+
return {
|
|
213
|
+
// We point the circle Actor to the repo folder
|
|
214
|
+
actorName: `${circleActor.username}/${circleActor.name}`,
|
|
215
|
+
folder: actorConfigFound.folder,
|
|
216
|
+
isStandalone: actorConfigFound.isStandalone,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
return undefined;
|
|
220
|
+
}).filter((config) => config !== undefined);
|
|
221
|
+
console.error(`Found ${actorsToBuild.length} circ_le actors that match Actors we built out of total ${circleActors.length} circ_le actors`);
|
|
222
|
+
console.error(`All circ_le actors: ${circleActors.map((actor) => actor.name).join(', ')}`);
|
|
223
|
+
console.error(`circ_le Actors to build: ${actorsToBuild.map((actor) => actor.actorName).join(', ')}`);
|
|
224
|
+
if (actorsToBuild.length === 0) {
|
|
225
|
+
console.error('No circ_le actors to build');
|
|
226
|
+
}
|
|
227
|
+
return actorsToBuild;
|
|
228
|
+
};
|
|
229
|
+
//# sourceMappingURL=build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../bin/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../bin/consts.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,UAAiC,CAAC;AAExE,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAC5D,eAAO,MAAM,wBAAwB,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Technically, upgrades in shared or packages might not need impact every actor
|
|
2
|
+
// but we cannot really know that
|
|
3
|
+
export const DEFAULT_BUILD_ALL_FOLDERS = ['code', 'shared', 'packages'];
|
|
4
|
+
export const PERSISTED_GH_JOBS_KVS_ID = 'XIBdO8EJePdD0KiAI';
|
|
5
|
+
export const MINIACTORS_LIST_STORE_ID = 'ftXklt2f2mN30Oc3y';
|
|
6
|
+
//# sourceMappingURL=consts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../bin/consts.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,iCAAiC;AACjC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AAC5D,MAAM,CAAC,MAAM,wBAAwB,GAAG,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Commit, Config } from './types.js';
|
|
2
|
+
export declare const GIT_FORMAT_SEPARATOR = "\u00BB\u00A6\u00AB";
|
|
3
|
+
/**
|
|
4
|
+
* Gets the list of changed files between the given commits (inclusive).
|
|
5
|
+
*/
|
|
6
|
+
export declare const getChangedFiles: (commits: Commit[]) => string[];
|
|
7
|
+
/**
|
|
8
|
+
* Gets the commits between sourceBranch and targetBranch (exclusive).
|
|
9
|
+
* - If baseCommit is provided, only returns commits after the baseCommit.
|
|
10
|
+
*/
|
|
11
|
+
export declare const getCommits: ({ sourceBranch, targetBranch, baseCommit: baseCommitSha }: Config) => Commit[];
|
|
12
|
+
export declare const getCommitInfo: (commitSha: string) => Commit;
|
|
13
|
+
export declare const parseCommit: (commitString: string) => Commit;
|
|
14
|
+
//# sourceMappingURL=git.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../bin/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAG5C,eAAO,MAAM,oBAAoB,uBAAQ,CAAC;AAG1C;;GAEG;AACH,eAAO,MAAM,eAAe,YAAa,MAAM,EAAE,aAMhD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,8DAA+D,MAAM,KAAG,MAAM,EAapG,CAAC;AAEF,eAAO,MAAM,aAAa,cAAe,MAAM,KAAG,MAIjD,CAAC;AAEF,eAAO,MAAM,WAAW,iBAAkB,MAAM,KAAG,MAYlD,CAAC"}
|
package/dist/bin/git.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { spawnCommandInGhWorkspace } from './utils.js';
|
|
2
|
+
export const GIT_FORMAT_SEPARATOR = '»¦«';
|
|
3
|
+
const GIT_LOG_FORMAT = ['%H', '%aN<%aE>', '%aD', '%s'].join(GIT_FORMAT_SEPARATOR);
|
|
4
|
+
/**
|
|
5
|
+
* Gets the list of changed files between the given commits (inclusive).
|
|
6
|
+
*/
|
|
7
|
+
export const getChangedFiles = (commits) => {
|
|
8
|
+
const changedFiles = spawnCommandInGhWorkspace(`git diff --name-only ${commits[0].sha}~..${commits[commits.length - 1].sha}`);
|
|
9
|
+
return changedFiles.split('\n');
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Gets the commits between sourceBranch and targetBranch (exclusive).
|
|
13
|
+
* - If baseCommit is provided, only returns commits after the baseCommit.
|
|
14
|
+
*/
|
|
15
|
+
export const getCommits = ({ sourceBranch, targetBranch, baseCommit: baseCommitSha }) => {
|
|
16
|
+
const commitsStrings = spawnCommandInGhWorkspace(`git log --pretty=format:'${GIT_LOG_FORMAT}' ${targetBranch}..${sourceBranch}`).split('\n');
|
|
17
|
+
const commits = commitsStrings.map((commitString) => parseCommit(commitString));
|
|
18
|
+
commits.reverse();
|
|
19
|
+
const baseCommitIndex = commits.findIndex((commit) => commit.sha === baseCommitSha);
|
|
20
|
+
const hasBaseCommit = baseCommitIndex !== -1;
|
|
21
|
+
if (hasBaseCommit)
|
|
22
|
+
return commits.slice(baseCommitIndex + 1);
|
|
23
|
+
return commits;
|
|
24
|
+
};
|
|
25
|
+
export const getCommitInfo = (commitSha) => {
|
|
26
|
+
const commitString = spawnCommandInGhWorkspace(`git log -1 --pretty=format:'${GIT_LOG_FORMAT}' ${commitSha}`);
|
|
27
|
+
const commit = parseCommit(commitString);
|
|
28
|
+
return commit;
|
|
29
|
+
};
|
|
30
|
+
export const parseCommit = (commitString) => {
|
|
31
|
+
const splits = commitString.split(GIT_FORMAT_SEPARATOR);
|
|
32
|
+
if (splits.length !== 4) {
|
|
33
|
+
throw new Error(`Failed to parse commit string: ${commitString}`);
|
|
34
|
+
}
|
|
35
|
+
const [sha, author, date, message] = splits;
|
|
36
|
+
return {
|
|
37
|
+
sha,
|
|
38
|
+
author,
|
|
39
|
+
date,
|
|
40
|
+
message,
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=git.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../bin/git.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAC1C,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAElF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAiB,EAAE,EAAE;IACjD,MAAM,YAAY,GAAG,yBAAyB,CAC1C,wBAAwB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAChF,CAAC;IAEF,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAU,EAAY,EAAE;IACtG,MAAM,cAAc,GAAG,yBAAyB,CAC5C,4BAA4B,cAAc,KAAK,YAAY,KAAK,YAAY,EAAE,CACjF,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,OAAO,EAAE,CAAC;IAElB,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC;IAEpF,MAAM,aAAa,GAAG,eAAe,KAAK,CAAC,CAAC,CAAC;IAC7C,IAAI,aAAa;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;IAE7D,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAU,EAAE;IACvD,MAAM,YAAY,GAAG,yBAAyB,CAAC,+BAA+B,cAAc,KAAK,SAAS,EAAE,CAAC,CAAC;IAC9G,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,YAAoB,EAAU,EAAE;IACxD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IAC5C,OAAO;QACH,GAAG;QACH,MAAM;QACN,IAAI;QACJ,OAAO;KACV,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Commit, GitHubEventPush } from './types.js';
|
|
2
|
+
export declare const getPushData: (path: string) => Promise<{
|
|
3
|
+
branch: string;
|
|
4
|
+
commits: Commit[];
|
|
5
|
+
changedFiles: string[];
|
|
6
|
+
repoUrl: string;
|
|
7
|
+
changelog: string | null;
|
|
8
|
+
repository: string;
|
|
9
|
+
author: string;
|
|
10
|
+
}>;
|
|
11
|
+
export declare const loadGitHubEvent: (path: string) => Promise<GitHubEventPush>;
|
|
12
|
+
export declare const getChangelogChanges: (changedFiles: string[], event: GitHubEventPush) => string | null;
|
|
13
|
+
//# sourceMappingURL=github.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../bin/github.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGrD,eAAO,MAAM,WAAW,SAAgB,MAAM;;;;;;;;EAyB7C,CAAC;AAEF,eAAO,MAAM,eAAe,SAAgB,MAAM,KAAG,OAAO,CAAC,eAAe,CAG3E,CAAC;AAOF,eAAO,MAAM,mBAAmB,iBAAkB,MAAM,EAAE,SAAS,eAAe,KAAG,MAAM,GAAG,IA0B7F,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import fs from 'fs/promises';
|
|
2
|
+
import { spawnCommandInGhWorkspace } from './utils.js';
|
|
3
|
+
export const getPushData = async (path) => {
|
|
4
|
+
const event = await loadGitHubEvent(path);
|
|
5
|
+
const branch = event.ref.replace('refs/heads/', '');
|
|
6
|
+
const { commits: ghCommits, repository: { ssh_url: repoUrl, name }, head_commit: { author }, } = event;
|
|
7
|
+
const commits = ghCommits.map(({ author, message, id, timestamp }) => ({
|
|
8
|
+
author: author.username,
|
|
9
|
+
sha: id,
|
|
10
|
+
message,
|
|
11
|
+
date: timestamp,
|
|
12
|
+
}));
|
|
13
|
+
const changedFiles = getChangedFiles(event);
|
|
14
|
+
const changelog = getChangelogChanges(changedFiles, event);
|
|
15
|
+
return {
|
|
16
|
+
branch,
|
|
17
|
+
commits,
|
|
18
|
+
changedFiles,
|
|
19
|
+
repoUrl,
|
|
20
|
+
changelog,
|
|
21
|
+
repository: name,
|
|
22
|
+
author: author.name,
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export const loadGitHubEvent = async (path) => {
|
|
26
|
+
const pushEvent = JSON.parse((await fs.readFile(path)).toString());
|
|
27
|
+
return pushEvent;
|
|
28
|
+
};
|
|
29
|
+
const getChangedFiles = ({ after, before }) => {
|
|
30
|
+
const changedFiles = spawnCommandInGhWorkspace(`git diff --name-only ${after}..${before}`);
|
|
31
|
+
return changedFiles.split('\n');
|
|
32
|
+
};
|
|
33
|
+
export const getChangelogChanges = (changedFiles, event) => {
|
|
34
|
+
const changelogPath = 'CHANGELOG.md';
|
|
35
|
+
if (!changedFiles.includes(changelogPath)) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const { after, before } = event;
|
|
39
|
+
const diff = spawnCommandInGhWorkspace('git', ['diff', before, after, '--', changelogPath]);
|
|
40
|
+
const added = [];
|
|
41
|
+
let startedChangelog = false;
|
|
42
|
+
for (const line of diff.split('\n')) {
|
|
43
|
+
// We should already get only files we care about from getLastCommitDiffForFile but better to double check
|
|
44
|
+
if (line.startsWith('+++') && line.toLowerCase().includes(changelogPath.toLowerCase())) {
|
|
45
|
+
startedChangelog = true;
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (startedChangelog) {
|
|
49
|
+
if (line.startsWith('diff')) {
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
if (line.startsWith('+')) {
|
|
53
|
+
added.push(line.slice(1).trim());
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return added.join('\n').trim();
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=github.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../bin/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../bin/main.ts"],"names":[],"mappings":""}
|
package/dist/bin/main.js
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import process from 'process';
|
|
3
|
+
import yargs from 'yargs';
|
|
4
|
+
import { hideBin } from 'yargs/helpers';
|
|
5
|
+
import { getRepoActors, getChangedActors, spawnCommandInGhWorkspace, setCwd } from './utils.js';
|
|
6
|
+
import { runBuilds } from './build.js';
|
|
7
|
+
import { getChangedFiles, getCommits } from './git.js';
|
|
8
|
+
import { getPushData } from './github.js';
|
|
9
|
+
import { notifyToSlack } from './slack.js';
|
|
10
|
+
import { reportTestRestuls } from './test-report.js';
|
|
11
|
+
/**
|
|
12
|
+
* Middlewares to be run before every command execution
|
|
13
|
+
*/
|
|
14
|
+
const middlewares = [setCwd];
|
|
15
|
+
const buildOptions = (y) => {
|
|
16
|
+
return y
|
|
17
|
+
.option('target-branch', {
|
|
18
|
+
type: 'string',
|
|
19
|
+
demandOption: true,
|
|
20
|
+
})
|
|
21
|
+
.option('source-branch', {
|
|
22
|
+
type: 'string',
|
|
23
|
+
demandOption: true,
|
|
24
|
+
})
|
|
25
|
+
.option('base-commit', {
|
|
26
|
+
type: 'string',
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
await yargs()
|
|
30
|
+
.scriptName('public-actors-utils')
|
|
31
|
+
.option('dry-run', {
|
|
32
|
+
type: 'boolean',
|
|
33
|
+
default: false,
|
|
34
|
+
})
|
|
35
|
+
.option('workspace', {
|
|
36
|
+
type: 'string',
|
|
37
|
+
})
|
|
38
|
+
.middleware(middlewares)
|
|
39
|
+
.command('get-commits', '', buildOptions, (args) => {
|
|
40
|
+
const commits = getCommits(args);
|
|
41
|
+
console.log(JSON.stringify(commits));
|
|
42
|
+
})
|
|
43
|
+
.command('get-latest-commit', '', buildOptions, (args) => {
|
|
44
|
+
const commits = getCommits(args);
|
|
45
|
+
if (commits.length > 0) {
|
|
46
|
+
console.log(JSON.stringify(commits[commits.length - 1]));
|
|
47
|
+
}
|
|
48
|
+
})
|
|
49
|
+
.command('get-changed-files', '', buildOptions, (args) => {
|
|
50
|
+
const commits = getCommits(args);
|
|
51
|
+
const changedFiles = getChangedFiles(commits);
|
|
52
|
+
console.log(JSON.stringify(changedFiles));
|
|
53
|
+
})
|
|
54
|
+
.command('get-actor-configs', '', (_) => _, async () => {
|
|
55
|
+
const actorConfigs = await getRepoActors();
|
|
56
|
+
console.log(JSON.stringify(actorConfigs));
|
|
57
|
+
})
|
|
58
|
+
.command('get-affected-actors', '', buildOptions, async (args) => {
|
|
59
|
+
const commits = getCommits(args);
|
|
60
|
+
const changedFiles = getChangedFiles(commits);
|
|
61
|
+
const actorConfigs = await getRepoActors();
|
|
62
|
+
const { actorsChanged } = getChangedActors({ filepathsChanged: changedFiles, actorConfigs, isLatest: false });
|
|
63
|
+
console.log(JSON.stringify(actorsChanged));
|
|
64
|
+
})
|
|
65
|
+
.command('report-tests', '', (args) => args
|
|
66
|
+
.option('report-file', { type: 'string', demandOption: true })
|
|
67
|
+
.option('job-url', { type: 'string' })
|
|
68
|
+
.option('workflow-name', { type: 'string' })
|
|
69
|
+
.option('repository', { type: 'string' }), async (args) => {
|
|
70
|
+
await reportTestRestuls(args);
|
|
71
|
+
})
|
|
72
|
+
.command('build', '', (args) => buildOptions(args).option('dry-run', { type: 'boolean', default: false }), async (args) => {
|
|
73
|
+
const commits = getCommits(args);
|
|
74
|
+
const changedFiles = getChangedFiles(commits);
|
|
75
|
+
const actorConfigs = await getRepoActors();
|
|
76
|
+
const { actorsChanged } = getChangedActors({
|
|
77
|
+
filepathsChanged: changedFiles,
|
|
78
|
+
actorConfigs,
|
|
79
|
+
});
|
|
80
|
+
// https://github.com/apify-store/google-maps#:actors/lukaskrivka_google-maps-with-contact-details
|
|
81
|
+
// git@github.com:apify-store/google-maps#:actors/lukaskrivka_google-maps-with-contact-details
|
|
82
|
+
const repoUrl = spawnCommandInGhWorkspace(`git remote get-url origin`).replace(/^https:\/\/github\.com\//, 'git@github.com:');
|
|
83
|
+
const builds = await runBuilds({
|
|
84
|
+
repoUrl,
|
|
85
|
+
actorConfigs: actorsChanged,
|
|
86
|
+
branch: args.sourceBranch.replace('origin/', ''),
|
|
87
|
+
dryRun: args.dryRun,
|
|
88
|
+
});
|
|
89
|
+
console.log(JSON.stringify(builds));
|
|
90
|
+
})
|
|
91
|
+
.command('release', '', (args) => args
|
|
92
|
+
.option('push-event-path', { type: 'string', demandOption: true })
|
|
93
|
+
.option('dry-run', { type: 'boolean', default: false }), async (args) => {
|
|
94
|
+
const { branch, changedFiles, repoUrl, commits, changelog, repository, author } = await getPushData(args.pushEventPath);
|
|
95
|
+
const isLatest = true;
|
|
96
|
+
const actorConfigs = await getRepoActors();
|
|
97
|
+
const { actorsChanged } = getChangedActors({
|
|
98
|
+
filepathsChanged: changedFiles,
|
|
99
|
+
actorConfigs,
|
|
100
|
+
isLatest,
|
|
101
|
+
});
|
|
102
|
+
const { dryRun } = args;
|
|
103
|
+
const builds = await runBuilds({
|
|
104
|
+
isLatest,
|
|
105
|
+
repoUrl,
|
|
106
|
+
actorConfigs: actorsChanged,
|
|
107
|
+
branch,
|
|
108
|
+
dryRun,
|
|
109
|
+
});
|
|
110
|
+
console.error(JSON.stringify(builds));
|
|
111
|
+
// TODO: build circle actors
|
|
112
|
+
await notifyToSlack({
|
|
113
|
+
changedFiles,
|
|
114
|
+
commits,
|
|
115
|
+
changelog,
|
|
116
|
+
repository,
|
|
117
|
+
dryRun,
|
|
118
|
+
author,
|
|
119
|
+
});
|
|
120
|
+
})
|
|
121
|
+
.strictCommands()
|
|
122
|
+
.demandCommand(1, 'Command is required')
|
|
123
|
+
.parse(hideBin(process.argv));
|
|
124
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../bin/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Commit } from './types.js';
|
|
2
|
+
type NotifyToSlackOptions = {
|
|
3
|
+
repository: string;
|
|
4
|
+
changedFiles: string[];
|
|
5
|
+
changelog: string | null;
|
|
6
|
+
commits: Commit[];
|
|
7
|
+
dryRun: boolean;
|
|
8
|
+
author: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const notifyToSlack: ({ changedFiles, commits, changelog, repository, dryRun, author, }: NotifyToSlackOptions) => Promise<void>;
|
|
11
|
+
export declare const sendSlackMessage: (channel: string, text: string, blocks: string[], token: string) => Promise<void>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=slack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../bin/slack.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGpC,KAAK,oBAAoB,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,aAAa,sEAOvB,oBAAoB,kBAyCtB,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAAmB,MAAM,QAAQ,MAAM,UAAU,MAAM,EAAE,SAAS,MAAM,kBAUpG,CAAC"}
|