Repository navigation
feat(#7): release/RC jar-name tests; RC builds pass build.sh's wheel check - #13
Merged
Merged
Conversation
…s wheel check extract_version is tested end to end from release and RC engine jar names (module and CLI, pep440 and docker). Running build.sh's local-jars wheel check for the same versions found it mapped 26.11.1-RC1 to 26.11.1.RC1, which no RC wheel (26.11.1rc1) matches: it now follows maven_to_pep440's rules. tests/test_build_wheel_check.py runs that heredoc unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #7
This adds end-to-end tests that start from a release or RC engine jar's file name, for both
extract_version()and the CLI, in both--format=pep440and--format=docker. Testing that path further found a real bug inscripts/build.sh. Its local-jars wheel check (the inlinepython3 - << 'PY'block) turned the engine version into the wheel version with its own rules:.replace("-SNAPSHOT","").replace("-","."). That maps26.11.1-RC1to26.11.1.RC1. No RC wheel (26.11.1rc1) matches that, so a local-jars RC build failed withno arcadedb_embedded-26.11.1.RC1 wheel in dist/. The check now uses the same rules asextract_version.py'smaven_to_pep440.Test plan
tests/test_extract_version.py: 8 new parametrized cases (release, release+post, RC, RC+post), through the module and the CLI. The CLI cases also check that--python-patchdoesn't change the docker string..postconversion broken inextract_version.py, the new tests fail (7 failures); with it restored, they pass.tests/test_build_wheel_check.pyruns the heredoc frombuild.shunchanged, for SNAPSHOT, release and RC versions, against a fakedist/wheel andlocal-jars/libjar. RED onmain: the RC case fails with❌ no arcadedb_embedded-26.11.1.RC1 wheel in dist/. GREEN with this change.Coverage
Invariant: a release or RC engine jar gives the right package version and docker string, and a build from it passes
build.sh's wheel check.extract_version()(used bywrite_version.py:42andDockerfile.build:229)--format=pep440/--format=docker(build-native.sh:311, both workflows' download-jars)build.shlocal-jars wheel checkKnown gaps: None.
write_version.pywrapsextract_version(jars_dir), so it is covered throughextract_version(), not with a test of its own.Adversarial pass
.postNrows test a path no build passes. True:--python-patchis only for running the script by hand, and the script's own docstring documents it. The tests keep it working, and the comment now says that no build path passes it.ARCADEDB_TAGand the build.sh check.--python-patchwith--format=dockertoo, which checks that it's ignored there.write_version.pyisn't tested end to end for release/RC. Not changed: it callsextract_version(jars_dir)directly, which is tested.Review cycles
This repository has no Claude review workflow, so no bot review was waited for. Final state:
no-reviewer.🤖 Generated with Claude Code