-
Notifications
You must be signed in to change notification settings - Fork 0
54 lines (48 loc) · 2.29 KB
/
Copy pathe2e.yml
File metadata and controls
54 lines (48 loc) · 2.29 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
name: E2E
on:
workflow_dispatch:
schedule:
- cron: "17 5 * * 1" # weekly, Monday 05:17 UTC
jobs:
e2e:
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm
# universal-ctags is the breadth oracle: an independent, mature indexer whose
# symbol set we diff against ours over real repositories. Present in the
# ubuntu-latest image's apt repos; the oracle SKIPS cleanly when it is
# absent, so this step failing degrades the run rather than reddening it.
- name: Install universal-ctags
run: sudo apt-get update && sudo apt-get install -y universal-ctags
continue-on-error: true
# The compiler-based oracle. Without it the three-way differential silently
# degrades to ctags-only in CI — which is the correct skip behaviour, but it
# would mean the one AUTHORITATIVE check never actually ran in the place
# that re-measures weekly.
- name: Install the TypeScript compiler indexer
run: npm i -g @sourcegraph/scip-typescript
continue-on-error: true
- run: pnpm install --frozen-lockfile
- run: pnpm run test:e2e
- name: Install pinned TypeScript language server
run: npm install -g typescript-language-server@5.1.3 typescript@5.9.3
- name: Real LSP callers and references through the shipped CLI and MCP
run: CODEINDEX_TYPESCRIPT_LSP="$(command -v typescript-language-server)" pnpm exec vitest run tests/lsp-real.test.ts
# The oracles that need a cloned corpus and an external binary — too slow
# and too environment-dependent for `pnpm test`, which is why they live here
# rather than gating every push. The tags.scm audit and the oracle roll-up
# print here too: before this they existed but ran in NO automated context
# at all, only when someone typed the env var by hand.
- name: Independent oracles (ctags differential, invariants, tier diff)
env:
CODEINDEX_ORACLE: "1"
run: |
npx vitest run tests/oracles-external-diff.test.ts
npx vitest run tests/oracles-invariants.test.ts tests/oracles-tier-diff.test.ts
pnpm quality:report