Skip to content

[Testing]: Add releases, versioning, and proper testing - #37

Merged
QuentinWach merged 5 commits into
mainfrom
versioning
Mar 22, 2026
Merged

QuentinWach merged 5 commits into
mainfrom
versioning

Conversation

@QuentinWach

@QuentinWach QuentinWach commented Mar 22, 2026 •

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • New Features

    • Added image-ranker command-line entry point for launching the application.
  • Documentation

    • Added CHANGELOG documenting project releases and changes.
    • Updated README with testing instructions and release workflow details.
  • Tests

    • Implemented automated testing via GitHub Actions on Python 3.11, 3.12, and 3.13.
    • Added automated release workflow for tag-based releases.

@coderabbitai

coderabbitai Bot commented Mar 22, 2026 •

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: fa56f249-5f32-43ca-8375-026c4c152faf

📥 Commits

Reviewing files that changed from the base of the PR and between e27a12f and 8b9aab0.

📒 Files selected for processing (9)
  • .github/workflows/release.yml
  • .github/workflows/test.yml
  • .gitignore
  • CHANGELOG.md
  • README.md
  • app.py
  • pyproject.toml
  • scripts/extract_release_notes.py
  • tests/test_resume_autosave.py

📝 Walkthrough

Walkthrough

New GitHub Actions workflows automate testing and releases triggered by tags. A pyproject.toml file establishes proper package configuration with dependencies, metadata, and a CLI entry point. The app is refactored with a proper main() function, and documentation is expanded with changelog, testing, and versioning guidance. A release notes extractor script supports automated changelog-to-release publishing.

Changes

Cohort / File(s) Summary
CI/CD Workflows
.github/workflows/release.yml, .github/workflows/test.yml
Added GitHub Actions for automated testing across Python 3.11–3.13 and tag-based release publishing with validation and changelog extraction.
Package Configuration
pyproject.toml
Introduced project metadata, runtime dependencies (Flask, trueskill), dev dependencies (pytest), and CLI entry point image-ranker mapped to app:main.
Release & Documentation
CHANGELOG.md, README.md
Added changelog in Keep a Changelog format (v0.2.0) and updated README with testing, versioning, and entry point installation guidance.
Application Refactoring
app.py
Introduced main() function for entry point integration, cached BASE_DIR at import time, and refactored script initialization.
Release Utilities
scripts/extract_release_notes.py
Added script to extract version-specific release notes from CHANGELOG.md for automated GitHub release publishing.
Build Configuration
.gitignore, tests/test_resume_autosave.py
Updated ignore patterns for test/build artifacts and normalized filesystem paths in test fixtures using os.path.realpath().

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Poem

🐰✨ Our workflows now dance in the GitHub sky,
Release notes hop when version tags fly,
A main() entry point, proper and clean,
The finest package setup we've seen! 🎉

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch versioning

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@QuentinWach
QuentinWach marked this pull request as ready for review March 22, 2026 03:01
@QuentinWach
QuentinWach merged commit e55758b into main Mar 22, 2026
7 checks 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