Skip to content

Add CI: run the tests, and catch upstream panel/bokeh/Pyodide drift #1

Description

@awickert

artesian is public, has 27 tests, and nothing runs them.

This matters more here than for a typical package. A good share of what artesian does is work around current upstream behaviour:

  • the holoviz CDN's bokeh wheel returns HTTP 403, so wheel URLs are rewritten to co-located copies;
  • panel convert can print a failure and still exit 0;
  • panel convert executes the app in the building environment, so the model must be importable there;
  • Sphinx copies only html_static_path directories, so output elsewhere silently 404s.

Every one of those is a fact about a specific version of panel, bokeh, or Pyodide. When upstream changes — including when they fix something and a workaround becomes wrong — we want to find out from CI, not from a reader hitting a broken demo.

Suggested scope

  • Run pytest on push and pull request across the supported Python versions.
  • A scheduled run (weekly) that does a real end-to-end build of examples/hillslope.py against the latest panel/bokeh, not a pin. This is the job that catches upstream drift; the unit tests will not.
  • Optionally assert the two properties most likely to break silently: that the built page exists, and that no absolute wheel URL survives in the generated JS.

Why it is worth doing before applying artesian to more models

Each additional model that depends on artesian multiplies the cost of an undetected upstream break.

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions