-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
7 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,11 @@ | ||
# How to have a release | ||
|
||
The properties of a falter-release get defined by the `freifunk_release` file in the `falter-common` package *(packages/falter-common/files-common/etc/freifunk_release)*. This file controls parameters like the releases version number and the underlying OpenWrt version. All scripts and tools for building falter-releases get the information they need from that file. | ||
Releases are build with our [instance of buildbot](https://buildbot.berlin.freifunk.net/). | ||
|
||
For Falter-releases, we follow this workflow: | ||
1. Log in using your GitHub account. | ||
2. Select [Builds/Builders](https://buildbot.berlin.freifunk.net/#/builders) | ||
3. Select `builds/packages` or `builds/targets` depending on what you want to do. | ||
4. On the top right corner you can find buttons to start the corresponding actions. | ||
|
||
## Have a pre-release | ||
|
||
At first, we trigger the buildbot to build a pre-release. For this, you need to adjust the `freifunk_release` file in the falter-common package. Adjust the string in `FREIFUNK_RELEASE` to something like `1.2.5-rc1` or similar. In addition, you might need to adjust `FREIFUNK_OPENWRT_BASE` to a proper OpenWrt-release like `21.02.1`. Once you've pushed the commit, the buildbot should start building the release automatically (-> webhook). | ||
|
||
As testing every configuration can be quite time-consuming, we usally involve the community into that process. Just write a short mail to the mailing list asking for some testing. :) | ||
|
||
## Do the actual release | ||
|
||
When everything is ready, do the following: | ||
|
||
1. Create a commit with the new version number (like in pre-release) and push it to the repo. We use only stable OpenWrt-releases versions as release base. | ||
2. Then follow the instructions on the [github manual](https://docs.github.com/en/github/administering-a-repository/releasing-projects-on-github/managing-releases-in-a-repository#creating-a-release). If everything went right, the release should be based on the commit you've just pushed. | ||
|
||
## After a release | ||
|
||
This step is very important: You need to do another commit **after** the buildbot has start building and before merging other commits. Please wait at least 10 minutes before doing so, as buildbot waits that amount of time for new commits, before starting the build process. If you do it too early, buildbot won't build the release commit but only the commit reverting to snapshots. | ||
|
||
For the reversion to snapshot builds you need to adjust these variables in `freifunk_release` to values matching your situation. For example: | ||
|
||
```sh | ||
FREIFUNK_RELEASE='1.2.0-snapshot' | ||
FREIFUNK_OPENWRT_BASE='21.02-SNAPSHOT' | ||
``` | ||
|
||
If you don't do this, buildbot will just overwrite your precious release images once you've merged the next commit. That's because buildbot derives the destination-directory from the version. | ||
|
||
So please don't miss this step. | ||
## Beta Testing | ||
We always do a public pre-release for beta-testing within the community. When selecting the `Build Release`-Button simply name the falter release version accordingly e.g. `1.2.3-rc1` where `rc` stands for release candidate. |