AniTrend/anitrend-v2

Improve admin related tasks for the repository and pipelines

wax911 opened this issue · 0 comments

AniTrend Issue Guidelines

Before opening a new issue, please take a moment to review our community guidelines to make the contribution process easy and effective for everyone involved.

You may find an answer in already closed issues:
https://github.com/AniTrend/anitrend-v2/issues?q=is%3Aissue+is%3Aclosed

Feature Information

  • Add more issue templates for enhancement requests
  • Auto assign labels for issues
  • Add version.properties file to manage version bumps
  • Explore option for allow auto merge for version PRs upon all checks passing
  • Add more spotless license files for multiple file formats
  • Update workflows to assure that all the above works as intended

If possible:
An experimental feature for analytic purposes, we would like to generate builds with smarter versioning tags. The channel name will be retrieved from the current branch while the identifier will be the commit id.

e.g. feature/* will be alpha release names while develop be beta & master will have no identifier and represents a stable channel

Solution Information

Example: v2.0.0-beta.fra446e -> v{versionName}-{channel}.{commit}

See current implementation:

/**
* **RR**_X.Y.Z_
* > **RR** reserved for build flavours and **X.Y.Z** follow the [versionName] convention
*/
const val versionCode = major.times(1_000_000_000) +
minor.times(1_000_000) +
patch.times(1_000) +
candidate
/**
* Naming schema: X.Y.Z-variant##
* > **X**(Major).**Y**(Minor).**Z**(Patch)
*/
val versionName = if (candidate > 0)
"$major.$minor.$patch-$channel${candidate.toVersion()}"
else
"$major.$minor.$patch"

Additional Context

Consider using https://github.com/swiftzer/semver for version name management in buildSrc