-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTaskfile.yml
More file actions
57 lines (46 loc) · 1.38 KB
/
Copy pathTaskfile.yml
File metadata and controls
57 lines (46 loc) · 1.38 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
version: '3'
silent: true
# RUNPOD_API_KEY (and optional RUNPOD_API_BASE_URL) live in .env — gitignored;
# see .env.example. Offline tasks don't need it.
dotenv: ['.env']
vars:
# Production source; override SPEC_URL only for deliberate contract testing.
SPEC_URL: 'https://api.runpod.io/v2/openapi.json'
SPEC_PATH: 'spec/openapi.yaml'
tasks:
install:
desc: Install dependencies
cmds:
- pnpm install --frozen-lockfile
spec-pull:
desc: Fetch the latest v2 OpenAPI spec and run the patch layer over it
cmds:
- python3 scripts/sync_spec.py --url "{{.SPEC_URL}}" --spec "{{.SPEC_PATH}}"
spec-fix:
desc: Apply the patch layer to the vendored spec in place
cmds:
- python3 scripts/fix_spec.py "{{.SPEC_PATH}}"
spec-test:
desc: Check the patch layer and the vendored spec (offline, no Node needed)
cmds:
- pnpm run test:spec
generate:
desc: Regenerate src/generated/schema.ts from the vendored spec
cmds:
- pnpm run generate
build:
desc: Build dist (ESM + CJS + types)
cmds:
- pnpm run build
test:
desc: Run the test suite (offline units; live smoke requires RUNPOD_LIVE_TESTS=1 and a key)
cmds:
- pnpm run typecheck
- pnpm run test
all:
desc: Install, regenerate, build, and test
cmds:
- task: install
- task: generate
- task: build
- task: test