Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
571088f
agent: run the final-message check on a capped answer
samheutmaker Sep 27, 2026
e9923c5
agent: errors.New for a constant test error (golangci-lint perfsprint)
samheutmaker Sep 27, 2026
094ecb3
fix(session): carry permission mode over when forking a session
samheutmaker Sep 27, 2026
54fca9c
title generation fixes
samheutmaker Sep 27, 2026
c62368e
fix(session): derive the root agent's saved selection from sessions
samheutmaker Sep 27, 2026
8f3173c
refactor(daemon): read saved session facts from the store, not a row …
samheutmaker Sep 27, 2026
f62b5ee
feat(effort): one vocabulary, concrete from creation (protocol 6.9)
samheutmaker Sep 27, 2026
6f02507
dont let missing providers from previous sessions break startup
samheutmaker Sep 28, 2026
e3fed9c
Merge pull request #196 from context-labs/session-ownership/effort-vo…
samheutmaker Sep 28, 2026
bd6c383
fix(web): give the welcome draft an explicit Default effort entry
samheutmaker Sep 28, 2026
4bcb9ab
Merge pull request #198 from context-labs/fix/welcome-default-effort
samheutmaker Sep 28, 2026
b8cc56a
more clean up
samheutmaker Sep 28, 2026
edf7528
new build skips
samheutmaker Sep 29, 2026
be31efe
feat(llm): native anthropic-messages API flavor
anish-inf Sep 28, 2026
17771cd
fix(llm): resolve golangci-lint findings on messages flavor
anish-inf Sep 29, 2026
d24fcb9
fix(llm): address Bugbot review findings on messages flavor
anish-inf Sep 29, 2026
2e490e6
fix: resolve pre-existing CI failures on development branch
anish-inf Sep 29, 2026
567bdeb
fix(ci): generate protocol artifacts in docs job
anish-inf Sep 29, 2026
3d9be63
Merge pull request #252 from context-labs/feat/anthropic-messages-fla…
anish-inf Sep 29, 2026
12f0ea0
new folder in system dialog
samheutmaker Sep 29, 2026
f29bef2
fix(desktop): increase startup verification timeout from 30s to 60s
anish-inf Sep 29, 2026
586becb
fix(daemon): gofumpt formatting in host_test.go
anish-inf Sep 29, 2026
68edf85
feat(theme): add neon-city-dark and seti themes from PR #155
anish-inf Sep 29, 2026
5aa9a81
Merge pull request #284 from context-labs/fix/desktop-startup-timeout
anish-inf Sep 29, 2026
e76b337
Merge branch 'development' into work/scratch
anish-inf Sep 29, 2026
2ce09a4
Merge pull request #285 from context-labs/work/scratch
anish-inf Sep 29, 2026
271c0f8
clean up tabs and session info
samheutmaker Sep 30, 2026
db3a1ce
fix(deps): patch brace-expansion audit findings
samheutmaker Sep 30, 2026
f1e3e45
ci: run full checks for backend reorganization stacks
samheutmaker Sep 30, 2026
dba6102
test(ci): accept approved backend stack PR bases
samheutmaker Sep 30, 2026
a57b526
test(daemon): isolate inherited provider credentials
samheutmaker Sep 30, 2026
722b493
test(ui): await sheet focus before scroll assertions
samheutmaker Sep 30, 2026
a26c641
test: guard backend reorganization compatibility
samheutmaker Sep 30, 2026
8f02304
test: require compatibility in workflow policy checks
samheutmaker Sep 30, 2026
bfd030f
refactor(daemon): separate host MCP import ownership
samheutmaker Sep 30, 2026
fec6822
refactor(daemon): prepare provider operation boundary
samheutmaker Sep 30, 2026
6757175
test(daemon): exercise provider setup through public auth boundaries
samheutmaker Sep 30, 2026
cb959b1
test(daemon): canonicalize provider fixture header
samheutmaker Sep 30, 2026
dbde16e
refactor(provider): separate host provider service from daemon
samheutmaker Sep 30, 2026
4b5c0e5
docs: record reordered backend stack and compatibility evidence
samheutmaker Sep 30, 2026
b251786
refactor(cli): separate daemon runtime construction
samheutmaker Sep 30, 2026
774623f
refactor(daemon): group host directory operations
samheutmaker Sep 30, 2026
62e6754
test(daemon): characterize process manager ownership
samheutmaker Sep 30, 2026
8dabac8
test(daemon): preserve resources after duplicate ownership rejection
samheutmaker Sep 30, 2026
057edb9
refactor(daemon): own shared process lifecycle explicitly
samheutmaker Sep 30, 2026
4228597
docs: record process ownership validation and parent provenance
samheutmaker Sep 30, 2026
1dcbacb
test(daemon): characterize shared workspace locks
samheutmaker Sep 30, 2026
26a6fec
refactor(session): borrow host-owned workspace coordinator
samheutmaker Sep 30, 2026
067fe82
test(webgateway): synchronize pipelined handshake rejection
samheutmaker Sep 30, 2026
0081b66
test(web): measure committed probes delivered in snapshots
samheutmaker Sep 30, 2026
1ed6409
test(daemon): characterize command presentation before extraction
samheutmaker Sep 30, 2026
3127d8e
refactor(backend): isolate shared native connection plumbing
samheutmaker Sep 30, 2026
e289b4e
test(tui): align startup title fixture with generation policy
samheutmaker Sep 30, 2026
ecf9661
refactor(backend): separate native Go clients from daemon
samheutmaker Sep 30, 2026
d36711a
docs: record native client extraction acceptance
samheutmaker Sep 30, 2026
882d137
refactor(session): group store lifecycle declarations
samheutmaker Sep 30, 2026
5290261
docs: close out frozen-contract backend reorganization
samheutmaker Sep 30, 2026
d29344d
docs: consolidate backend reorganization review
samheutmaker Sep 30, 2026
ba1280c
refactor(tui): derive fallback effort levels from completion choices
samheutmaker Sep 30, 2026
6d49db0
refactor(app): reuse SDK trace span types
samheutmaker Sep 30, 2026
7f5753d
Reuse MCP status projection and guard mirrored data contracts
samheutmaker Sep 30, 2026
6e2bfe5
refactor: centralize lifecycle status predicates
samheutmaker Sep 30, 2026
1bb0b46
test: conform contract guards to repository lint rules
samheutmaker Sep 30, 2026
210f975
chore(deps): bump the actions group across 1 directory with 6 updates
dependabot[bot] Oct 12, 2026
71f23a3
fix(deps): repair security blockers for backend reorganization
samheutmaker Oct 17, 2026
fd8df54
fix(deps): align docs router with patched Start release
samheutmaker Oct 17, 2026
b7f58f9
Merge dependency security repairs for stacked backend validation
samheutmaker Oct 17, 2026
bea6231
fix(tooling): support patched Go compiler in analysis gates
samheutmaker Oct 17, 2026
16ed5e1
Merge compatible Go analysis tooling for backend stack validation
samheutmaker Oct 17, 2026
64e3700
test: preserve provider, cancellation and trace behavior under patche…
samheutmaker Oct 17, 2026
e1e5e36
Merge provider and cancellation regression coverage for patched Go
samheutmaker Oct 17, 2026
7501aa5
Merge pull request #329 from context-labs/codex/backend-reorg-securit…
samheutmaker Oct 17, 2026
70146f0
Merge pull request #320 from context-labs/codex/backend-reorg-combined
samheutmaker Oct 17, 2026
58860dc
Merge pull request #321 from context-labs/codex/backend-reorg-dry
samheutmaker Oct 17, 2026
bee34d8
Preserve Go build settings in managed child processes
AmarUCLA Sep 25, 2026
92be932
Merge current development and extracted Go environment fix for valida…
samheutmaker Oct 17, 2026
ab19ae1
Merge current development and approved fixes for cumulative CI
samheutmaker Oct 17, 2026
9ad780b
Merge pull request #330 from context-labs/codex/preserve-go-build-env…
samheutmaker Oct 17, 2026
ceac917
Merge pull request #192 from context-labs/fix/turn-cap-output-check
samheutmaker Oct 17, 2026
5676f5e
Merge pull request #325 from context-labs/dependabot/github_actions/a…
samheutmaker Oct 17, 2026
cf70130
fix(ci): validate docs prerequisites and reviewed release transition
samheutmaker Oct 17, 2026
d688796
fix(web): let latest navigation supersede pending anchor restoration
samheutmaker Oct 17, 2026
ddca8e6
test(web): isolate activity and history recovery acceptance fixtures
samheutmaker Oct 17, 2026
b64df6c
Merge pull request #331 from context-labs/codex/release-readiness
samheutmaker Oct 17, 2026
7c8b15c
ci: validate UI repair after retargeting to development
samheutmaker Oct 17, 2026
23012e9
Merge pull request #333 from context-labs/codex/release-ui-acceptance
samheutmaker Oct 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .ai-docs/plans/web-app/WORKFLOW-INVENTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ The operation list is checked against the generated manifest by `packages/app/te
| `rpc:history.page` | Web | Conversation pagination and inspector collections through the shared SDK view; bounded references remain explicit. |
| `rpc:host.attention` | Web | Session sidebar/search and paged host attention; inactive roots are not opened. |
| `rpc:host.directories.list` | Web | Welcome host directory picker and composer host completions. |
| `rpc:host.directory.create` | Web | New folder creates one child in the current directory on the selected execution host, without starting a session; Choose folder remains explicit. |
| `rpc:host.directory.pick` | Web | Welcome native OS folder picker; falls back to the web directory browser where the host has no desktop picker. |
| `rpc:host.skills.complete` | Web | Read-only New Chat slash skill suggestions for the selected host and agent definition before a session exists: negotiated global-only discovery without a folder, or the selected project's initial scope plus globals. |
| `rpc:host.themes.list` | Web | Appearance settings: shared builtin/custom host themes and bounded JSON import. |
Expand Down Expand Up @@ -129,7 +130,6 @@ The operation list is checked against the generated manifest by `packages/app/te
| `runtime:schedule.create` | Web | Inspector → Goals & schedules: save/run/clear/form goal, create/delete schedules. |
| `runtime:schedule.delete` | Web | Inspector → Goals & schedules: save/run/clear/form goal, create/delete schedules. |
| `runtime:schedule.list` | Internal | Schedule inspection comes from bounded root snapshot/collection pages. |
| `runtime:session.autotitle` | Web | Inspector context: enable automatic titles. The existing one-way operation has no disable or readback contract, so the UI does not invent a toggle. |
| `runtime:session.create` | Web | Welcome/sidebar/session menu and conversation history controls. Fork/rewind/clear use displayed history revision; rewind confirms possible file restoration. |
| `runtime:session.delete` | Web | Welcome/sidebar/session menu and conversation history controls. Fork/rewind/clear use displayed history revision; rewind confirms possible file restoration. |
| `runtime:session.effort` | Web | Inspector → Context & model → Model & reasoning, with idle checks and explicit advanced runtime overrides. |
Expand Down Expand Up @@ -170,4 +170,4 @@ The operation list is checked against the generated manifest by `packages/app/te
- Host, mailbox, directory/theme discovery, attachment grants/limits/integrity, clear revision checks, and generated contract behavior have Go tests; affected race suites run separately.
- Built SDK acceptance exercises Unix/WebSocket equivalents, multimodal snapshot/history/SessionView, changed payloads and grants, clear revision invalidation, and queued attachment crash recovery.
- `packages/app/test/inspector.test.tsx` covers actual agent control payloads, stale-target avoidance, goal/schedule commands, saved-rule deletion, bounded mailbox paging/revision recovery, and ephemeral MCP secret handling. It is a component workflow test using a fake SDK service, not a real provider/OS integration test.
- Application lifetime/recovery, conversation/request workflows, theme accessibility, production packaging, and browser/mobile tests are tracked by their own suites and the main plan. Provider validation/rotation and the one-way automatic-title enable action have focused component tests, including secret disposal on host switch. Arbitrary manual execution, terminal/editor/review work, and runtime process management remain deferred; this inventory does not assert full TUI parity.
- Application lifetime/recovery, conversation/request workflows, theme accessibility, production packaging, and browser/mobile tests are tracked by their own suites and the main plan. Provider validation/rotation has focused component tests, including secret disposal on host switch. Session titles are automatic by definition policy; there is no per-session enable action. Arbitrary manual execution, terminal/editor/review work, and runtime process management remain deferred; this inventory does not assert full TUI parity.
4 changes: 3 additions & 1 deletion .easignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
driver/.build/
internal/tui/whip-transcript-*.md

# TypeScript clients: generated contracts are tracked, build output is not.
# Cloud builds generate protocol artifacts from the included Go sources.
/packages/protocol/schema/
/packages/protocol/generated/
node_modules/
packages/sdk/dist/
packages/sdk/build/
Expand Down
97 changes: 86 additions & 11 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ name: ci
on:
workflow_call:
pull_request:
branches: [main, development]
branches: [main, development, 'codex/backend-reorg-*']
push:
branches: [main, development]

Expand Down Expand Up @@ -70,7 +70,7 @@ jobs:
# Pinned: "latest" is a moving target and older releases can't parse
# Go 1.27 export data. Bump deliberately alongside the Go toolchain.
# The enabled linters live in .golangci.yml (repo source of truth).
version: v2.13.1
version: v2.14.0

- name: go mod tidy is a no-op
run: |
Expand Down Expand Up @@ -177,6 +177,10 @@ jobs:
cache: true
- name: Daemon lifecycle and socket ownership
run: go test -race ./internal/daemon -run '^(TestRuntimeAcceptance.*|TestRuntimePathsAndOwnerLock|TestOwnerOnlySocketRefusesUnsafeState)$'
- name: Shared native connection and command presentation
run: go test -race ./internal/daemonconn ./internal/commandpresentation ./internal/client
- name: TUI startup and automatic title over both transports
run: go test -race -tags=integration ./internal/tui -run '^TestInteractiveSessionOverTrustedProtocol$'
- name: Compact agent receipts and grant retrieval
run: go test -race -tags=integration ./internal/daemon -run '^TestRecursiveAgent(ReceiptsWithLargeMCPGrants|GrantInspectionAccess)$'
- name: RLM worker containment
Expand All @@ -192,12 +196,16 @@ jobs:
with:
go-version-file: go.mod
cache: true
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
with:
node-version: 24
cache: npm
- run: npm ci
- run: npm audit --omit=dev --audit-level=high
- name: Initialize protocol artifacts and SDK
run: |
npm run generate
npm run build
- run: npm run audit:production
- run: npm run check
- name: Web application and component checks
run: |
Expand All @@ -217,12 +225,20 @@ jobs:
- run: node packages/ui/tests/csp.mjs
- run: npm run test:packed -w @whip/ui
- run: WHIP_WEB_BROWSERS=chromium,firefox node apps/web/scripts/browser.mjs
- name: Renderer release acceptance
run: |
node apps/web/scripts/repl-viewer.mjs
node apps/web/scripts/settings.mjs
WHIP_CHAT_AGENTS_ONLY=1 WHIP_CHAT_ACTIVITY_RESULTS=/tmp/whip-chat-activity-results/agents node apps/web/scripts/chat-activity.mjs
WHIP_CHAT_ACTIVITY_RESULTS=/tmp/whip-chat-activity-results/activity node apps/web/scripts/chat-activity.mjs
WHIP_CHAT_HISTORY_ONLY=1 WHIP_CHAT_ACTIVITY_RESULTS=/tmp/whip-chat-activity-results/history node apps/web/scripts/chat-activity.mjs
- run: node apps/web/scripts/model-picker.mjs
- run: node apps/web/scripts/snapshot-refresh.mjs
- run: node --test apps/web/scripts/performance-probes.test.mjs
- run: node apps/web/scripts/performance.mjs
- run: npm run test:example
- name: Shared verified renderer for desktop and release consumers
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
with:
name: ci-renderer
if-no-files-found: error
Expand All @@ -231,13 +247,16 @@ jobs:
apps/web/renderer-manifest.json
- name: Browser acceptance evidence
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
with:
name: web-browser-evidence
if-no-files-found: ignore
path: |
/tmp/whip-web-browser-results
/tmp/whip-web-snapshot-refresh
/tmp/whip-repl-viewer-results
/tmp/whip-settings-browser-results
/tmp/whip-chat-activity-results
packages/ui/ui-test-results

docs:
Expand All @@ -246,13 +265,21 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
ref: ${{ github.sha }}
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Docs CI uses unpinned old setup-go

Low Severity

The new docs generate path installs Go with floating actions/setup-go@v5. Other jobs in this change pin setup-go v7 by commit SHA, so this job can pick up an unreviewed v5 revision and drift from the Go toolchain the rest of CI uses.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 5aa9a81. Configure here.

- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
with:
node-version: '24'
cache: npm
- run: npm ci
env:
ELECTRON_SKIP_BINARY_DOWNLOAD: '1'
- name: Initialize protocol artifacts and SDK
run: |
npm run generate
npm run build
- run: npm run check:docs
- run: npm run test:docs
- run: npm run test:docs:dev
Expand All @@ -261,7 +288,7 @@ jobs:
- run: npm run test:docs:browser
- run: npm run build:storybook:docs
- name: Static docs artifact
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
with:
name: docs-static
if-no-files-found: error
Expand All @@ -276,9 +303,51 @@ jobs:
mobile:
uses: ./.github/workflows/mobile.yml

# Fixed SDK from the accepted development revision against explicit binaries.
# This complements every existing gate; it does not replace product acceptance.
compatibility:
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-15]
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
ref: ${{ github.sha }}
fetch-depth: 0
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
with:
go-version-file: go.mod
cache: true
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
with:
node-version: 24
cache: npm
- name: Contract freeze, differential SDK and data rollback
env:
COMPATIBILITY_BASE: ${{ github.event.pull_request.base.sha || github.event.before || github.sha }}
run: |
# PRs use their immediate parent branch; initial push/reusable runs
# without a previous commit use the current commit for attribution.
if [ "$COMPATIBILITY_BASE" = 0000000000000000000000000000000000000000 ]; then COMPATIBILITY_BASE="$GITHUB_SHA"; fi
node scripts/backend-compat/run.mjs --candidate "$GITHUB_WORKSPACE" --base "$COMPATIBILITY_BASE" --output "$RUNNER_TEMP/backend-compat"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Compat job may miss required SHAs

Medium Severity

The new required compatibility job checks out github.sha and then git rev-parse/git archive both the frozen manifest.revision and COMPATIBILITY_BASE (pull_request.base.sha, else github.event.before, else HEAD). It never fetches those objects explicitly. With ref set to a SHA, fetch-depth: 0 still follows that commit’s ancestry, so a force-push before SHA or a frozen development revision that is not an ancestor of this ref makes git archive fail and turns the required go gate red.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 58860dc. Configure here.

- name: Compatibility evidence
if: always()
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
with:
name: backend-compat-${{ runner.os }}
path: |
${{ runner.temp }}/backend-compat/evidence.json
${{ runner.temp }}/backend-compat/command-*.log
${{ runner.temp }}/backend-compat/runs-*/**/*.json
${{ runner.temp }}/backend-compat/runs-*/**/*.log
retention-days: 14

# Required aggregate: failed or skipped dependencies must fail, never go green.
go:
needs: [lint, test, build, runtime, driver, sdk, docs, distribution, desktop, mobile]
needs: [lint, test, build, runtime, driver, sdk, docs, distribution, desktop, mobile, compatibility]
if: always()
runs-on: ubuntu-latest
steps:
Expand All @@ -290,6 +359,7 @@ jobs:
echo "runtime=${{ needs.runtime.result }}"
echo "driver=${{ needs.driver.result }}"
echo "sdk=${{ needs.sdk.result }}"
echo "compatibility=${{ needs.compatibility.result }}"
echo "docs=${{ needs.docs.result }}"
echo "distribution=${{ needs.distribution.result }}"
echo "desktop=${{ needs.desktop.result }}"
Expand All @@ -300,6 +370,7 @@ jobs:
[ "${{ needs.runtime.result }}" = success ] || exit 1
[ "${{ needs.driver.result }}" = success ] || exit 1
[ "${{ needs.sdk.result }}" = success ] || exit 1
[ "${{ needs.compatibility.result }}" = success ] || exit 1
[ "${{ needs.docs.result }}" = success ] || exit 1
[ "${{ needs.distribution.result }}" = success ] || exit 1
[ "${{ needs.desktop.result }}" = success ] || exit 1
Expand Down Expand Up @@ -343,14 +414,18 @@ jobs:
with:
go-version-file: go.mod
cache: true
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
with:
node-version: '24'
cache: npm
- run: npm ci
env:
ELECTRON_SKIP_BINARY_DOWNLOAD: '1'
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
- name: Initialize protocol artifacts and SDK
run: |
npm run generate
npm run build
- uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8
with:
name: ci-renderer
path: apps/web
Expand Down
10 changes: 7 additions & 3 deletions .github/workflows/desktop-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,20 @@ jobs:
with:
go-version-file: go.mod
cache: true
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
with:
node-version: '24'
cache: npm
- run: npm ci
env:
ELECTRON_SKIP_BINARY_DOWNLOAD: '1'
- name: Initialize protocol artifacts and SDK
run: |
npm run generate
npm run build
- run: node node_modules/electron/install.js
- run: npx playwright install ffmpeg
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
- uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8
with:
name: ${{ inputs.renderer-artifact }}
path: apps/web
Expand All @@ -53,7 +57,7 @@ jobs:
run: node apps/desktop/scripts/smoke.mjs
- name: Desktop package and lifecycle evidence
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
with:
name: desktop-ci-evidence
if-no-files-found: warn
Expand Down
12 changes: 8 additions & 4 deletions .github/workflows/desktop-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
with:
go-version-file: go.mod
cache: true
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
with:
node-version: '24'
cache: npm
Expand All @@ -63,8 +63,12 @@ jobs:
- run: npm ci
env:
ELECTRON_SKIP_BINARY_DOWNLOAD: '1'
- name: Initialize protocol artifacts and SDK
run: |
npm run generate
npm run build
- run: node node_modules/electron/install.js
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
- uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8
with:
name: ${{ inputs.renderer-artifact }}
path: apps/web
Expand Down Expand Up @@ -102,7 +106,7 @@ jobs:
if (!(await stat(`${root}/${name}`)).size) throw new Error(`Missing final ${name}`);
}
NODE
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
- uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
with:
name: desktop-release-arm64
path: apps/desktop/out/release
Expand All @@ -111,7 +115,7 @@ jobs:
compression-level: 0
- name: Sanitized startup diagnostics (including failures)
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
with:
name: desktop-startup-diagnostics-arm64
path: apps/desktop/out/diagnostics/startup.json
Expand Down
18 changes: 13 additions & 5 deletions .github/workflows/docs-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,21 @@ jobs:
with:
ref: ${{ github.sha }}
persist-credentials: false
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
with:
go-version-file: go.mod
cache: true
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
with:
node-version: '24'
cache: npm
- run: npm ci
env:
ELECTRON_SKIP_BINARY_DOWNLOAD: '1'
- name: Initialize protocol artifacts and SDK for example tests
run: |
npm run generate
npm run build
- run: npm install --prefix "$RUNNER_TEMP/wrangler" --no-save wrangler@4.140.0
- run: echo "$RUNNER_TEMP/wrangler/node_modules/.bin" >> "$GITHUB_PATH"
- run: npm run check:docs
Expand All @@ -51,7 +59,7 @@ jobs:
npm run build:docs
(cd apps/docs && node scripts/package-deploy.mjs)
node apps/docs/scripts/worker-test.mjs
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
- uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
with:
name: docs-deploy-${{ github.sha }}
path: apps/docs/dist/deploy
Expand All @@ -72,10 +80,10 @@ jobs:
with:
ref: ${{ github.sha }}
persist-credentials: false
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
with:
node-version: '24'
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
- uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8
with:
name: docs-deploy-${{ github.sha }}
path: apps/docs/dist/deploy
Expand Down Expand Up @@ -114,7 +122,7 @@ jobs:
with:
ref: ${{ github.sha }}
persist-credentials: false
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
with:
node-version: '24'
cache: npm
Expand Down
12 changes: 11 additions & 1 deletion .github/workflows/mobile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,21 @@ jobs:
- uses: actions/checkout@v7
with:
ref: ${{ github.sha }}
- uses: actions/setup-node@v7
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
with:
go-version-file: go.mod
cache: true
- uses: actions/setup-node@v7.1.0
with:
node-version: 24
cache: npm
- run: npm ci
- name: Initialize protocol artifacts and SDK
run: |
npm run generate
npm run build
- name: EAS initialization hook checks
run: node --test apps/mobile/scripts/eas-build-post-install.test.mjs
- name: Mobile types and shared SDK build
run: npm run check:mobile
- name: Mobile behavior tests
Expand Down
Loading
Loading