15 tests (the run end to end against a fake GitHub tarball, safeword, the three phrases, veto revert, owner-only API, cross-site refusal, daily cap). dev.mjs takes POST bodies and a memory store. deploy.py creates the time-quc KV namespace and binds the Venice key as a Worker secret. quc.yml tests and deploys on main and skips the deploy until CLOUDFLARE_API_TOKEN is staged; ci.yml runs the quc tests on PRs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EVg99kQMY2Tumhobuyg7Fm
24 lines
784 B
YAML
24 lines
784 B
YAML
name: ci
|
|
# Time's own tests. Also the check that lets Time auto-merge changes to itself.
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches: [main]
|
|
paths-ignore: ["time/ledger/**"] # Time appends its own spend ledger every run; that is not a code change
|
|
workflow_dispatch: # Time can run CI on a worker's PR branch by hand
|
|
permissions:
|
|
contents: read
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 3
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- uses: actions/setup-node@v4 # node 22+ has node:sqlite, which the passkey test runs on
|
|
with:
|
|
node-version: 22
|
|
- run: python3 .github/time/test_time.py
|
|
- run: python3 .github/time/test_seed.py
|
|
- run: python3 .github/time/test_housekeeping.py
|
|
- run: npm test --prefix quc
|