Improve nightly releases logic to follow industry standard

This commit is contained in:
Carlos Monastyrski
2025-09-11 16:11:54 -03:00
parent b113eabeb7
commit 00ef51ca8d
2 changed files with 17 additions and 4 deletions

View File

@@ -36,11 +36,23 @@ jobs:
echo "Latest production tag: $LATEST_STABLE_TAG"
# Extract version numbers and increment minor version
VERSION_NUMBERS=$(echo "$LATEST_STABLE_TAG" | sed 's/^v//')
MAJOR=$(echo "$VERSION_NUMBERS" | cut -d'.' -f1)
MINOR=$(echo "$VERSION_NUMBERS" | cut -d'.' -f2)
PATCH=$(echo "$VERSION_NUMBERS" | cut -d'.' -f3)
# Increment minor version, reset patch to 0
NEXT_MINOR=$((MINOR + 1))
NEXT_VERSION="v${MAJOR}.${NEXT_MINOR}.0"
echo "Next version for nightly: $NEXT_VERSION"
# Get current date in YYYYMMDD format
DATE=$(date +%Y%m%d)
# Base nightly tag name
BASE_TAG="${LATEST_STABLE_TAG}-nightly-${DATE}"
# Base nightly tag name using next version
BASE_TAG="${NEXT_VERSION}-nightly-${DATE}"
# Check if this exact tag already exists
if git tag --list | grep -q "^${BASE_TAG}$"; then
@@ -65,7 +77,6 @@ jobs:
echo "Generated nightly tag: $NIGHTLY_TAG"
echo "NIGHTLY_TAG=$NIGHTLY_TAG" >> $GITHUB_ENV
echo "LATEST_PRODUCTION_TAG=$LATEST_STABLE_TAG" >> $GITHUB_ENV
git tag "$NIGHTLY_TAG"
git push origin "$NIGHTLY_TAG"

View File

@@ -19,7 +19,8 @@ Infisical provides two distinct release channels with different update frequenci
<Tabs>
<Tab title="Nightly Channel">
- **Update Frequency**: Daily builds during weekdays (Monday-Friday)
- **Version Tags**: `vX.Y.Z-nightly-YYYYMMDD` (e.g., `v0.146.0-nightly-20250423`)
- **Version Format**: `vX.Y.0-nightly-YYYYMMDD` where X.Y represents the next minor version increment from the latest stable release
- **Versioning Strategy**: Nightly releases target the next scheduled minor version by incrementing from the current stable release and resetting the patch version to zero
- **Multiple Daily Builds**: If multiple nightly builds are created on the same day, they are numbered incrementally: `vX.Y.Z-nightly-YYYYMMDD.1`, `vX.Y.Z-nightly-YYYYMMDD.2`, etc.
- **Stability**: Latest features with standard CI/CD testing
- **Release Process**: Built from main branch after all automated tests pass
@@ -31,6 +32,7 @@ Infisical provides two distinct release channels with different update frequenci
**Characteristics:**
- Access to latest features immediately
- Pre-release versions of upcoming stable releases
- Faster security patch delivery
- Higher update frequency (daily)
</Tab>