From 00ef51ca8d783fcc09afd28f5fbc7529f961d350 Mon Sep 17 00:00:00 2001 From: Carlos Monastyrski Date: Thu, 11 Sep 2025 16:11:54 -0300 Subject: [PATCH] Improve nightly releases logic to follow industry standard --- .github/workflows/nightly-tag-generation.yml | 17 ++++++++++++++--- docs/self-hosting/guides/releases.mdx | 4 +++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.github/workflows/nightly-tag-generation.yml b/.github/workflows/nightly-tag-generation.yml index 0a4eb3d97..b2704f96c 100644 --- a/.github/workflows/nightly-tag-generation.yml +++ b/.github/workflows/nightly-tag-generation.yml @@ -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" diff --git a/docs/self-hosting/guides/releases.mdx b/docs/self-hosting/guides/releases.mdx index d85da1a78..d1788f8bc 100644 --- a/docs/self-hosting/guides/releases.mdx +++ b/docs/self-hosting/guides/releases.mdx @@ -19,7 +19,8 @@ Infisical provides two distinct release channels with different update frequenci - **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)