From a025c3f0ab546750a5da0ab9edab0f637a184b04 Mon Sep 17 00:00:00 2001 From: Steve Boyd Date: Tue, 20 Feb 2024 18:40:00 +1300 Subject: [PATCH] ENH Handle CMS 6 branches --- action.yml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/action.yml b/action.yml index f446f17..7c0fec7 100644 --- a/action.yml +++ b/action.yml @@ -21,8 +21,8 @@ runs: date_part=$(date +%H) fi if (( $date_part % 2 == 1 )); then - # latest major, next-minor e.g. "5" - type=latest,next-minor + # current major, next-minor e.g. "5" + type=current,next-minor else # previous major, next-patch e.g. "4.13" type=previous,next-patch @@ -53,18 +53,28 @@ runs: major_branches=$(jq -r '.[] | select(.name | test("^[0-9]+$")) | .name' __branches.json | sort -V -r) # "major_branches" needs to be quoted to preserve line-breaks major_branches_count=$(echo "$major_branches" | wc -l) - if [[ $major_type == "latest" ]]; then + if [[ $major_type == "current" ]]; then if (( $major_branches_count < 1 )); then echo "No major branches found" exit 1 fi major_branch=$(echo "$major_branches" | head -1) + if (( $major_branches_count >= 2 )); then + # There are currently CMS 6 dev branches e.g. 6.x-dev, but no CMS 6 releases yet + # Assume that the 2nd major branch is the current major branch + major_branch=$(echo "$major_branches" | head -2 | tail -1) + fi elif [[ $major_type == "previous" ]]; then if (( $major_branches_count < 2 )); then echo "Only one major branch found, not running CI on this cycle - will run on next cycle" exit 0 fi major_branch=$(echo "$major_branches" | head -2 | tail -1) + if (( $major_branches_count >= 2 )); then + # There are currently CMS 6 dev branches e.g. 6.x-dev, but no CMS 6 releases yet + # Assume that the 3rd major branch is the previous major branch + major_branch=$(echo "$major_branches" | head -3 | tail -1)) + fi fi if [[ $minor_type == "next-patch" ]]; then # not escaping rx . as \. because jq will say it is a compile error