Skip to content

Marimo build, test, deploy workflow#22

Merged
jdangerx merged 6 commits intomainfrom
prototype-dashboards
Mar 2, 2026
Merged

Marimo build, test, deploy workflow#22
jdangerx merged 6 commits intomainfrom
prototype-dashboards

Conversation

@jdangerx
Copy link
Copy Markdown
Member

@jdangerx jdangerx commented Feb 23, 2026

Overview

Part of #19 , in conjunction with catalyst-cooperative/eel-hole#116

We need to build & store the webassembly versions of marimo notebooks somewhere, so that we can then grab them in eel-hole (see catalyst-cooperative/eel-hole#116).

What did you change in this PR?

  • add stub marimo notebook in marimo/
  • update existing workflow to build all .py files under marimo/ to wasm notebooks in /docs - and then deploy to GH pages
    • write a lil python script to do the grunt work here since this got gnarly in bash
    • if we want to make islands later we can do that
    • if we want to deploy the ipynbs also via nbconvert etc, we can do that in a different workflow, or add a different script to this workflow and rename it from marimo-only. All out of scope for now though.

Necessary chores to make this work:

  • add uv (we could also use pixi but so far seems unnecessary? easy enough to swap though)
  • set up pre-commit so we stop getting that annoying ci error.

Testing

  • ran action manually, downloaded build artifact, served python3 -m http.server from artifact.
  • found that you have to merge to main before we can deploy to gh-pages

To-do list

  • Once approved, commit results of uv run pre-commit run -a to this branch so we get a nice green check mark, but don't clutter up these changes with those changes.

@jdangerx jdangerx changed the title Stub marimo build and deploy flow Marimo build and deploy workflow Feb 24, 2026
@jdangerx jdangerx marked this pull request as ready for review February 24, 2026 17:46
@jdangerx jdangerx requested a review from zaneselvans February 24, 2026 17:48
Copy link
Copy Markdown
Member

@zaneselvans zaneselvans left a comment

Choose a reason for hiding this comment

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

I ran into errors when attempting to execute both the Jupyter and Marimo notebooks locally because of dependency stuff. See below.

@github-project-automation github-project-automation bot moved this from New to In progress in Catalyst Megaproject Feb 24, 2026
@zaneselvans zaneselvans linked an issue Feb 24, 2026 that may be closed by this pull request
6 tasks
@jdangerx jdangerx force-pushed the prototype-dashboards branch from 0ccccd6 to 116ee8c Compare February 27, 2026 18:19
@jdangerx jdangerx changed the base branch from main to pixi-only February 27, 2026 19:36
@jdangerx jdangerx changed the title Marimo build and deploy workflow Marimo build, test, deploy workflow Feb 27, 2026
@jdangerx jdangerx requested a review from zaneselvans February 27, 2026 21:45
@jdangerx jdangerx requested a review from krivard February 27, 2026 21:54
@jdangerx
Copy link
Copy Markdown
Member Author

@krivard You may want to know about this, specifically the integration testing setup, for #23 - I don't think you'll want to do super comprehensive testing of your dashboard, because that sounds both (a) hard and (b) flaky, but some basic ones to verify that things aren't crashing out is probably worthwhile.

@jdangerx jdangerx moved this from In progress to In review in Catalyst Megaproject Mar 2, 2026
Copy link
Copy Markdown
Contributor

@krivard krivard left a comment

Choose a reason for hiding this comment

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

Minor optional clarity notes but this looks good!

Comment on lines +2 to +4
# NOTE 2026-02-27: these need to be imported so that Pandas can read Parquet
# files in pyodide, but are not explicitly used in the code.
allowed-unused-imports = ["fastparquet", "pyarrow"]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

👍

@jdangerx jdangerx force-pushed the prototype-dashboards branch from 11a47df to 4afe00e Compare March 2, 2026 22:34
Base automatically changed from pixi-only to main March 2, 2026 22:35
* add playwright to wasm env
* add pytest fixture which spins up a test server
* futz around with playwright selectors to interact with different UI elements & look at charts
* update GHA + export script to accommodate testing changes
* update README :)
* fix plant-explorer which didn't have a parquet engine imported -_-
@jdangerx jdangerx force-pushed the prototype-dashboards branch from 4afe00e to 7c505b1 Compare March 2, 2026 22:36
@jdangerx jdangerx merged commit c2d86b9 into main Mar 2, 2026
2 checks passed
@github-project-automation github-project-automation bot moved this from In review to Done in Catalyst Megaproject Mar 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Deploy marimo notebook on data.catalyst.coop

3 participants