Skip to content

feat: add release verification test suite - #56

Merged
jeetv merged 1 commit into
devfrom
feat/release-verification-tests
Aug 27, 2026
Merged

feat: add release verification test suite#56
jeetv merged 1 commit into
devfrom
feat/release-verification-tests

Conversation

@SilvioGiancola

Copy link
Copy Markdown
Collaborator

Summary\n- add opt-in release verification tests for classification, localization, and VQA\n- add shared dataset/config/cache helpers and a guarded runner script\n- add SGD optimizer support and align ResNet extractors with the shared base class\n- ignore generated release-test cache output\n\n## Testing\n- passed\n- and could not run because pytest is not installed in the active environment

Copilot AI lite review requested due to automatic review settings August 25, 2026 16:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an opt-in, real-data “release verification” test suite intended for manual post-release validation of end-to-end training/infer/eval across classification, localization, and VQA model families, plus small supporting runtime improvements.

Changes:

  • Introduces tests/release/ with shared helpers, detailed documentation, and task-specific release verification tests gated by RUN_OSL_RELEASE_TESTS=1.
  • Adds a convenience runner script for the release suite and ignores the generated cache/output directory.
  • Extends core training support by adding SGD optimizer construction and aligning ResNet feature extractors with the shared BaseExtractFeatures base class.

Reviewed changes

Copilot reviewed 8 out of 10 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tests/release/test_vqa_release.py New VQA release verification tests (LoRA backends) + sharded dataset fixture
tests/release/test_localization_release.py New localization release verification tests (E2E + feature-based families)
tests/release/test_classification_release.py New classification release verification tests across backbone families
tests/release/README.md Documents release test goals, datasets, prerequisites, and tuning knobs
tests/release/_release_common.py Shared gating, HF download helpers, config materialization, and run output paths
tests/release/init.py Package init enabling relative imports within tests/release/
scripts/run_release_tests.sh Guarded wrapper to run the release suite manually
opensportslib/models/backbones/builder.py ResNet extractor now derives from shared BaseExtractFeatures
opensportslib/core/optimizer/builder.py Adds SGD support (and explicit error on unknown optimizer type)
.gitignore Ignores .release_test_cache/ generated by release verification runs

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

assert pred_path.exists()

report_step(f"[{run_name}] evaluate()")
metrics = model.evaluate(test_set=str(split_paths["test"]), use_wandb=False)
assert pred_path.exists()

report_step(f"[{run_name}] evaluate()")
metrics = model.evaluate(test_set=str(split_paths["test"]), use_wandb=False)
download_files,
download_shard_split,
epochs_for,
hf_token,
valid_set=str(split_paths["valid"]),
use_wandb=False,
)
assert checkpoint, f"[{run_name}] train() did not return a checkpoint"
# invoked directly, and requires RUN_OSL_RELEASE_TESTS=1 to actually execute
# anything (the tests skip themselves otherwise).

set -uo pipefail
@jeetv
jeetv merged commit 3ca6acd into dev Aug 27, 2026
1 check passed
@SilvioGiancola

Copy link
Copy Markdown
Collaborator Author

PS: it might take some extra effort to make it work. I noticed some training failed after download the data, but it might be because of some path in the config files.
cc: @jeetv @meryusha

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.

3 participants