|
31 | 31 | echo "tmp_version_branch=v4" >> "$GITHUB_ENV" |
32 | 32 | - if: ${{ startsWith(github.event.release.tag_name, 'v5.' ) }} |
33 | 33 | run: | |
34 | | - echo "Setting version_branch to main" |
35 | | - echo "tmp_version_branch=main" >> "$GITHUB_ENV" |
| 34 | + RELEASE_VERSION="${{ github.event.release.tag_name }}" |
| 35 | + RELEASE_VERSION="${RELEASE_VERSION#v}" |
| 36 | + RELEASE_MAJOR_MINOR=$(echo "$RELEASE_VERSION" | cut -d. -f1-2) |
| 37 | +
|
| 38 | + # getting this version from POM would require pulling the whole repo |
| 39 | + MAIN_POM_VERSION=$(curl -fsSL "https://raw.githubusercontent.com/${{ github.repository }}/main/pom.xml" | python3 -c " |
| 40 | + import xml.etree.ElementTree as ET, sys |
| 41 | + root = ET.parse(sys.stdin).getroot() |
| 42 | + ns = root.tag.split('}')[0].lstrip('{') if '}' in root.tag else '' |
| 43 | + tag = '{' + ns + '}version' if ns else 'version' |
| 44 | + v = root.find(tag) |
| 45 | + if v is None: |
| 46 | + sys.exit(1) |
| 47 | + print(v.text) |
| 48 | + ") |
| 49 | + if [ -z "$MAIN_POM_VERSION" ]; then |
| 50 | + echo "Failed to determine main branch POM version" |
| 51 | + exit 1 |
| 52 | + fi |
| 53 | + MAIN_MAJOR_MINOR=$(echo "$MAIN_POM_VERSION" | cut -d. -f1-2) |
| 54 | +
|
| 55 | + echo "Release tag major.minor: $RELEASE_MAJOR_MINOR" |
| 56 | + echo "Main branch major.minor: $MAIN_MAJOR_MINOR" |
| 57 | +
|
| 58 | + if [ "$RELEASE_MAJOR_MINOR" = "$MAIN_MAJOR_MINOR" ]; then |
| 59 | + echo "Setting version_branch to main" |
| 60 | + echo "tmp_version_branch=main" >> "$GITHUB_ENV" |
| 61 | + else |
| 62 | + echo "Setting version_branch to ${RELEASE_MAJOR_MINOR}.x" |
| 63 | + echo "tmp_version_branch=${RELEASE_MAJOR_MINOR}.x" >> "$GITHUB_ENV" |
| 64 | + fi |
36 | 65 | - if: ${{ env.tmp_version_branch == '' }} |
37 | 66 | name: Fail if version_branch is not set |
38 | 67 | run: | |
|
0 commit comments