Skip to content

Release Process

Overview

This document outlines the step-by-step process for releasing new versions of Rivusio.

Prerequisites

  • Write access to the main repository
  • PyPI publishing rights
  • Access to repository settings

Release Steps

  1. Version Update
  2. Update version in pyproject.toml
  3. Update __version__ in src/rivusio/__init__.py
  4. Update CHANGELOG.md

  5. Pre-release Checks

    # Run all tests
    make test
    
    # Run type checking
    make type-check
    
    # Run linting
    make lint
    
    # Build documentation
    make docs
    

  6. Create Release PR

  7. Branch name: release/v{version}
  8. Include all version updates
  9. Update documentation if needed
  10. Maximum 2 commits

  11. After PR Approval

  12. Merge to main
  13. Contact @zmastylo to enable RELEASE_FLAG
  14. Verify CI/CD pipeline completion

  15. Manual Release Steps

  16. Trigger publish workflow
  17. Verify PyPI package
  18. Check documentation updates

Versioning Guidelines

We follow Semantic Versioning:

  • MAJOR version for incompatible API changes
  • MINOR version for backwards-compatible features
  • PATCH version for backwards-compatible fixes

Troubleshooting

Common Issues

  1. Failed PyPI Upload
  2. Check PyPI token validity
  3. Verify version number uniqueness
  4. Review package structure

  5. CI/CD Pipeline Failures

  6. Check test failures
  7. Verify environment variables
  8. Review workflow logs