Skip to content

Update gaios deploy - #1390

Open
paulsonnentag wants to merge 6 commits into
ToposInstitute:mainfrom
inkandswitch:update-gaios-deploy
Open

Update gaios deploy#1390
paulsonnentag wants to merge 6 commits into
ToposInstitute:mainfrom
inkandswitch:update-gaios-deploy

Conversation

@paulsonnentag

@paulsonnentag paulsonnentag commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

We'd like to add CatColab as a default tool in gaios.sgai.uk. At the moment we check a bundled copy of CatColab into the gaios.sgai.uk repo, which means it goes stale as soon as you ship a new version. It would be much nicer to hook into your existing deploy workflow so that each CatColab release also uploads a bundle to Netlify that gaios can load directly.

This PR contains:

  • A workflow that [builds the gaios bundle and publishes it to Netlify on deploy]
  • An update to the CatColab tool so that creating a model also creates an analysis by default, giving you both a model and an analysis in gaios. Previously only models could be created.

Patchwork renamed the tool plugin's `supportedDataTypes` field to
`supportedDatatypes`, so the CatColab tool registered but never matched its
own datatype.

The vite externals were stale in both directions: they named the removed
`@patchwork/rootstock` and `@patchwork/context` packages, and they omitted
`solid-js`, which Patchwork supplies through its importmap. Bundling a second
Solid runtime breaks context lookups and click delegation against the host's
copy, so take the list from `@inkandswitch/patchwork-bootloader/externals`
rather than hand-maintaining it. This also shrinks the tool chunk from 13.1MB
to 11.6MB.

Bump pushwork to v2 so `pnpm push` can read the v5 `.pushwork/config.json`
that current pushwork writes; the pinned v1 aborted with a config version
mismatch. Record the plugin's document URL under `pushwork.url`, which is
where Patchwork tools now keep it, and drop the unused react, uuid and
`@patchwork/context` dependencies.
Register a catcolab-analysis datatype and tool in the gaios Patchwork
plugin. The tool shows the model notebook and analysis notebook in two
editable panes, resolving the model through the analysis's analysisOf
reference. Analyses are created from a "New analysis" button in the
model tool, since a blank analysis referencing no model would be
useless (the datatype is unlisted for the same reason).
Analyses created from the model tool carried no @Patchwork metadata, so
Patchwork could only resolve their tool via the explicit toolId in the
open-document event. Set the datatype id and copy the plugin import URLs
from the model so analysis docs are self-describing when opened by URL.
Opening a model in Patchwork now ensures a linked analysis document
exists (created on first open, recorded in the model's analysisDocUrl
field) and always renders the side-by-side model/analysis view,
replacing the "New analysis" button.
Adds a build_gaios job that builds packages/gaios and uploads it shaped
as a Patchwork package (package.json + dist), and deploys it under
/gaios/ on Netlify with permissive CORS so Patchwork shells (e.g.
GaiOS) can load the plugin by URL instead of vendoring the build.
@paulsonnentag

Copy link
Copy Markdown
Contributor Author

Is there a way to get a build preview? It would be nice if we could test that the deployed version is loadable in gaios before we merge this

@kasbah

kasbah commented Aug 13, 2026

Copy link
Copy Markdown
Member

Probably best if we add you as a contributor but I'll leave that up to @epatters . I copied your branch for now: #1393

The build passed: https://github.com/ToposInstitute/CatColab/actions/runs/31703563860/artifacts/9182366436

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.

2 participants