Skip to content

auto-version PEP440 stamp leaks into uv.lock via any plain 'uv run', breaking image metadata semver validation #695

Closed

Description

@JavierGOrdonnez

Chain: post-merge bot commit stamps flaskapi/pyproject.toml with X.Y.Z.devN (PEP440). uv.lock keeps the release form (develop convention), but the oSPARC image build validates the lock-derived project version as semver (MetadataConfig). Any tooling that runs plain uv run/uv sync (not --frozen) auto-mirrors the dev stamp into uv.lock -> verify-image-build fails with string_pattern_mismatch.

Hit live 2026-10-06 via PR #694 (ty hook auto-sync; hook fixed to --frozen in that PR's 16a95349). Remaining exposures: tests/e2e/scripts/gen-baselines.sh (make install-flaskapi-deps -> plain uv sync) and Makefile dev targets; harmless locally today only because their jobs don't inspect the lock afterwards.

Options (team call):

  1. derive image/oSPARC metadata version from a base-release source that the bot never stamps (VERSION file or importlib.metadata of the locked release), decoupling display version from validation version;
  2. or have the bot stamp both pyproject and a semver-safe metadata source atomically;
  3. or standardize uv sync --frozen/uv run --frozen in all repo-invoked scripts and accept lock lag as an invariant (status quo hardened).

Related: #659 (auto-tag workflow), #682 (scripts/auto_version.py touch).

Activity

  1. JavierGOrdonnez commented on Oct 6, 2026

    @JavierGOrdonnez
    CollaboratorAuthor

    Concrete fix path for the metadata half of this trap is up as #697: .bumpversion.cfg entries for the 8 .osparc/*/metadata.yml files get a semver-only = true flag; auto_version.py stamps (and §V5 gate-checks) those entries with the .devN-stripped base while compose tags/pyproject keep the full dev version; the currently dev-stamped metadata files get a one-time repair. A dev stamp also self-heals metadata files the old flow left stamped.

    Evidence chain: #694's verify-image-build ValidationError (input_value='1.6.3.dev2') → Assemble docker compose spec validates .osparc/*/metadata.yml → bumpversion fan-out writes the dev suffix there since 195632ec → every PR from stamped develop is affected, not just version bumps.

    Remaining exposure listed in this issue (plain uv sync in tests/e2e/scripts/gen-baselines.sh re-stamping uv.lock during §V12 runs) is untouched by #697 and still needs a call — reproduced again today on the #696 regen run (revision 3→5, 1.6.3→1.6.3.dev2), caught and excluded before commit.

  2. added 3 commits that reference this issue on Oct 7, 2026
  3. JavierGOrdonnez commented on Oct 8, 2026

    @JavierGOrdonnez
    CollaboratorAuthor

    closed by #697

  4. added this to the KonradZuse milestone on Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

criticalBreaking error - needs to be fixed asaprelease

Type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions