forked from webbrain-one/webbrain
-
Notifications
You must be signed in to change notification settings - Fork 0
59 lines (50 loc) 路 1.83 KB
/
Copy pathwebbrain-cloud-smoke.yml
File metadata and controls
59 lines (50 loc) 路 1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
name: WebBrain Cloud Smoke
on:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: webbrain-cloud-smoke-${{ github.ref }}
cancel-in-progress: true
jobs:
smoke:
runs-on: ubuntu-latest
# The cloud-smoke pack budgets ~133 min serially at --concurrency 1
# (5 脳 10 min provisioning + per-scenario preload/run/scheduled timeouts),
# so a 120-minute job was killed before the last scenario could finish or
# clean up. Keep this above the catalog's worst case plus npm ci/test:ci.
timeout-minutes: 150
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm run test:ci
- name: Run WebBrain Cloud smoke tests
env:
WEBBRAIN_API_KEY: ${{ secrets.WEBBRAIN_API_KEY }}
WEBBRAIN_BASE_URL: ${{ vars.WEBBRAIN_BASE_URL }}
GNIPPETS_BASE_URL: ${{ vars.GNIPPETS_BASE_URL }}
GNIPPETS_E2E_CONTROL_TOKEN: ${{ secrets.GNIPPETS_E2E_CONTROL_TOKEN }}
CAPSOLVER_API_KEY: ${{ secrets.CAPSOLVER_API_KEY }}
run: node ci/run.mjs --pack cloud-smoke --concurrency 1 --no-video
- name: Publish smoke summary
if: always()
shell: bash
run: |
summary=$(find ci/artifacts -name summary.md -type f -print -quit 2>/dev/null || true)
if [[ -n "$summary" ]]; then
cat "$summary" >> "$GITHUB_STEP_SUMMARY"
else
echo "No WebBrain Cloud smoke summary was produced." >> "$GITHUB_STEP_SUMMARY"
fi
- name: Upload sanitized smoke artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: webbrain-cloud-smoke-${{ github.run_id }}
path: ci/artifacts/
if-no-files-found: warn
retention-days: 7