apify-test-tools 0.10.2-beta.2 → 0.10.2-beta.3

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.
Files changed (40) hide show
  1. package/.github/cli/apify-test-tools.mjs +124 -125
  2. package/CHANGELOG.md +1 -0
  3. package/README.md +55 -0
  4. package/bin/affected-actors.ts +166 -0
  5. package/bin/diff-changes.ts +25 -17
  6. package/bin/git.ts +52 -41
  7. package/bin/main.ts +43 -73
  8. package/dist/bin/affected-actors.d.ts +50 -0
  9. package/dist/bin/affected-actors.d.ts.map +1 -0
  10. package/dist/bin/affected-actors.js +89 -0
  11. package/dist/bin/affected-actors.js.map +1 -0
  12. package/dist/bin/diff-changes.d.ts +8 -2
  13. package/dist/bin/diff-changes.d.ts.map +1 -1
  14. package/dist/bin/diff-changes.js +16 -16
  15. package/dist/bin/diff-changes.js.map +1 -1
  16. package/dist/bin/git.d.ts +23 -13
  17. package/dist/bin/git.d.ts.map +1 -1
  18. package/dist/bin/git.js +44 -32
  19. package/dist/bin/git.js.map +1 -1
  20. package/dist/bin/main.js +39 -53
  21. package/dist/bin/main.js.map +1 -1
  22. package/dist/test/bundle/cli-bundle.test.js +9 -2
  23. package/dist/test/bundle/cli-bundle.test.js.map +1 -1
  24. package/dist/test/unit/bin/affected-actors.test.d.ts +2 -0
  25. package/dist/test/unit/bin/affected-actors.test.d.ts.map +1 -0
  26. package/dist/test/unit/bin/affected-actors.test.js +160 -0
  27. package/dist/test/unit/bin/affected-actors.test.js.map +1 -0
  28. package/dist/test/unit/bin/diff-changes.test.js +78 -49
  29. package/dist/test/unit/bin/diff-changes.test.js.map +1 -1
  30. package/dist/test/unit/bin/git.test.js +50 -53
  31. package/dist/test/unit/bin/git.test.js.map +1 -1
  32. package/dist/test/unit/should-built-and-test.test.js +23 -17
  33. package/dist/test/unit/should-built-and-test.test.js.map +1 -1
  34. package/dist/tsconfig.tsbuildinfo +1 -1
  35. package/package.json +1 -1
  36. package/test/bundle/cli-bundle.test.ts +9 -2
  37. package/test/unit/bin/affected-actors.test.ts +190 -0
  38. package/test/unit/bin/diff-changes.test.ts +87 -49
  39. package/test/unit/bin/git.test.ts +56 -53
  40. package/test/unit/should-built-and-test.test.ts +27 -17
package/dist/bin/main.js CHANGED
@@ -3,10 +3,10 @@ import process from 'node:process';
3
3
  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
+ import { getAffectedActors, toAffectedActorsDocument } from './affected-actors.js';
6
7
  import { deleteOldBuilds, runBuilds } from './build.js';
7
8
  import { runBuildsFromLocal } from './build-from-local.js';
8
- import { getChangedActors } from './diff-changes.js';
9
- import { getBranchOnlyChangedFiles, getChangedFiles, getCommits, getCurrentBranch, getReleaseChanges, getRepoName, hasMergeFromTarget, resolveReleaseBaseCommit, resolveRepoUrl, } from './git.js';
9
+ import { getChangedFiles, getCommits, getCurrentBranch, getRepoName, resolveRepoUrl } from './git.js';
10
10
  import { logger, logLevels } from './logger.js';
11
11
  import { writeJson } from './output.js';
12
12
  import { notifyToSlack } from './slack.js';
@@ -44,6 +44,22 @@ const actorSelectionOptions = {
44
44
  actors: { type: 'string', array: true, default: [] },
45
45
  ignore: { type: 'string', array: true, default: [] },
46
46
  };
