Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Dennis the release helper

Project description

# Dennis -- helping to release and ship it

## Quickstart

- Checkout and Install:

```
# Install sawyer
git clone https://github.com/lystable/sawyer sawyer
cd sawyer
python3 setup.py develop

# Install or Upgrade dennis
pip install -U dennis
```

You'll need to run any `dennis` commands from within the Git project you wish to release.

- Prepare a release:

```
dennis prepare --type minor --user <your username>
```

- Draft a release:

```
dennis release --type minor --user <your username> --draft
```

This will not merge any PRs, but it's useful for ensuring the current release state is retrieved normally.

- Complete a release:

```
dennis release --type minor --user <your username>
```

## [GitFlow](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow)-esque Use Cases

### Create and Release a normal (minor) release
```
# Step 1
dennis prepare --type minor --user yannispanousis
#
# ... QA cycle ...
#
# Step 2
dennis release --type minor --user yannispanousis
```

### Create and Release a hotfix

```
# Step 1
dennis prepare --type hotfix --user yannispanousis --branch <a published branch name>
#
# ... QA cycle ...
#
# Step 2
dennis release --type hotfix --user yannispanousis
```

**Please Note:** `dennis` doesn't validate that this provided branch is based off master (which it should be, for hotfixes, according to GitFlow). So you must carefully inspect the release PR you will be creating and make sure there are no unwanted changes.

## Extras

- You'll be happy to hear that `dennis` acts in an idempotent fashion, so he'll try to pick up where he left off if there was a partial failure previously, for whatever reason
- `dennis` does allow to override the version number and source branch from which the release is created, e.g.:

```
dennis prepare --version v53.69.999 --branch feature/please-avoid-this-dangerous-workflow
```

# PyPI Update

Having followed this [guide](http://peterdowns.com/posts/first-time-with-pypi.html)

## Test

```
python setup.py sdist upload -r pypitest
```

## Real

```
python setup.py sdist upload -r pypi
```

Project details


Release history Release notifications

Download files

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

Files for GitflowDennis, version 0.10.2
Filename, size File type Python version Upload date Hashes
Filename, size GitflowDennis-0.10.2.tar.gz (9.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page