Markwon/release-management.md
2020-07-16 11:58:41 +03:00

42 lines
1.1 KiB
Markdown

# Release management
Development happens in the `master` branch. Although CI (via Github workflows) is triggered
with each push, all releases are happening in manual mode (stable and snapshot versions
of the library and the sample app).
```
# Stable and snapshot library release (depending on the version specified in `gradle.properties`)
./gradlew upA -Prelease
# Sample app release
./app-sample/deploy.sh
```
Tests must be run before releasing (either locally or via CI).
## `@since` annotation
All code changes should have a documentation comment with version of the library specified.
For changes before _stable_ release (snapshots) a special `$SNAPSHOT;` version can be used
(useful when the next version name of the library is still not known).
```java
/**
* @since $SNAPSHOT;
*/
// @since $SNAPSHOT;
```
These changes must also be placed in according section of the `CHANGELOG.md` file:
* `Added`
* `Changed`
* `Fixed`
* `Deprecated`
* `Removed`
Stable release must replace all `$SNAPSHOT;` occurrences with proper library version name.
## Documentation
If there are updates to documentation web site these should be published