Skip to main content
# 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
```

Metadata

Release files for GitflowDennis 0.10.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for GitflowDennis 0.10.2
File Size Uploaded
GitflowDennis-0.10.2.tar.gz 9.6 kB Details

Release files / GitflowDennis-0.10.2.tar.gz

Download URL GitflowDennis-0.10.2.tar.gz
Size 9.6 kB
Tags Source
SHA-256 checksum
How to use checksums
5c3cd924805a7d686511f99d4a4d111b0eca862e3c083a7d4297d43475bb170a
BLAKE2b-256 checksum
How to use checksums
d4c14d3ac2d001640679c355521d091f1b7635a2843538889a8351a19475fe50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.10.2 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page