Skip to content

feat!: prepare 2.0.0 application packages and release pipeline - #14

Merged
fabricebrito merged 23 commits into
developfrom
feature/metadata
Oct 10, 2026
Merged

fabricebrito merged 23 commits into
developfrom
feature/metadata

Conversation

@fabricebrito

Copy link
Copy Markdown
Member

This prepares the application packages for 2.0.0 and brings the metadata, packaged tools, notebooks, documentation, and release pipeline into develop.

Changes

  • Adopt typed EOAP CWL inputs, shared enums, richer software metadata, and generated workflow references and SVG diagrams.
  • Package the four processing tools and stage-in/out commands with Python 3.12+, console entrypoints, tests, and multistage container images.
  • Add Taskfile commands and Hatch notebook environments; align labs, Kubernetes examples, and documentation with the packaged commands and typed inputs.
  • Redesign documentation navigation and add FAIR citation, RO-Crate, and optional Zenodo Sandbox exercises.
  • Gate releases on package tests and image vulnerability scans; pack workflows with immutable image references, extract OCI annotations with transpiler-mate cwl2oci, publish with ORAS, and verify artifacts before publishing the GitHub release.
  • Align current package and CWL versions to 2.0.0, update release metadata, and use the changelog for release notes.

Migration

This is a major release: existing string/bounding-box CWL inputs must be converted to GeoJSON Polygon and typed URI records, and direct app.py/container invocations must use the packaged console commands. See CHANGELOG.md for migration instructions. Historical released examples retain their original interfaces.

Validation

  • 33 processing, staging, pipeline, and release-metadata tests passed.
  • All tracked CWL documents validated; all six 2.0.0 package wheels built.
  • Three packed release workflows and their cwl2oci annotations validated using test image digest fixtures.
  • Local ORAS round trips verified workflow content and manifest annotations.
  • Citation generation, Workflow RO-Crate validation, attachments, and ZIP contents verified locally.
  • actionlint and strict MkDocs builds passed.
  • Packaged and Hatch Minikube lab validation is recorded in the documentation.

Production image builds, vulnerability scans, GHCR publication, and GitHub release publication remain CI steps. No production release or Zenodo deposit has been performed.

Import GeoJSON Polygon and URI records, share EPSG and spectral-band enums, and adapt command bindings to the existing application interface.

BREAKING CHANGE: Local CWL jobs must supply Polygon AOIs and URI records instead of plain strings. Workflow EPSG values now use the 4326 enum.
Use typed YAML jobs in local CWL labs and documentation scripts, document release input compatibility, and refresh generated reference pages and diagrams.
Build processing wheels in multistage containers, preserve dependency pins and remote-read retries, and align CWL bindings with polygon masking and explicit raster options.

BREAKING CHANGE: processing tools require Python 3.12 or newer and installed console commands. Rebuild local images; normalized difference and STAC use repeated raster options, and Otsu uses --raster.
Test the synthetic processing chain, build wheels and images, update mandatory Docker requirements with release digests, and preserve metadata while embedding workflow schemas.
Install processing packages in lab environments, use the new CLI options and host-user container mapping, explain polygon masking, and refresh CWL references and diagrams.
Replace embedded staging scripts with installed Python commands and dedicated multistage images while preserving CWL job inputs and legacy released examples. Fail incomplete downloads and retain destination prefixes for absolute asset paths.
Include stage-in and stage-out in package tests, wheel builds, container smoke checks, and the release image matrix.
Update the staging notebook and documentation for installed commands, separate images, bounded downloads, and catalog uploads.
Pass GeoJSON polygons to crop and separate Podman flags from image names in container help cells.
@fabricebrito
fabricebrito merged commit 20cffab into develop Oct 10, 2026
1 check passed
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