|
169 | 169 | BETA_MAJOR=$(echo "${NEW_VERSION}" | cut -d. -f1) |
170 | 170 | BETA_MINOR=$(echo "${NEW_VERSION}" | cut -d. -f2) |
171 | 171 | BETA_PATCH=$(echo "${NEW_VERSION}" | cut -d. -f3 | cut -d- -f1) |
| 172 | +BETA_NUM=$(echo "${NEW_VERSION}" | sed 's/.*-beta\.//') |
172 | 173 |
|
173 | 174 | if [[ "${BRANCH}" == "main" ]]; then |
174 | | - # For main branch: compare against release-root tag |
175 | | - BETA_RELEASE_ROOT_TAG="release-root/${BETA_MAJOR}.${BETA_MINOR}.${BETA_PATCH}-beta.N" |
176 | | - |
177 | | - if git rev-parse "${BETA_RELEASE_ROOT_TAG}" >/dev/null 2>&1; then |
178 | | - echo "Release notes will compare from ${BETA_RELEASE_ROOT_TAG} to ${BETA_TAG}" |
179 | | - RELEASE_NOTES_FROM="${BETA_RELEASE_ROOT_TAG}" |
| 175 | + # For main branch: |
| 176 | + # - First beta (beta.1): compare against release-root tag (all changes since last RC) |
| 177 | + # - Subsequent betas (beta.2+): compare against previous beta tag (incremental changes) |
| 178 | + if [ "${BETA_NUM}" -eq 1 ]; then |
| 179 | + BETA_RELEASE_ROOT_TAG="release-root/${BETA_MAJOR}.${BETA_MINOR}.${BETA_PATCH}-beta.N" |
| 180 | + if git rev-parse "${BETA_RELEASE_ROOT_TAG}" >/dev/null 2>&1; then |
| 181 | + echo "First beta: release notes will compare from ${BETA_RELEASE_ROOT_TAG} to ${BETA_TAG}" |
| 182 | + RELEASE_NOTES_FROM="${BETA_RELEASE_ROOT_TAG}" |
| 183 | + else |
| 184 | + echo "Warning: Release root tag ${BETA_RELEASE_ROOT_TAG} not found" |
| 185 | + RELEASE_NOTES_FROM="" |
| 186 | + fi |
180 | 187 | else |
181 | | - echo "Warning: Release root tag ${BETA_RELEASE_ROOT_TAG} not found" |
182 | | - RELEASE_NOTES_FROM="" |
| 188 | + # For beta.2+, compare against previous beta |
| 189 | + PREV_BETA_NUM=$((BETA_NUM - 1)) |
| 190 | + PREV_BETA_TAG="${TAG_PREFIX}${BETA_MAJOR}.${BETA_MINOR}.${BETA_PATCH}-beta.${PREV_BETA_NUM}" |
| 191 | + if git rev-parse "${PREV_BETA_TAG}" >/dev/null 2>&1; then |
| 192 | + echo "Subsequent beta: release notes will compare from ${PREV_BETA_TAG} to ${BETA_TAG}" |
| 193 | + RELEASE_NOTES_FROM="${PREV_BETA_TAG}" |
| 194 | + else |
| 195 | + echo "Warning: Previous beta tag ${PREV_BETA_TAG} not found" |
| 196 | + RELEASE_NOTES_FROM="" |
| 197 | + fi |
183 | 198 | fi |
184 | 199 | elif [[ "${BRANCH}" =~ ^release/ ]]; then |
185 | 200 | # For release branch: compare against last stable tag |
|
0 commit comments