crossplane-contrib / crossplane-contrib/crossview
[DEVOPS] Missing Semantic Versioning Control
- Dominant language
- JavaScript
- Stars
- 270
- Forks
- 44
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 8
Description
### Enforce Semantic Versioning (SemVer)
## Problem
Versioning is currently **not standardized** and lacks proper control.
There is no enforcement of Semantic Versioning rules (Major.Minor.Patch), which leads to:
- Inconsistent version formats across releases
- Invalid or non-semantic versions (e.g., `v1.0`, `version-2`, `1.2.3-beta`)
- Difficulty in tracking changes and compatibility
- Increased risk of human error during manual versioning
## Proposed Solution
Implement strict Semantic Versioning control with the following improvements:
1. **Enforce SemVer Pattern**
All versions must follow the standard format:
`vMAJOR.MINOR.PATCH`
Example: `v1.0.0`, `v2.3.1`, `v10.5.0`
2. **Add Validation Step**
Add a validation check in the release pipeline:
```bash
if [[ ! "$VERSION" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "❌ Error: Version must follow Semantic Versioning format (vMAJOR.MINOR.PATCH)"
exit 1
fi
Contributor guide
Research direction
Start by locating the release pipeline and the VERSION value used by it; the issue does not name a specific workflow file or test. Confirm how versions are currently produced, add the stated vMAJOR.MINOR.PATCH validation, and verify that valid releases pass while invalid formats stop the pipeline.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- ci-cd, devops, release
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100