apify-test-tools 0.10.2-beta.5 → 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.
|
@@ -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
|
|
69
|
-
#
|
|
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
|
|
@@ -39,6 +39,11 @@ on:
|
|
|
39
39
|
type: string
|
|
40
40
|
default: sonnet
|
|
41
41
|
description: Claude model to use for investigation and fix
|
|
42
|
+
effort:
|
|
43
|
+
required: false
|
|
44
|
+
type: string
|
|
45
|
+
default: ''
|
|
46
|
+
description: Claude effort level (low, medium, high, xhigh, max) to use for investigation and fix. Uses the Claude Code default when empty.
|
|
42
47
|
max_flakiness_runs:
|
|
43
48
|
required: false
|
|
44
49
|
type: number
|
|
@@ -115,6 +120,7 @@ jobs:
|
|
|
115
120
|
claude_args: |
|
|
116
121
|
--mcp-config '{"mcpServers":{"apify":{"type":"http","url":"https://mcp.apify.com/?tools=get-actor-run,get-actor-run-log,get-dataset-list,get-dataset,get-dataset-items,get-key-value-store-list,get-key-value-store,get-key-value-store-keys,get-key-value-store-record","headers":{"Authorization":"Bearer ${TESTER_APIFY_TOKEN}"}}}}'
|
|
117
122
|
--model ${{ inputs.model }}
|
|
123
|
+
${{ inputs.effort && format('--effort {0}', inputs.effort) || '' }}
|
|
118
124
|
--dangerously-skip-permissions
|
|
119
125
|
|
|
120
126
|
- name: Upload Claude output (for debugging)
|
|
@@ -190,6 +196,7 @@ jobs:
|
|
|
190
196
|
prompt: 'Open a pull request to address GitHub issue #${{ needs.investigate.outputs.issue_number }}. Use `gh issue view ${{ needs.investigate.outputs.issue_number }}` to read the issue details first, then implement the fix and create a PR.'
|
|
191
197
|
claude_args: |
|
|
192
198
|
--model ${{ inputs.model }}
|
|
199
|
+
${{ inputs.effort && format('--effort {0}', inputs.effort) || '' }}
|
|
193
200
|
--dangerously-skip-permissions
|
|
194
201
|
|
|
195
202
|
- name: Upload Claude output (for debugging)
|
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,8 @@ All notable changes to this project will be documented in this file.
|
|
|
11
11
|
- [**breaking**] Revamp get-affected-actors to be a core logic command ([#190](https://github.com/apify/apify-test-tools/pull/190)) ([ea5f244](https://github.com/apify/apify-test-tools/commit/ea5f244cfd42bf3fa9ffd38cd2ad499dde2e83f8)) by [@metalwarrior665](https://github.com/metalwarrior665)
|
|
12
12
|
- [**breaking**] Add logic-less build command and use command chaining in workflows ([#193](https://github.com/apify/apify-test-tools/pull/193)) ([e5b0b86](https://github.com/apify/apify-test-tools/commit/e5b0b86ee06fca51d4be0ddc81b0a4a469d31603)) by [@metalwarrior665](https://github.com/metalwarrior665)
|
|
13
13
|
- **get-affected-actors:** Three-dot diff, narrowed per Actor with --since ([#204](https://github.com/apify/apify-test-tools/pull/204)) ([fa9a0e7](https://github.com/apify/apify-test-tools/commit/fa9a0e7518764dd4722ec9ecbf67b2a26a5a062e)) by [@metalwarrior665](https://github.com/metalwarrior665)
|
|
14
|
+
- Add effort input to Claude investigate-and-fix workflow ([#221](https://github.com/apify/apify-test-tools/pull/221)) ([c2ac078](https://github.com/apify/apify-test-tools/commit/c2ac078aec9ef02337af0e5c06db1b947b6c969b)) by [@foxt451](https://github.com/foxt451)
|
|
15
|
+
- **ci:** Support pnpm ([#214](https://github.com/apify/apify-test-tools/pull/214)) ([ee7d734](https://github.com/apify/apify-test-tools/commit/ee7d7340564c5b8657a8a1f0cf920d67b40ae013)) by [@ruocco-l](https://github.com/ruocco-l)
|
|
14
16
|
|
|
15
17
|
### 🐛 Bug Fixes
|
|
16
18
|
|
package/README.md
CHANGED
|
@@ -305,8 +305,9 @@ Two tidier-looking alternatives don't work, so don't reach for them:
|
|
|
305
305
|
an output whose value contains a registered secret. It logs `Skip output <name> since it may
|
|
306
306
|
contain secret` and leaves the output empty, so anything reading it downstream gets nothing.
|
|
307
307
|
|
|
308
|
-
The `unitTest` job runs static checks and needs `NPM_TOKEN` only. No job runs `npm ci`
|
|
309
|
-
Slack credentials in scope, so a postinstall script in the dependency
|
|
308
|
+
The `unitTest` job runs static checks and needs `NPM_TOKEN` only. No job runs `npm ci` or
|
|
309
|
+
`pnpm install` with Apify or Slack credentials in scope, so a postinstall script in the dependency
|
|
310
|
+
tree cannot read them.
|
|
310
311
|
|
|
311
312
|
## Versioning and releases
|
|
312
313
|
|