Skip to content

Commit

Permalink
Merge pull request #363 from freakboy3742/v0.3-release
Browse files Browse the repository at this point in the history
Updates for v0.3 release
  • Loading branch information
freakboy3742 committed Apr 18, 2020
2 parents 9c1ed00 + d9f18d5 commit e406672
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 26 deletions.
3 changes: 2 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,9 @@ application. You can package projects for:
* Windows
* Linux
* iPhone/iPad
* Android

Support for Android, AppleTV, watchOS, wearOS and web deployments is planned.
Support for AppleTV, watchOS, wearOS and web deployments is planned.

If you want to see Briefcase in action, try the `BeeWare tutorial
<https://beeware.readthedocs.io>`__. That tutorial walks you through the
Expand Down
1 change: 0 additions & 1 deletion changes/266.feature

This file was deleted.

8 changes: 8 additions & 0 deletions docs/background/releases.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ Release History

.. towncrier release notes start
0.3.0 (2020-04-18)
==================
Features
--------

* Converted Briefcase to be a PEP518 tool, rather than a setuptools extension. (#266)


0.2.10
======

Expand Down
49 changes: 26 additions & 23 deletions docs/how-to/internal/release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,22 @@
How to cut a Briefcase release
==============================

The release infrastructure for Briefcase is semi-automated, using Github
The release infrastructure for Briefcase is semi-automated, using GitHub
Actions to formally publish releases.

This guide assumes that you have an ``upstream`` remote configured on your
local clone of the Briefcase repository, pointing at the official repository.
It also assumes that you have a local ``release`` branch that tracks
``upstream/master``.
If all you have is a checkout of a personal fork of the Briefcase repository,
you can configure that checkout by running::

You should have a checkout of a personal fork of the Briefcase repository; to
configure this fork for a release, run::

$ git remote add upstream git@github.com:beeware/briefcase.git
$ git clone upstream/master release
$ git remote add upstream https://github.com/beeware/briefcase.git

The procedure for cutting a new release is as follows:

1. Refresh your release branch::
1. Check the contents of the upstream repository's master branch::

$ git checkout release
$ git fetch upstream
$ git pull
$ git checkout --detach upstream/master

Check that the HEAD of release now matches upstream/master.

Expand All @@ -32,33 +27,41 @@ The procedure for cutting a new release is as follows:

2. The release notes are up to date. If they are, the `changes
<https://github.com/beeware/briefcase/tree/master/changes>`__ directory
should be empty, except for the template.rst. If it isn't empty,
run::
should be empty, except for the ``template.rst`` file.

These two changes (the version bump and release notes update) should go
through the normal pull request and review process. They should generally
comprise the last PR merged before the release occurs.

If the version number *hasn't* been updated, or ``changes`` directory
*isn't* empty, you need to create a PR (using the normal development
process) that contains these changes. Run::

$ towncrier --draft
$ tox -e towncrier -- --draft

to review the release notes, and then::
to review the release notes that will be included, and then::

$ towncrier
$ tox -e towncrier

to generate the updated release notes.
to generate the updated release notes. Submit the PR; once it's been
reviewed and merged, you can restart the release process from step 1.

3. Tag the release, and push the tag upstream::

$ git tag v1.2.3
$ git push upstream --tags
$ git push upstream v1.2.3

4. Pushing the tag will start a workflow to create a draft release on Github.
You can `follow the progress of the workflow on Github
4. Pushing the tag will start a workflow to create a draft release on GitHub.
You can `follow the progress of the workflow on GitHub
<https://github.com/beeware/briefcase/actions?query=workflow%3A%22Create+Release%22>`__;
once the workflow completes, there should be a new `draft release
<https://github.com/beeware/briefcase/releases>`__.

5. Edit the Github release. Add release notes (you can use the text generated
5. Edit the GitHub release. Add release notes (you can use the text generated
by towncrier). Check the pre-release checkbox (if necessary).

6. Double check everything, then click Publish. This will trigger a
`publication workflow on Github
`publication workflow on GitHub
<https://github.com/beeware/briefcase/actions?query=workflow%3A%22Upload+Python+Package%22>`__.

7. Wait for the `package to appear on PyPI
Expand All @@ -67,6 +70,6 @@ The procedure for cutting a new release is as follows:
Congratulations, you've just published a release!

If anything went wrong during steps 3 or 5, you will need to delete the draft
release from Github, and push an updated tag. Once the release has successfully
release from GitHub, and push an updated tag. Once the release has successfully
appeared on PyPI, it cannot be changed; if you spot a problem in a published
package, you'll need to tag a completely new release.
2 changes: 1 addition & 1 deletion src/briefcase/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@
# __version__ = '1.2.3' # Final Release
# __version__ = '1.2.3.post1' # Post Release 1

__version__ = '0.3.0.dev8'
__version__ = '0.3.0'

0 comments on commit e406672

Please sign in to comment.