Skip to content

Latest commit

 

History

History
80 lines (57 loc) · 3.27 KB

RELEASING.md

File metadata and controls

80 lines (57 loc) · 3.27 KB

Making a release

Table of contents

  1. Checking bugs and technical debt
  2. Updating application version
  3. Building release apk
  4. Distributing release

1 - Checking bugs and technical debt

Lint checks

Android development tool provide linter to check common errors.
Use ./gradlew :app:lint to run the linter and produce report. It will generate an HTML (human readable) file at app/build/reports/lint-results.html.
So before making a release, ensure no new warning has been introduced.

SonarCloud analysis

The AdAway application source code is monitored by SonarCloud.
The current version of the source code is analysed to find bugs, code smells and compute technical debt. The overall score may be not perfect, each new release should not increase it.
So before making a release, ensure that no new bug or debt has been introduced.

2 - Updating application version

Each version has each own version number. It follows the Semantic Versioning principle (once the first 4.x.y stable release is published).
It must be declared a 3 different locations:

  • The version name android.defaultConfig.versionName in src/app/build.gradle: '4.1.2', '5.12.3'
  • The version code android.defaultConfig.versionCode in src/app/build.gradle: 41020, 51203
  • The version name for SonarCloud sonarqube.properties.property.sonar.projectVersion in src/build.gradle: same as version name

3 - Updating the changelog

The AdAway project provides a global changelog.
Before releasing any new version, be sure to update the changelog to let users know what is inside each new version.

4 - Building release APK

The release apk must be built with release flavor (not debug). Check contributing guide for building instructions.
The apk name follows the following format: AdAway-<version_name>-<yymmdd>.apk. Example: AdAway-4.0.8-180822.apk for the version 4.0.8 built the 08/22/18.

5 - Distributing release

Before sharing the any release, remember to test it. Release variant apk does not behave like debug variant. Same goes for real device versus emulator.
Final test should be done with release apk variant on real device.

Once tested, releases are posted on XDA development thread using the following template:

Hi all,

<welcoming message about the new version>

[U][SIZE="4"]Changelog:[/SIZE][/U]
[LIST]
[*] Item 1
[*] Item 2
[*] ...
[*] Item n
[/LIST]

[U][SIZE="4"]Thanks:[/SIZE][/U]

Special thanks to <contributors> for theirs contributions and <bug reporters> for theirs helpful bug reports.

[U][SIZE="4"]Download:[/SIZE][/U]

[URL="https://www.androidfilehost.com/?fid=<version file id>"]AdAway <application version> on AndroidFileHost[/URL] (md5: <apk file md5>)

Beta releases

The beta releases only announced in the XDA development thread.

Stable releases

The stable releases are distributed through F-Droid store and posted of the first post of XDA development thread. To publish the application in F-Droid store, add a tag using vX.Y.Z format on GitHub repository.