apify-test-tools 0.10.2-beta.4 → 0.10.2-beta.6

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 (92) hide show
  1. package/.github/actions/checkout-restore-dependencies/action.yaml +43 -3
  2. package/.github/cli/apify-test-tools.mjs +125 -127
  3. package/.github/scripts/run-with-apify-tokens.mjs +1 -1
  4. package/.github/workflows/public_platform-tests-claude-investigate-and-fix.yaml +7 -0
  5. package/CHANGELOG.md +7 -0
  6. package/CONTRIBUTING.md +4 -1
  7. package/README.md +72 -73
  8. package/bin/affected-actors.ts +132 -91
  9. package/bin/build.ts +0 -2
  10. package/bin/diff-changes.ts +7 -6
  11. package/bin/diff-json-schema.ts +5 -6
  12. package/bin/git.ts +21 -55
  13. package/bin/main.ts +7 -97
  14. package/bin/slack.ts +14 -27
  15. package/bin/types.ts +6 -0
  16. package/dist/bin/affected-actors.d.ts +23 -22
  17. package/dist/bin/affected-actors.d.ts.map +1 -1
  18. package/dist/bin/affected-actors.js +108 -60
  19. package/dist/bin/affected-actors.js.map +1 -1
  20. package/dist/bin/build.d.ts +0 -1
  21. package/dist/bin/build.d.ts.map +1 -1
  22. package/dist/bin/build.js +0 -2
  23. package/dist/bin/build.js.map +1 -1
  24. package/dist/bin/diff-changes.d.ts +4 -3
  25. package/dist/bin/diff-changes.d.ts.map +1 -1
  26. package/dist/bin/diff-changes.js +4 -4
  27. package/dist/bin/diff-changes.js.map +1 -1
  28. package/dist/bin/diff-json-schema.d.ts +2 -2
  29. package/dist/bin/diff-json-schema.d.ts.map +1 -1
  30. package/dist/bin/diff-json-schema.js +1 -4
  31. package/dist/bin/diff-json-schema.js.map +1 -1
  32. package/dist/bin/git.d.ts +6 -9
  33. package/dist/bin/git.d.ts.map +1 -1
  34. package/dist/bin/git.js +20 -48
  35. package/dist/bin/git.js.map +1 -1
  36. package/dist/bin/main.js +7 -77
  37. package/dist/bin/main.js.map +1 -1
  38. package/dist/bin/slack.d.ts +2 -7
  39. package/dist/bin/slack.d.ts.map +1 -1
  40. package/dist/bin/slack.js +12 -18
  41. package/dist/bin/slack.js.map +1 -1
  42. package/dist/bin/types.d.ts +5 -0
  43. package/dist/bin/types.d.ts.map +1 -1
  44. package/dist/test/bundle/cli-bundle.test.js +14 -16
  45. package/dist/test/bundle/cli-bundle.test.js.map +1 -1
  46. package/dist/test/e2e/cli-bundle.e2e.test.js +22 -63
  47. package/dist/test/e2e/cli-bundle.e2e.test.js.map +1 -1
  48. package/dist/test/e2e/git-build-release.e2e.test.d.ts +2 -0
  49. package/dist/test/e2e/git-build-release.e2e.test.d.ts.map +1 -0
  50. package/dist/test/e2e/git-build-release.e2e.test.js +87 -0
  51. package/dist/test/e2e/git-build-release.e2e.test.js.map +1 -0
  52. package/dist/test/e2e/helpers.d.ts +37 -0
  53. package/dist/test/e2e/helpers.d.ts.map +1 -0
  54. package/dist/test/e2e/helpers.js +57 -0
  55. package/dist/test/e2e/helpers.js.map +1 -0
  56. package/dist/test/unit/bin/affected-actors-cli.test.d.ts +2 -0
  57. package/dist/test/unit/bin/affected-actors-cli.test.d.ts.map +1 -0
  58. package/dist/test/unit/bin/affected-actors-cli.test.js +161 -0
  59. package/dist/test/unit/bin/affected-actors-cli.test.js.map +1 -0
  60. package/dist/test/unit/bin/affected-actors.test.js +65 -78
  61. package/dist/test/unit/bin/affected-actors.test.js.map +1 -1
  62. package/dist/test/unit/bin/build-cli.test.js +5 -13
  63. package/dist/test/unit/bin/build-cli.test.js.map +1 -1
  64. package/dist/test/unit/bin/compiled-cli.d.ts +6 -0
  65. package/dist/test/unit/bin/compiled-cli.d.ts.map +1 -0
  66. package/dist/test/unit/bin/compiled-cli.js +16 -0
  67. package/dist/test/unit/bin/compiled-cli.js.map +1 -0
  68. package/dist/test/unit/bin/diff-changes.test.js +55 -55
  69. package/dist/test/unit/bin/diff-changes.test.js.map +1 -1
  70. package/dist/test/unit/bin/diff.test.js +25 -28
  71. package/dist/test/unit/bin/diff.test.js.map +1 -1
  72. package/dist/test/unit/bin/git.test.js +29 -97
  73. package/dist/test/unit/bin/git.test.js.map +1 -1
  74. package/dist/test/unit/bin/slack.test.js +6 -27
  75. package/dist/test/unit/bin/slack.test.js.map +1 -1
  76. package/dist/test/unit/should-built-and-test.test.js +18 -21
  77. package/dist/test/unit/should-built-and-test.test.js.map +1 -1
  78. package/dist/tsconfig.tsbuildinfo +1 -1
  79. package/package.json +1 -1
  80. package/test/bundle/cli-bundle.test.ts +14 -24
  81. package/test/e2e/cli-bundle.e2e.test.ts +39 -84
  82. package/test/e2e/git-build-release.e2e.test.ts +113 -0
  83. package/test/e2e/helpers.ts +82 -0
  84. package/test/unit/bin/affected-actors-cli.test.ts +193 -0
  85. package/test/unit/bin/affected-actors.test.ts +83 -85
  86. package/test/unit/bin/build-cli.test.ts +6 -12
  87. package/test/unit/bin/compiled-cli.ts +17 -0
  88. package/test/unit/bin/diff-changes.test.ts +55 -55
  89. package/test/unit/bin/diff.test.ts +25 -28
  90. package/test/unit/bin/git.test.ts +37 -120
  91. package/test/unit/bin/slack.test.ts +6 -30
  92. package/test/unit/should-built-and-test.test.ts +19 -22