47
+ /**
48
+ * Commit range for get-affected-actors, which always ends at the checked-out HEAD. `base` and `since` combine:
49
+ * `base` alone is a branch's own commits (a PR), `since` alone is everything after a commit (a release), both is
50
+ * a branch after its last validated commit.
51
+ */
52
+ const affectedRangeOptions = {
53
+ base: { type: 'string', describe: 'Only count commits on HEAD that are not on this branch' },
54
+ since: {
55
+ type: 'string',
56
+ describe: 'Only count commits after this one. Ignored with --base if it is not on the branch',
57
+ },
58
+ 'test-files-glob': {
59
+ type: 'string',
60
+ describe: 'Glob (from the repo root) of test files that count as changes even when .dockerignore lists them',
61
+ },
62
+ };
47
63
  /**
48
64
  * For commands that change something (builds, deletes, Slack posts). A dry run still does every read and check
49
65
  * the real run does, credentials included, and only skips the writes. So it needs the same tokens, though
@@ -69,41 +85,6 @@ const globalOptions = {
69
85
  describe: 'Minimum diagnostic level written to stderr; silent disables logging',
70
86
  },
71
87
  };
72
- const resolveChangedActors = async (config, { isLatest }) => {
73
- const actorConfigs = await readConfigFile(config);
74
- // This is an optimization for the common case where a branch only has cosmetic changes but had to smerge in
75
- // functional changes from master (being up-to-date is a CI requirement). Master is already validated, and
76
- // since the branch has no functional changes of its own, there is nothing new to validate.
77
- // Exception: if the branch has any functional changes alongside the merge, we must re-test — even
78
- // individually validated changes can have novel interactions when combined.
79
- if (await hasMergeFromTarget(config.sourceBranch, config.targetBranch)) {
80
- logger.info('[MERGE-FROM-TARGET-OPTIMIZATION]: There is merge from target branch, checking if there are no functional changes in our own branch. If so, we can skip tests');
81
- const branchOnlyFiles = await getBranchOnlyChangedFiles(config.sourceBranch, config.targetBranch);
82
- // Omit baseCommit to get full branch history. Validated functional commits can still interact with merged ones
83
- const allBranchCommits = await getCommits({ ...config, baseCommit: undefined });
84
- const branchOnlyActorsChanged = await getChangedActors({
85
- filepathsChanged: branchOnlyFiles,
86
- actorConfigs,
87
- commits: allBranchCommits,
88
- testFilesGlob: config.testFilesGlob,
89
- });
90
- if (branchOnlyActorsChanged.length === 0) {
91
- logger.info('[MERGE-FROM-TARGET-OPTIMIZATION]: Branch itself has no functional changes, skipping tests');
92
- return [];
93
- }
94
- logger.info(`[MERGE-FROM-TARGET-OPTIMIZATION]: Branch has ${branchOnlyActorsChanged.length} functional changes, cannot optimize, we continue with full check`);
95
- }
96
- // If the optimization doesn't apply, we check all branch commits including merges for full coverage. We don't reuse the merge optimization results because here we can apply baseCommit and check merge commits (they might be functional or just cosmetic)
97
- const commits = await getCommits(config);
98
- const changedFiles = await getChangedFiles(commits);
99
- return getChangedActors({
100
- filepathsChanged: changedFiles,
101
- actorConfigs,
102
- isLatest,
103
- commits,
104
- testFilesGlob: config.testFilesGlob,
105
- });
106
- };
107
88
  await yargs()
108
89
  .scriptName('public-actors-utils')
109
90
  .options(globalOptions)
@@ -127,9 +108,8 @@ await yargs()
127
108
  const actorConfigs = await readConfigFile({ actors, ignore });
128
109
  writeJson(actorConfigs);
129
110
  })
130
- .command('get-affected-actors', '', (y) => y.options(gitRangeOptions).options(actorSelectionOptions), async (config) => {
131
- const actorsChanged = await resolveChangedActors(config, { isLatest: false });
132
- writeJson(actorsChanged);
111
+ .command('get-affected-actors', 'Find the Actors whose context changed in a commit range ending at the checked-out HEAD', (y) => y.options(affectedRangeOptions).options(actorSelectionOptions), async (args) => {
112
+ writeJson(toAffectedActorsDocument(await getAffectedActors({ ...args, head: 'HEAD' })));
133
113
  })
134
114
  .command('report-tests', '', (y) => y
135
115
  .options(dryRunOptions)
@@ -146,7 +126,15 @@ await yargs()
146
126
  .options(repoUrlOptions)
147
127
  .options(dryRunOptions)
148
128
  .option('test-files-glob', { type: 'string' }), async (config) => {
149
- const actorsChanged = await resolveChangedActors(config, { isLatest: false });
129
+ // Cosmetic-only changes don't need testing, so they don't need a build either
130
+ const { functionallyChangedActors: actorsChanged } = await getAffectedActors({
131
+ head: config.sourceBranch,
132
+ base: config.targetBranch,
133
+ since: config.baseCommit,
134
+ testFilesGlob: config.testFilesGlob,
135
+ actors: config.actors,
136
+ ignore: config.ignore,
137
+ });
150
138
  const builds = await runBuilds({
151
139
  ...(await resolveRepoUrl(config.repoUrl)),
152
140
  actorConfigs: actorsChanged,
@@ -166,23 +154,21 @@ await yargs()
166
154
  .option('base-commit', { type: 'string', demandOption: true })
167
155
  .option('report-slack-channel', { type: 'string' })
168
156
  .option('release-slack-channel', { type: 'string' }), async (args) => {
169
- const baseSha = await resolveReleaseBaseCommit(args.baseCommit);
170
157
  const branch = await getCurrentBranch();
171
- const changes = await getReleaseChanges(baseSha);
172
- if (!changes) {
173
- logger.info(`HEAD is the base commit ${baseSha}, there is nothing new to release`);
158
+ const { commits, changedFiles, changelog, functionallyChangedActors, cosmeticallyChangedActors } = await getAffectedActors({
159
+ head: 'HEAD',
160
+ since: args.baseCommit,
161
+ actors: args.actors,
162
+ ignore: args.ignore,
163
+ });
164
+ // A release ships cosmetic changes (README, input schema descriptions, ...) too
165
+ const actorsChanged = [...functionallyChangedActors, ...cosmeticallyChangedActors];
166
+ if (commits.length === 0) {
167
+ logger.info(`HEAD is the base commit ${args.baseCommit}, there is nothing new to release`);
174
168
  return;
175
169
  }
176
- const { commits, changedFiles, changelog } = changes;
177
170
  const { repoUrl, shouldVerifyRepoUrl } = await resolveRepoUrl(args.repoUrl);
178
171
  const isLatest = true;
179
- const actorConfigs = await readConfigFile(args);
180
- const actorsChanged = await getChangedActors({
181
- filepathsChanged: changedFiles,
182
- actorConfigs,
183
- isLatest,
184
- commits,
185
- });
186
172
  const { dryRun, reportSlackChannel, releaseSlackChannel } = args;
187
173
  const builds = await runBuilds({
188
174
  isLatest,
@@ -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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"}
@@ -108,9 +108,16 @@ describe('CLI bundle', () => {
108
108
  ]);
109
109
  });
110
110
  it('get-affected-actors returns only the Actor whose files changed', () => {
111
- const { status, stdout, stderr } = runCli('get-affected-actors', ...gitRange);
111
+ // `feature` is checked out, and the range always ends at HEAD
112
+ const { status, stdout, stderr } = runCli('get-affected-actors', '--base', 'main');
112
113
  expect(status, stderr).toBe(0);
113
- expect(JSON.parse(stdout)).toMatchObject([{ actorFullName: 'tester/foo', folder: 'actors/foo' }]);
114
+ expect(JSON.parse(stdout)).toMatchObject({
115
+ version: 1,
116
+ head: headSha,
117
+ functionallyChangedActors: [{ actorFullName: 'tester/foo' }],
118
+ // The root README isn't in tester/bar's folder, so it doesn't count for it
119
+ cosmeticallyChangedActors: [],
120
+ });
114
121
  });
115
122
  it('build --dry-run with nothing to build needs no token', () => {
116
123
  const { status, stdout, stderr } = runCli('build', ...gitRange, '--actors', 'tester/bar', '--dry-run');
@@ -1 +1 @@
1
- {"version":3,"file":"cli-bundle.test.js","sourceRoot":"","sources":["../../../test/bundle/cli-bundle.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-bundle.test.js","sourceRoot":"","sources":["../../../test/bundle/cli-bundle.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=affected-actors.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affected-actors.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/bin/affected-actors.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,160 @@
1
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
2
+ import { getAffectedActors, toAffectedActorsDocument } from '../../../bin/affected-actors.js';
3
+ import * as DiffChanges from '../../../bin/diff-changes.js';
4
+ import * as Git from '../../../bin/git.js';
5
+ import * as LoadConfig from '../../../bin/utils/config/load-config.js';
6
+ // Everything that reads the configs is mocked, so only the identity and name of an Actor matter here
7
+ const actorA = { actorFullName: 'owner/a' };
8
+ const actorB = { actorFullName: 'owner/b' };
9
+ const headSha = 'f'.repeat(40);
10
+ const sinceSha = '5'.repeat(40);
11
+ const commit = (sha) => ({ sha, author: 'Dev<dev@example.com>', date: 'Date', message: 'msg' });
12
+ const commits = [commit('1'.repeat(40)), commit('2'.repeat(40))];
13
+ const changedFiles = ['src/main.ts', 'CHANGELOG.md'];
14
+ const selection = { actors: [], ignore: [] };
15
+ describe('getAffectedActors', () => {
16
+ let changedActorsSpy;
17
+ beforeEach(() => {
18
+ vi.spyOn(LoadConfig, 'readConfigFile').mockResolvedValue([actorA, actorB]);
19
+ changedActorsSpy = vi
20
+ .spyOn(DiffChanges, 'getChangedActors')
21
+ .mockResolvedValue({ functional: [actorA], cosmetic: [actorB] });
22
+ vi.spyOn(Git, 'resolveCommitSha').mockResolvedValue(headSha);
23
+ vi.spyOn(Git, 'resolveBranchName').mockResolvedValue('feature');
24
+ vi.spyOn(Git, 'getChangedFilesBetween').mockResolvedValue(changedFiles);
25
+ vi.spyOn(Git, 'getChangelogAdditions').mockResolvedValue('- Added foo');
26
+ });
27
+ it('requires --base or --since', async () => {
28
+ const options = { head: 'HEAD', ...selection };
29
+ await expect(getAffectedActors(options)).rejects.toThrow('Pass --base, --since, or both');
30
+ // An empty --since (e.g. from an empty cache file) counts as not passed
31
+ await expect(getAffectedActors({ ...options, since: '' })).rejects.toThrow('Pass --base, --since, or both');
32
+ });
33
+ describe('with --base', () => {
34
+ let getCommitsSpy;
35
+ beforeEach(() => {
36
+ vi.spyOn(Git, 'hasMergeFromTarget').mockResolvedValue(false);
37
+ getCommitsSpy = vi.spyOn(Git, 'getCommits').mockResolvedValue(commits);
38
+ });
39
+ it('inspects the branch commits after --since', async () => {
40
+ const result = await getAffectedActors({
41
+ head: 'origin/feature',
42
+ base: 'origin/master',
43
+ since: sinceSha,
44
+ ...selection,
45
+ });
46
+ expect(result).toStrictEqual({
47
+ headSha,
48
+ ref: 'feature',
49
+ commits,
50
+ changedFiles,
51
+ changelog: '- Added foo',
52
+ functionallyChangedActors: [actorA],
53
+ cosmeticallyChangedActors: [actorB],
54
+ });
55
+ expect(getCommitsSpy).toHaveBeenCalledWith({
56
+ sourceBranch: 'origin/feature',
57
+ targetBranch: 'origin/master',
58
+ baseCommit: sinceSha,
59
+ });
60
+ // From the parent of the oldest commit to the newest one, for the files and the changelog alike
61
+ expect(Git.getChangedFilesBetween).toHaveBeenCalledWith(`${commits[0].sha}~`, commits[1].sha);
62
+ expect(Git.getChangelogAdditions).toHaveBeenCalledWith(`${commits[0].sha}~`, commits[1].sha, changedFiles);
63
+ expect(changedActorsSpy).toHaveBeenCalledWith({
64
+ filepathsChanged: changedFiles,
65
+ actorConfigs: [actorA, actorB],
66
+ commits,
67
+ });
68
+ });
69
+ describe('when the branch merged --base in', () => {
70
+ beforeEach(() => {
71
+ vi.spyOn(Git, 'hasMergeFromTarget').mockResolvedValue(true);
72
+ vi.spyOn(Git, 'getBranchOnlyChangedFiles').mockResolvedValue(['own-file']);
73
+ });
74
+ const getWithOwnChanges = async (own) => {
75
+ changedActorsSpy.mockImplementation(async ({ filepathsChanged }) => filepathsChanged[0] === 'own-file' ? own : { functional: [actorA], cosmetic: [actorB] });
76
+ return getAffectedActors({ head: 'feature', base: 'master', since: sinceSha, ...selection });
77
+ };
78
+ it("classifies the branch's own files against the whole branch, ignoring --since", async () => {
79
+ await getWithOwnChanges({ functional: [actorA], cosmetic: [] });
80
+ expect(changedActorsSpy).toHaveBeenCalledWith({
81
+ filepathsChanged: ['own-file'],
82
+ actorConfigs: [actorA, actorB],
83
+ commits,
84
+ });
85
+ expect(getCommitsSpy).toHaveBeenCalledWith({ sourceBranch: 'feature', targetBranch: 'master' });
86
+ });
87
+ it('reports everything when the branch has functional changes of its own', async () => {
88
+ const result = await getWithOwnChanges({ functional: [actorA], cosmetic: [] });
89
+ expect(result.functionallyChangedActors).toStrictEqual([actorA]);
90
+ expect(result.cosmeticallyChangedActors).toStrictEqual([actorB]);
91
+ });
92
+ it('reports only cosmetic Actors when its own changes are only cosmetic', async () => {
93
+ const result = await getWithOwnChanges({ functional: [], cosmetic: [actorB] });
94
+ expect(result.functionallyChangedActors).toStrictEqual([]);
95
+ expect(result.cosmeticallyChangedActors).toStrictEqual([actorB]);
96
+ });
97
+ it('reports nothing when it has no changes of its own', async () => {
98
+ const result = await getWithOwnChanges({ functional: [], cosmetic: [] });
99
+ expect(result.functionallyChangedActors).toStrictEqual([]);
100
+ expect(result.cosmeticallyChangedActors).toStrictEqual([]);
101
+ // The range is still reported
102
+ expect(result.commits).toStrictEqual(commits);
103
+ });
104
+ });
105
+ });
106
+ describe('with --since only', () => {
107
+ let resolveBaseSpy;
108
+ let commitsBetweenSpy;
109
+ beforeEach(() => {
110
+ resolveBaseSpy = vi.spyOn(Git, 'resolveReleaseBaseCommit').mockResolvedValue(sinceSha);
111
+ commitsBetweenSpy = vi.spyOn(Git, 'getCommitsBetween').mockResolvedValue(commits);
112
+ });
113
+ it('inspects everything after --since up to --head', async () => {
114
+ const result = await getAffectedActors({ head: 'release', since: 'HEAD~2', ...selection });
115
+ expect(result).toStrictEqual({
116
+ headSha,
117
+ ref: 'feature',
118
+ commits,
119
+ changedFiles,
120
+ changelog: '- Added foo',
121
+ functionallyChangedActors: [actorA],
122
+ cosmeticallyChangedActors: [actorB],
123
+ });
124
+ expect(resolveBaseSpy).toHaveBeenCalledWith('HEAD~2', 'release');
125
+ expect(commitsBetweenSpy).toHaveBeenCalledWith(sinceSha, headSha);
126
+ expect(Git.getChangedFilesBetween).toHaveBeenCalledWith(sinceSha, headSha);
127
+ expect(Git.getChangelogAdditions).toHaveBeenCalledWith(sinceSha, headSha, changedFiles);
128
+ });
129
+ it('has no commits when head is the --since commit', async () => {
130
+ resolveBaseSpy.mockResolvedValue(headSha);
131
+ const result = await getAffectedActors({ head: 'HEAD', since: headSha, ...selection });
132
+ expect(result.commits).toStrictEqual([]);
133
+ // Empty `git log x..x` output doesn't parse as a commit, so it's never run
134
+ expect(commitsBetweenSpy).not.toHaveBeenCalled();
135
+ });
136
+ });
137
+ });
138
+ describe('toAffectedActorsDocument', () => {
139
+ it('keeps only the Actor names, the config file stays the source of truth for the rest', () => {
140
+ expect(toAffectedActorsDocument({
141
+ headSha,
142
+ ref: null,
143
+ commits,
144
+ changedFiles: ['src/main.ts'],
145
+ changelog: null,
146
+ functionallyChangedActors: [actorA],
147
+ cosmeticallyChangedActors: [actorB],
148
+ })).toStrictEqual({
149
+ version: 1,
150
+ ref: null,
151
+ head: headSha,
152
+ commits,
153
+ changedFiles: ['src/main.ts'],
154
+ changelog: null,
155
+ functionallyChangedActors: [{ actorFullName: 'owner/a' }],
156
+ cosmeticallyChangedActors: [{ actorFullName: 'owner/b' }],
157
+ });
158
+ });
159
+ });
160
+ //# sourceMappingURL=affected-actors.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affected-actors.test.js","sourceRoot":"","sources":["../../../../test/unit/bin/affected-actors.test.ts"],"names":[],"mappings":"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"}