mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-11-09 11:09:00 +00:00
4.3 KiB
4.3 KiB
layout, title, description, date, sidebar, comments, sharing, footer
| layout | title | description | date | sidebar | comments | sharing | footer |
|---|---|---|---|---|---|---|---|
| page | Releasing | Steps involved publishing a new Home Assistant release. | 2016-07-13 17:00 | true | false | true | true |
This page describes the steps for publishing a new Home Assistant release. Those steps requires that you don't use forks but work with the repositories themself. The hass-release script is a helper to do a release.
{% linkable_title Release preparation (3 days before release) %}
{% linkable_title GitHub %}
- Merge
masterintodevto make the PR mergeable. - Cut a release branch from
dev. Example namerelease-0-57. - Create a pull request from the release branch to
masterwith the upcoming release number as the title. - Update
homeassistant/const.pywith the correct version number (remove thedevtag) and push that commit to release branch.
{% linkable_title Website %}
- Merge
currentintonext - Cut release branch of
next. For examplerelease-0-57. - Open a PR from release branch to
currentwith the upcoming release number as the title.
{% linkable_title Release day %}
From creating the release branch till it has been merged, we tag bugfixes with the milestone for the release (create if doesn't exist).
{% linkable_title GitHub %}
- Cherry-pick the milestoned PRs that need to get into the release
python3 -m hassrelease milestone_cherry_pick 0.57 - Run
python3 -m hassrelease release_notes 0.56for the release notes. - Once the release notes has been generated, issue
python3 -m hassrelease milestone_close 0.56 - Merge pull request (DO NOT SQUASH!). Use
Merge pull request. - Go to releases, click
Draft a new releaseand tag a new release on themasterbranch. "Tag version" and "Release title" are the version number (O.xfor major version,0.x.yfor minor and bug fix releases). Release description is the text from PR. Press "Publish release" to finish the process. - Merge
masterintodev. - Update
homeassistant/const.pywith the upcoming version number (including thedevtag) and push that commit to thedevbranch.
{% linkable_title Website %}
- Create a blog post in the release branch and base it on the text of the PR in the main repository. Add images, additional text, links, etc. if it adds value. Tag each platform/component in a message to documentation.
- Create missing documentation as stubs.
- Run
credits_generator. - Update
_config.ymlwith a link to the new release blog post and version number (at the bottom of the file). - Merge
currentinto release branch ($ git checkout release-0-40 && git merge current) to make the PR mergeable. - Merge pull request (blog post, updated frontpage, and all new documentation) to
current. DO NOT SQUASH! - Merge
currentintonext.
{% linkable_title Docker Hub %}
Tags on Docker hub are automatically created when a release has been created on GitHub.
{% linkable_title Python Package Index %}
Checkout the master branch and run script/release to publish the new release on Python Package Index.
{% linkable_title Social media %}
- Use hootsuite to publish a link to the release post on social media.
{% linkable_title Bugfix Release %}
- Checkout
masterand update it.git checkout master && git pull --rebase - Create a new release branch from
master.git checkout -b release-0-56-2 - Cherry-pick the PRs which were milestoned.
- Update
homeassistant/const.pywith the correct version number (incrementPATCH_VERSION) and push that commit to release branch. - Create a pull request from the release branch to
masterwith the upcoming release number as the title. - Merge pull request (DO NOT SQUASH!). Use
Merge pull request. - Go to releases, click
Draft a new releaseand tag a new release on themasterbranch. "Tag version" and "Release title" are the version number (O.xfor major version,0.x.yfor minor and bug fix releases). Release description is the text from PR. Press "Publish release" to finish the process. - Publish the new release on PyPI.