Context
The unstable release workflow (.github/workflows/unstable-release.yaml) previously computed the version automatically by reading the latest version from main, incrementing the patch number, and appending an -unstable.N suffix. This caused problems:
- The version in
info.xml on development was overwritten by the workflow
- Developers had no control over the release version
- Bumping to a specific version (e.g.
0.1.138) was impossible because the workflow would overwrite it
Current Quick Fix
As a temporary fix (commit d2b8542), the workflow now simply reads the version from info.xml as-is. This gives developers control but means:
- No automatic version incrementing
- No unstable suffix appended
- Developers must manually bump the version in
info.xml before pushing to development
Desired Behavior
Design a proper versioning strategy that:
- Respects the version set in
info.xml as the base version
- Optionally appends an unstable/pre-release suffix for development builds
- Does NOT overwrite
info.xml in the repository (no automated commits back)
- Works cleanly with the Nextcloud app store (nightly flag)
- Considers how
main (stable) and development (unstable) releases should be numbered
Options to Consider
- Option A: Keep current behavior (manual version in info.xml, no suffix)
- Option B: Read version from info.xml, append
-dev.{run_number} for the release tag only (don't modify info.xml)
- Option C: Use conventional commits / semantic versioning to auto-determine version bumps
- Option D: Hybrid - read base from info.xml, auto-append build metadata
Priority
Low - current quick fix works for day-to-day development. This is a quality-of-life improvement.
Context
The unstable release workflow (
.github/workflows/unstable-release.yaml) previously computed the version automatically by reading the latest version frommain, incrementing the patch number, and appending an-unstable.Nsuffix. This caused problems:info.xmlondevelopmentwas overwritten by the workflow0.1.138) was impossible because the workflow would overwrite itCurrent Quick Fix
As a temporary fix (commit d2b8542), the workflow now simply reads the version from
info.xmlas-is. This gives developers control but means:info.xmlbefore pushing todevelopmentDesired Behavior
Design a proper versioning strategy that:
info.xmlas the base versioninfo.xmlin the repository (no automated commits back)main(stable) anddevelopment(unstable) releases should be numberedOptions to Consider
-dev.{run_number}for the release tag only (don't modify info.xml)Priority
Low - current quick fix works for day-to-day development. This is a quality-of-life improvement.