stouputils.continuous_delivery package#
Continuous delivery and deployment utilities.
This module provides tools for automating software delivery and deployment:
Key Features: - GitHub release management and uploads - GitLab release management and uploads - PyPI package publishing utilities - pyproject.toml file management - Common CD/CI utilities - Local git changelog generation
Components:
cd_utils: Common utilities for continuous deliverygit: Local git changelog utilities (generate_local_changelog(),changelog_cli())github: GitHub-specific utilities (upload_to_github())gitlab: GitLab-specific utilities (upload_to_gitlab())pypi: PyPI publishing tools (pypi_full_routine())pyproject: pyproject.toml file management
# Create a git repository with a release tag and three commits after it
git init -q project && cd project
git commit -q --allow-empty -m "feat: ✨ Add the login page"
git tag -m "First release" v1.0.0
git commit -q --allow-empty -m "feat(auth): ✨ Remember the session for 30 days"
git commit -q --allow-empty -m "fix(auth): 🐛 Refuse expired tokens"
git commit -q --allow-empty -m "docs: 📝 Explain the token lifetime"
# Build the changelog of everything since the tag, grouped by commit type
stouputils changelog tag v1.0.0
Submodules#
- stouputils.continuous_delivery.cd_utils module
- stouputils.continuous_delivery.git module
run_git_command()get_local_tags()get_latest_tag()get_commits_since_tag()get_commits_since_date()get_commits_since_commit()parse_date_fallback()parse_commit_log()get_remotes()parse_remote_url()detect_host_type()create_url_formatter()generate_local_changelog()local_commits()remote_url_formatters()changelog_cli()
- stouputils.continuous_delivery.github module
UPLOAD_ATTEMPTSUPLOAD_RETRY_DELAYvalidate_github_credentials()validate_github_config()build_github_config()delete_github_release()delete_github_tag()get_github_sha()get_github_commit_date()extract_github_commit_data()get_pushed_head_sha()create_github_tag()create_github_release()upload_github_assets()upload_to_github()
- stouputils.continuous_delivery.gitlab module
- stouputils.continuous_delivery.pypi module
- stouputils.continuous_delivery.pyproject module
- stouputils.continuous_delivery.release_common module
PlatformConfigPlatformConfig.base_urlPlatformConfig.project_identifierPlatformConfig.headersPlatformConfig.versionPlatformConfig.build_folderPlatformConfig.endswithPlatformConfig.project_api_urlPlatformConfig.web_urlPlatformConfig.tag_api_pathPlatformConfig.commit_api_pathPlatformConfig.release_api_pathPlatformConfig.commit_url_pathPlatformConfig.compare_url_pathPlatformConfig.platform_name
validate_required_keys()check_existing_tag()prompt_delete_existing()handle_existing_tag()fetch_latest_tag()paginate_api()fetch_commits_since_tag()generate_changelog()upload_files()log_success()delete_resource()delete_resource_unconditional()create_tag_on_branch()create_release()publish_release()