Skip to content

Commit d80e5a9

Browse files
committed
1 parent 697420f commit d80e5a9

1 file changed

Lines changed: 16 additions & 64 deletions

File tree

‎.github/workflows/_smoke_test_npm_package.yaml‎

Lines changed: 16 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -18,84 +18,36 @@ jobs:
1818
smoke_test:
1919
name: Smoke test published package
2020
runs-on: ubuntu-latest
21-
defaults:
22-
run:
23-
working-directory: smoke-test
2421
steps:
2522
- name: Use Node.js
2623
uses: actions/setup-node@v6
2724
with:
2825
node-version: 22
2926

30-
- name: Create isolated test directory
31-
working-directory: .
32-
run: |
33-
mkdir smoke-test
34-
cd smoke-test
35-
npm init -y
36-
3727
- name: Install published package
3828
uses: nick-fields/retry@v3
3929
with:
4030
timeout_minutes: 10
4131
max_attempts: 5
4232
retry_wait_seconds: 30
4333
command: |
44-
cd smoke-test
45-
if [ -n "${{ inputs.version }}" ]; then
46-
npm install @apify/actors-mcp-server@${{ inputs.version }} @apify/mcpc
47-
else
48-
npm install @apify/actors-mcp-server@${{ inputs.npm_tag }} @apify/mcpc
49-
fi
50-
51-
- name: Report installed version
52-
run: node -e "import fs from 'fs'; const p = JSON.parse(fs.readFileSync('node_modules/@apify/actors-mcp-server/package.json', 'utf8')); console.log('Installed version:', p.version);" --input-type=module
53-
54-
- name: Verify library import
55-
run: node --input-type=module -e "import { ActorsMcpServer } from '@apify/actors-mcp-server'; console.log('Library import OK');"
56-
57-
- name: Verify internals import
58-
run: node --input-type=module -e "import { HelperTools } from '@apify/actors-mcp-server/internals'; console.log('Internals import OK');"
59-
60-
- name: Create MCP config for docs-only mode (no token needed)
61-
run: |
62-
cat > .mcp.json << 'EOF'
63-
{
64-
"mcpServers": {
65-
"smoke": {
66-
"command": "node",
67-
"args": ["node_modules/@apify/actors-mcp-server/dist/stdio.js", "--tools", "docs", "--telemetry-enabled", "false"]
68-
}
69-
}
70-
}
71-
EOF
34+
mkdir -p smoke-test && cd smoke-test
35+
npm init -y
36+
SPEC="${{ inputs.version && format('@apify/actors-mcp-server@{0}', inputs.version) || format('@apify/actors-mcp-server@{0}', inputs.npm_tag) }}"
37+
npm install "$SPEC" @apify/mcpc
7238
73-
- name: Connect mcpc session
74-
run: npx mcpc --config .mcp.json stdio connect @smoke
75-
76-
- name: Ping server
77-
run: npx mcpc @smoke ping
78-
79-
- name: List tools
80-
run: |
81-
TOOL_COUNT=$(npx mcpc --json @smoke tools-list | jq 'length')
82-
echo "Found $TOOL_COUNT tools"
83-
if [ "$TOOL_COUNT" -lt 1 ]; then
84-
echo "ERROR: No tools returned"
85-
exit 1
86-
fi
87-
npx mcpc --json @smoke tools-list | jq '.[].name'
88-
89-
- name: Call search-apify-docs
39+
- name: Verify imports
40+
working-directory: smoke-test
9041
run: |
91-
npx mcpc --json @smoke tools-call search-apify-docs query:="web scraping" docSource:="apify" | jq '.content[0].text' > /dev/null
92-
echo "search-apify-docs OK"
42+
node --input-type=module -e "import { ActorsMcpServer } from '@apify/actors-mcp-server'; console.log('OK: library')"
43+
node --input-type=module -e "import { HelperTools } from '@apify/actors-mcp-server/internals'; console.log('OK: internals')"
9344
94-
- name: Call fetch-apify-docs
45+
- name: Smoke test MCP server via mcpc
46+
working-directory: smoke-test
9547
run: |
96-
npx mcpc --json @smoke tools-call fetch-apify-docs url:="https://docs.apify.com/platform" | jq '.content[0].text' > /dev/null
97-
echo "fetch-apify-docs OK"
98-
99-
- name: Disconnect mcpc session
100-
if: always()
101-
run: npx mcpc @smoke disconnect || true
48+
echo '{"mcpServers":{"s":{"command":"node","args":["node_modules/@apify/actors-mcp-server/dist/stdio.js","--tools","docs","--telemetry-enabled","false"]}}}' > .mcp.json
49+
npx mcpc --config .mcp.json stdio connect @s
50+
npx mcpc @s ping
51+
npx mcpc --json @s tools-list | jq -e 'length > 0'
52+
npx mcpc --json @s tools-call search-apify-docs query:="web scraping" docSource:="apify" | jq -e '.content[0].text'
53+
npx mcpc @s disconnect

0 commit comments

Comments
 (0)