fractal-analytics-platform / fractal-tasks-core

Main tasks for the Fractal analytics platform
https://fractal-analytics-platform.github.io/fractal-tasks-core/
BSD 3-Clause "New" or "Revised" License
14 stars 6 forks source link

Test JSON-Schema generation on multiple packages #757

Closed tcompa closed 5 months ago

tcompa commented 5 months ago

Given the planned activity on JSON Schema generation (see e.g. #755 and #756), I think it'd be useful to quickly assess how a given change would affect other Fractal-compatible packages.

I propose we add a GitHub action that acts on a few selected packages. For each one of them we would

  1. git clone the repo (required metadata repository_url, e.g. https://github.com/fmi-basel/gliberal-scMultipleX)
  2. Install the package (required metadata cmd_install, e.g. pip install -e .[extras], poetry install --all-extras, ...)
  3. Run the manifest-creation script (required metadata cmd_create_manifest, e.g. python src/dev/create_manifest.py)
  4. Compare the new manifest with the old manifest (this can be done with git diff, or even more easily with a Python script.. the required metadata could then be manifest_path and/or current_manifest_url).

The goal here would not be to block updates of the fractal-tasks-core dev tools. Rather, we should be aware of which changes may be breaking for a different package (as in "the manifest creation will fail") or somehow relevant (as in "the new manifest differs from the old one"), and we can also warn maintainers in advance.

jluethi commented 5 months ago

Great idea!

jluethi commented 5 months ago

Let's do this for scmultiplex, APX & fractal-helper tasks