apify-test-tools 0.8.1-beta.3 → 0.8.2
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/workflows/on_pull_request.yaml +1 -3
- package/CHANGELOG.md +8 -3
- package/bin/build.ts +1 -56
- package/dist/bin/build.d.ts.map +1 -1
- package/dist/bin/build.js +1 -41
- package/dist/bin/build.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +61 -61
|
@@ -12,9 +12,7 @@ jobs:
|
|
|
12
12
|
name: PR title check
|
|
13
13
|
runs-on: ubuntu-latest
|
|
14
14
|
steps:
|
|
15
|
-
- uses:
|
|
16
|
-
env:
|
|
17
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
15
|
+
- uses: apify/actions/pr-title-check@v1.3.0
|
|
18
16
|
|
|
19
17
|
code_checks:
|
|
20
18
|
name: Code checks
|
package/CHANGELOG.md
CHANGED
|
@@ -2,8 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
## [0.8.2](https://github.com/apify/apify-test-tools/releases/tag/v0.8.2) (2026-06-25)
|
|
6
|
+
|
|
7
|
+
### Change
|
|
8
|
+
|
|
9
|
+
- Stop autobuilding Actors on circ_le account ([#97](https://github.com/apify/apify-test-tools/pull/97)) ([39ce2e2](https://github.com/apify/apify-test-tools/commit/39ce2e225f0d13f3888deb6422cad90f2106190c)) by [@metalwarrior665](https://github.com/metalwarrior665)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## [0.8.1](https://github.com/apify/apify-test-tools/releases/tag/v0.8.1) (2026-06-10)
|
|
7
13
|
|
|
8
14
|
### 🐛 Bug Fixes
|
|
9
15
|
|
|
@@ -11,7 +17,6 @@ All notable changes to this project will be documented in this file.
|
|
|
11
17
|
- **cli:** GitHub action rerun ignores last validated commit and reruns all commits ([#92](https://github.com/apify/apify-test-tools/pull/92)) ([4200f76](https://github.com/apify/apify-test-tools/commit/4200f76d0502c8de96704b86e0384dd29ed3d1cb)) by [@metalwarrior665](https://github.com/metalwarrior665), closes [#91](https://github.com/apify/apify-test-tools/issues/91)
|
|
12
18
|
|
|
13
19
|
|
|
14
|
-
<!-- git-cliff-unreleased-end -->
|
|
15
20
|
## [0.8.0](https://github.com/apify/apify-test-tools/releases/tag/v0.8.0) (2026-05-12)
|
|
16
21
|
|
|
17
22
|
### 🚀 Features
|
package/bin/build.ts
CHANGED
|
@@ -4,7 +4,6 @@ import { ApifyClient } from 'apify-client';
|
|
|
4
4
|
import { ACTOR_SOURCE_TYPES } from '@apify/consts';
|
|
5
5
|
|
|
6
6
|
import type { ActorConfig, BuildData } from './types.js';
|
|
7
|
-
import { getEnvVar } from './utils.js';
|
|
8
7
|
|
|
9
8
|
type BuildPrActorOptions = {
|
|
10
9
|
buildTag?: string;
|
|
@@ -243,9 +242,7 @@ export const runBuilds = async ({
|
|
|
243
242
|
}: RunBuildsOptions) => {
|
|
244
243
|
const buildConfigs: BuildPrActorOptions[] = [];
|
|
245
244
|
|
|
246
|
-
const
|
|
247
|
-
|
|
248
|
-
for (const { actorName, folder } of actorConfigs.concat(circleActors)) {
|
|
245
|
+
for (const { actorName, folder } of actorConfigs) {
|
|
249
246
|
let versionNumber: string;
|
|
250
247
|
let buildTag: string | undefined;
|
|
251
248
|
|
|
@@ -301,55 +298,3 @@ export const deleteOldBuilds = async (actorConfigs: ActorConfig[]) => {
|
|
|
301
298
|
await ApifyBuilder.fromActorName(actorName).deleteOldBuilds();
|
|
302
299
|
}
|
|
303
300
|
};
|
|
304
|
-
|
|
305
|
-
/**
|
|
306
|
-
* We will read all Actors in the circ_le account and build those that match by name pattern
|
|
307
|
-
* There are many ways to approach this, a more robust one would be to have a map of Actors
|
|
308
|
-
* which would allow to have more than one special user per Actor
|
|
309
|
-
* But since that use-case might never be needed, I went with the simplest solution that doesn't require maintaining the map
|
|
310
|
-
* NOTE: One issue is that if any Actor is renamed, we will not match it in the circ_le account nor throw any error
|
|
311
|
-
*/
|
|
312
|
-
const findCircleApifyManaged = async (actorConfigs: ActorConfig[]): Promise<ActorConfig[]> => {
|
|
313
|
-
// This token is hardcoded in the runner Actor, locally you have to inject it
|
|
314
|
-
const client = new ApifyClient({ token: getEnvVar('APIFY_TOKEN_CIRC_LE') });
|
|
315
|
-
|
|
316
|
-
const { items: circleActors } = await client.actors().list();
|
|
317
|
-
|
|
318
|
-
const actorsToBuild = circleActors
|
|
319
|
-
.map<ActorConfig | undefined>((circleActor) => {
|
|
320
|
-
// They prefix all with apify-managed---, I communicated with Jacques to keep doing that
|
|
321
|
-
let actorConfigFound = actorConfigs.find(
|
|
322
|
-
(actorConfig) =>
|
|
323
|
-
circleActor.name.replace('apify-managed---', '') === actorConfig.actorName.split('/')[1],
|
|
324
|
-
);
|
|
325
|
-
|
|
326
|
-
// Hack for bad naming of circ_le/apify-managed-google-search, we don't want to rename now to break customers
|
|
327
|
-
if (!actorConfigFound && circleActor.name === 'apify-managed-google-search') {
|
|
328
|
-
actorConfigFound = actorConfigs.find(
|
|
329
|
-
(actorConfig) => actorConfig.actorName.split('/')[1] === 'google-search-scraper',
|
|
330
|
-
);
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
if (actorConfigFound) {
|
|
334
|
-
return {
|
|
335
|
-
// We point the circle Actor to the repo folder
|
|
336
|
-
actorName: `${circleActor.username}/${circleActor.name}`,
|
|
337
|
-
folder: actorConfigFound.folder,
|
|
338
|
-
isStandalone: actorConfigFound.isStandalone,
|
|
339
|
-
};
|
|
340
|
-
}
|
|
341
|
-
return undefined;
|
|
342
|
-
})
|
|
343
|
-
.filter((config) => config !== undefined);
|
|
344
|
-
|
|
345
|
-
console.error(
|
|
346
|
-
`Found ${actorsToBuild.length} circ_le actors that match Actors we built out of total ${circleActors.length} circ_le actors`,
|
|
347
|
-
);
|
|
348
|
-
console.error(`All circ_le actors: ${circleActors.map((actor) => actor.name).join(', ')}`);
|
|
349
|
-
console.error(`circ_le Actors to build: ${actorsToBuild.map((actor) => actor.actorName).join(', ')}`);
|
|
350
|
-
|
|
351
|
-
if (actorsToBuild.length === 0) {
|
|
352
|
-
console.error('No circ_le actors to build');
|
|
353
|
-
}
|
|
354
|
-
return actorsToBuild;
|
|
355
|
-
};
|
package/dist/bin/build.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../bin/build.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../bin/build.ts"],"names":[],"mappings":"AAKA,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;AAoNF,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,iDAoDlB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,cAAc,WAAW,EAAE,kBAIhE,CAAC"}
|
package/dist/bin/build.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ApifyClient } from 'apify-client';
|
|
2
2
|
import { ACTOR_SOURCE_TYPES } from '@apify/consts';
|
|
3
|
-
import { getEnvVar } from './utils.js';
|
|
4
3
|
class ApifyBuilder {
|
|
5
4
|
apifyClient;
|
|
6
5
|
actorName;
|
|
@@ -158,8 +157,7 @@ class ApifyBuilder {
|
|
|
158
157
|
}
|
|
159
158
|
export const runBuilds = async ({ repoUrl, branch, actorConfigs, isLatest = false, dryRun, useDockerCache, }) => {
|
|
160
159
|
const buildConfigs = [];
|
|
161
|
-
const
|
|
162
|
-
for (const { actorName, folder } of actorConfigs.concat(circleActors)) {
|
|
160
|
+
for (const { actorName, folder } of actorConfigs) {
|
|
163
161
|
let versionNumber;
|
|
164
162
|
let buildTag;
|
|
165
163
|
if (isLatest) {
|
|
@@ -206,42 +204,4 @@ export const deleteOldBuilds = async (actorConfigs) => {
|
|
|
206
204
|
await ApifyBuilder.fromActorName(actorName).deleteOldBuilds();
|
|
207
205
|
}
|
|
208
206
|
};
|
|
209
|
-
/**
|
|
210
|
-
* We will read all Actors in the circ_le account and build those that match by name pattern
|
|
211
|
-
* There are many ways to approach this, a more robust one would be to have a map of Actors
|
|
212
|
-
* which would allow to have more than one special user per Actor
|
|
213
|
-
* But since that use-case might never be needed, I went with the simplest solution that doesn't require maintaining the map
|
|
214
|
-
* NOTE: One issue is that if any Actor is renamed, we will not match it in the circ_le account nor throw any error
|
|
215
|
-
*/
|
|
216
|
-
const findCircleApifyManaged = async (actorConfigs) => {
|
|
217
|
-
// This token is hardcoded in the runner Actor, locally you have to inject it
|
|
218
|
-
const client = new ApifyClient({ token: getEnvVar('APIFY_TOKEN_CIRC_LE') });
|
|
219
|
-
const { items: circleActors } = await client.actors().list();
|
|
220
|
-
const actorsToBuild = circleActors
|
|
221
|
-
.map((circleActor) => {
|
|
222
|
-
// They prefix all with apify-managed---, I communicated with Jacques to keep doing that
|
|
223
|
-
let actorConfigFound = actorConfigs.find((actorConfig) => circleActor.name.replace('apify-managed---', '') === actorConfig.actorName.split('/')[1]);
|
|
224
|
-
// Hack for bad naming of circ_le/apify-managed-google-search, we don't want to rename now to break customers
|
|
225
|
-
if (!actorConfigFound && circleActor.name === 'apify-managed-google-search') {
|
|
226
|
-
actorConfigFound = actorConfigs.find((actorConfig) => actorConfig.actorName.split('/')[1] === 'google-search-scraper');
|
|
227
|
-
}
|
|
228
|
-
if (actorConfigFound) {
|
|
229
|
-
return {
|
|
230
|
-
// We point the circle Actor to the repo folder
|
|
231
|
-
actorName: `${circleActor.username}/${circleActor.name}`,
|
|
232
|
-
folder: actorConfigFound.folder,
|
|
233
|
-
isStandalone: actorConfigFound.isStandalone,
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
return undefined;
|
|
237
|
-
})
|
|
238
|
-
.filter((config) => config !== undefined);
|
|
239
|
-
console.error(`Found ${actorsToBuild.length} circ_le actors that match Actors we built out of total ${circleActors.length} circ_le actors`);
|
|
240
|
-
console.error(`All circ_le actors: ${circleActors.map((actor) => actor.name).join(', ')}`);
|
|
241
|
-
console.error(`circ_le Actors to build: ${actorsToBuild.map((actor) => actor.actorName).join(', ')}`);
|
|
242
|
-
if (actorsToBuild.length === 0) {
|
|
243
|
-
console.error('No circ_le actors to build');
|
|
244
|
-
}
|
|
245
|
-
return actorsToBuild;
|
|
246
|
-
};
|
|
247
207
|
//# sourceMappingURL=build.js.map
|
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;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../bin/build.ts"],"names":[],"mappings":"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"}
|