ADR-042: Mandatory Pre-Release Validation¶
- Status: Accepted
- Date: 2026-01-11
- Authors: Podcast Scraper Team
- Related RFCs: RFC-038
Context & Problem Statement¶
Releasing a version with a broken docs build, a missing entry in the changelog, or a version mismatch in pyproject.toml is a common but preventable mistake. Manual checklists are often skipped or forgotten.
Decision¶
We enforce Mandatory Pre-Release Validation.
- All official releases MUST pass the automated
scripts/pre_release_check.pyscript. - The check is accessible via
make pre-releaseand validates: - All tests passing.
- Zero linting/type-check errors.
- Successful
mkdocsbuild. - Changelog contains the new version.
- Version consistency across all project files.
Rationale¶
- Quality Guarantee: Ensures that every public release meets the project's high standards.
- Trust: Users and contributors can trust that a tagged version is fully validated and documented.
- Automation: Removes the mental burden of remembering 10+ manual checks before hitting "publish."
Alternatives Considered¶
- Manual Checklists: Rejected as they are prone to human error and omission.
Consequences¶
- Positive: Highly professional release process; zero "broken release" incidents.
- Negative: Adds a final "gate" that must be cleared before merging a release branch.