@@ -49,7 +49,24 @@ runs:
49
49
  shell: bash
50
50
  run: echo "path=$(cd "${{ github.action_path }}/../../scripts" && pwd)" >> "$GITHUB_OUTPUT"
51
51
 
52
+ # A repo is on pnpm when it has a pnpm-lock.yaml and no package-lock.json.
53
+ - name: Detect package manager
54
+ id: package-manager
55
+ shell: bash
56
+ run: |
57
+ if [ -f pnpm-lock.yaml ] && [ ! -f package-lock.json ]; then
58
+ echo "name=pnpm" >> "$GITHUB_OUTPUT"
59
+ else
60
+ echo "name=npm" >> "$GITHUB_OUTPUT"
61
+ fi
62
+
63
+ # Takes the pnpm version from the `packageManager` field of the repo's package.json.
64
+ - name: Install pnpm
65
+ if: steps.package-manager.outputs.name == 'pnpm'
66
+ uses: pnpm/action-setup@v6
67
+
52
68
  - name: Cache dependencies npm
69
+ if: steps.package-manager.outputs.name == 'npm'
53
70
  id: check-dependencies-cache
54
71
  uses: actions/cache@v5
55
72
  with:
@@ -57,16 +74,39 @@ runs:
57
74
  key: modules-npm-${{ hashFiles('package-lock.json') }}
58
75
 
59
76
  - name: install npm dependencies
60
- if: steps.check-dependencies-cache.outputs.cache-hit != 'true'
77
+ if: steps.package-manager.outputs.name == 'npm' && steps.check-dependencies-cache.outputs.cache-hit != 'true'
61
78
  shell: bash
62
79
  env:
63
80
  NPM_TOKEN: ${{ inputs.npm-token }}
64
81
  NODE_AUTH_TOKEN: ${{ inputs.npm-token }}
65
82
  run: npm ci
66
83
 
84
+ # Caching node_modules would miss each workspace package's own node_modules, so we cache the
85
+ # store and always install; with a warm store that only links files.
86
+ - name: Resolve pnpm store path
87
+ if: steps.package-manager.outputs.name == 'pnpm'
88
+ id: pnpm-store
89
+ shell: bash
90
+ run: echo "path=$(pnpm store path --silent)" >> "$GITHUB_OUTPUT"
91
+
92
+ - name: Cache pnpm store
93
+ if: steps.package-manager.outputs.name == 'pnpm'
94
+ uses: actions/cache@v5
95
+ with:
96
+ path: ${{ steps.pnpm-store.outputs.path }}
97
+ key: pnpm-store-${{ hashFiles('pnpm-lock.yaml') }}
98
+
99
+ - name: install pnpm dependencies
100
+ if: steps.package-manager.outputs.name == 'pnpm'
101
+ shell: bash
102
+ env:
103
+ NPM_TOKEN: ${{ inputs.npm-token }}
104
+ NODE_AUTH_TOKEN: ${{ inputs.npm-token }}
105
+ run: pnpm install --frozen-lockfile
106
+
67
107
  # The CLI the workflows call ships with this action as one bundled file (npm run bundle), so
68
- # nothing is installed for it. The repo's node_modules stays exactly what package-lock.json
69
- # says, and its tests import the lib from the version they locked.
108
+ # nothing is installed for it. The repo's node_modules stays exactly what its lockfile says,
109
+ # and its tests import the lib from the version they locked.
70
110
  # Steps call `apify-test-tools` without npx: npx would pick the repo's own copy in node_modules/.bin first.
71
111
  - name: Put apify-test-tools CLI on PATH
72
112
  shell: bash