Skip to content

Curate base-dev for the desk via peru - #332

Merged
arthyn merged 2 commits into
developfrom
hunter/curate-desk-base-dev
Jun 18, 2026
Merged

arthyn merged 2 commits into
developfrom
hunter/curate-desk-base-dev

Conversation

@arthyn

@arthyn arthyn commented Jun 18, 2026 •

Copy link
Copy Markdown
Member

This fixes some issues with desk ops now that the kernel is more strict about marks compiling, also updates our workflow to be more intentional around desk dependencies.


Reference

Mirrors tloncorp/tlon-apps#5949 for landscape.

What & why

The new kernel builds every mark present on a desk. The old deploy did rsync -avL --delete pkg/base-dev/ — dumping all ~92 base-dev files onto the landscape desk — so unused marks (language-server, umd, png, woff2, …) got compiled and could break the build on the target kelvin.

This vendors only the transitive closure of desk/'s imports via peru into a gitignored desk-deps/, then assembles desk-deps/ + desk/ in the deploy runner.

Changes

  • peru.yaml — picks 10 lib / 2 sur / 10 mar from urbit/urbit pkg/base-dev, pinned to 408k-rc2 (matches desk/sys.kelvin).
  • scripts/sync-deps.sh / scripts/assemble-desk.sh — peru sync, then layer desk-deps/ (with --delete) + desk/.
  • .github/helpers/deploy.sh — assemble the desk in the runner, scp a tarball to the ship; the remote only unpacks/mounts/commits (no more cloning urbit on the ship). The remote --delete purges stale base-dev files from existing ships.
  • deploy workflows — dropped the now-unused URBIT_REPO_TAG env (rev is owned by peru.yaml).
  • .gitignore — desk-deps/, .peru/, peru.lock.
  • deleted desk/lib/graph-store.hoon and desk/sur/activity.hoon — dead files importing surs (hark-store, contacts) that don't exist on the desk; nothing references them.

Verification

  • peru sync resolves all 22 picks against 408k-rc2.
  • Import-closure check over the assembled desk: all /+ / /- imports resolve, zero exceptions.
  • Not deploy-tested (needs GCP creds + ships) — final validation is a successful commit on the target kernel at deploy time.

Follow-ups

  • The URBIT_REPO_TAG / URBIT_REPO_TAG_KERNEL repo Actions variables are now unused and can be deleted from settings.

arthyn and others added 2 commits June 18, 2026 13:34
The new kernel builds every mark present on a desk, so rsyncing all of
urbit's pkg/base-dev (~92 files) onto the landscape desk pulled in unused
marks that fail to compile. Vendor only the transitive closure of desk/'s
imports via peru (peru.yaml, pinned to 408k-rc2) into a gitignored
desk-deps/, and assemble desk-deps/ + desk/ in the deploy runner.

- peru.yaml: 10 lib, 2 sur, 10 mar picks from base-dev
- scripts/sync-deps.sh, scripts/assemble-desk.sh
- deploy.sh: assemble in runner, scp tarball, remote only mounts/commits
- drop now-unused URBIT_REPO_TAG from deploy workflows (rev pinned in peru.yaml)
- delete dead files desk/lib/graph-store.hoon, desk/sur/activity.hoon

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The assembled desk tarball is shipped up through gcloud's single-threaded
IAP websocket proxy; without NumPy that upload takes ~4 min. Matches the
tlon-apps deploy.sh fix.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@arthyn
arthyn merged commit d86c5f6 into develop Jun 18, 2026
1 check passed
@arthyn
arthyn deleted the hunter/curate-desk-base-dev branch June 18, 2026 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant