Skip to main content

Automatic package release upon pull request merge

Project description

AutoPub

Build Status PyPI Version

AutoPub enables project maintainers to release new package versions to PyPI by merging pull requests.

Environment

AutoPub is intended for use with continuous integration (CI) systems such as GitHub Actions, CircleCI, or Travis CI. Projects used with AutoPub are built via build and published via Twine. Contributions that add support for other CI and build systems are welcome.

Configuration

AutoPub settings can be configured via the [tool.autopub] table in the target project’s pyproject.toml file. Required settings include Git username and email address:

[tool.autopub]
git-username = "Your Name"
git-email = "your_email@example.com"

Release Files

Contributors should include a RELEASE.md file in their pull requests with two bits of information:

  • Release type: major, minor, or patch
  • Description of the changes, to be used as the changelog entry

Example:

Release type: patch

Add function to update version strings in multiple files.

Usage

The following autopub sub-commands can be used as steps in your CI flows:

  • autopub check: Check whether release file exists.
  • autopub prepare: Update version strings and add entry to changelog.
  • autopub build: Build the project.
  • autopub commit: Add, commit, and push incremented version and changelog changes.
  • autopub githubrelease: Create a new release on GitHub.
  • autopub publish: Publish a new release.

For systems such as Travis CI in which only one deployment step is permitted, there is a single command that runs the above steps in sequence:

  • autopub deploy: Run prepare, build, commit, githubrelease, and publish in one invocation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autopub-0.3.0.tar.gz (19.9 kB view hashes)

Uploaded Source

Built Distribution

autopub-0.3.0-py3-none-any.whl (22.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page