Skip to content

Commit

Permalink
Merge pull request #101 from facundobatista/release-0.3.0
Browse files Browse the repository at this point in the history
Release 0.3.0
  • Loading branch information
facundobatista authored Aug 6, 2020
2 parents 29894a6 + 8e61fb7 commit cb04b42
Show file tree
Hide file tree
Showing 2 changed files with 87 additions and 1 deletion.
86 changes: 86 additions & 0 deletions HOWTO_RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Steps

Release early, release often. Don't be lazy.


## Preparation

- update master and run tests

git fetch upstream
git merge upstream/master
source venv/bin/activate
./run_tests

- create a new release branch

git checkout -b release-0.3.0

- create release notes after all main changes from last tag

git log --first-parent master --decorate

- tag the release (using those release notes)

git tag -s 0.3.0


## Check all is ready

- build a tarball to test

rm -rf dist/
./setup.py sdist bdist_wheel

- try the tarball

mkdir /tmp/testrelease
cp dist/charmcraft-0.3.0.tar.gz /tmp/testrelease/
cd /tmp/testrelease/
tar -xf charmcraft-0.3.0.tar.gz
cd ~ # wherever out of the project, to avoid any potential "file mispicking"
fades -v -d file:///tmp/testrelease/charmcraft-0.3.0/ -x charmcraft version

- back in the project, build all the snaps for different architectures

snapcraft remote-build

- try the snap (for your arch)

sudo snap install --dangerous charmcraft_0.3.0_amd64.snap
cd ~ # wherever out of the project, to avoid any potential "file mispicking"
charmcraft version


## Release

- push the tags to upstream

git push --tags upstream

- release in Github

xdg-open https://github.com/canonical/charmcraft/tags
(you should see all project tags, the top one should be this release's one)
In the menu at right of the tag tag you just created, choose 'create release'
Copy the release notes into the release description
Attach the `dist/` files
Click on "Publish release"

- release to PyPI

fades -d twine -x twine upload --verbose dist/*

- release to Snap Store (for all the archs)

snapcraft push charmcraft_0.3.0_amd64.snap --release=beta
snapcraft push charmcraft_0.3.0_s390x.snap --release=beta
...

## Final details

- update IRC channel topic

- finally change the version number in `charmcraft/version.py`

- commit, push, create a PR for the branch
2 changes: 1 addition & 1 deletion charmcraft/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

__all__ = ('version',)

_FALLBACK = '0.2' # this gets bumped after release
_FALLBACK = '0.3.0' # this gets bumped after release


def _get_version():
Expand Down

0 comments on commit cb04b42

Please sign in to comment.