|
33 | 33 | # Extracting version type (major/minor/patch) from commit message or PR title
|
34 | 34 | if [[ "$GITHUB_REF" == refs/heads/release/* ]]; then
|
35 | 35 | VERSION_TYPE="minor"
|
36 |
| - elif [[ "$GITHUB_REF" == refs/heads/main ]]; then |
| 36 | + # elif [[ "$GITHUB_REF" == refs/heads/main ]]; then |
| 37 | + # VERSION_TYPE="patch" |
| 38 | + else |
37 | 39 | VERSION_TYPE="patch"
|
38 | 40 | fi
|
| 41 | +
|
| 42 | + # Determine if a major version bump is needed (using a ceiling of 100 for minor version) |
| 43 | + CURRENT_VERSION=$(./gradlew -q printVersion) |
| 44 | + MINOR_VERSION=$(echo $CURRENT_VERSION | awk -F. '{print $2}') |
| 45 | + if [[ "$MINOR_VERSION" -ge 100 ]]; then |
| 46 | + VERSION_TYPE="major" |
| 47 | + fi |
| 48 | +
|
39 | 49 | # Bumping version accordingly using a custom script or Gradle task
|
40 | 50 | NEW_VERSION=$(./gradlew -q printVersion)
|
41 | 51 | ./gradlew bumpVersion -Ptype=$VERSION_TYPE
|
|
50 | 60 | git commit -am "Bump version to ${{ steps.determine_version.outputs.new_version }}"
|
51 | 61 | git push origin main
|
52 | 62 | working-directory: ./jvm-spring-web
|
| 63 | + |
| 64 | + - name: Generate Summary of Changes |
| 65 | + id: generate_summary |
| 66 | + run: | |
| 67 | + SUMMARY_FILE="change_summary.md" |
| 68 | + git log -1 --pretty=format:"%h - %s (%an)" >> $SUMMARY_FILE |
| 69 | + echo "Summary of changes updated in $SUMMARY_FILE" |
| 70 | + cat $SUMMARY_FILE |
| 71 | + working-directory: ./jvm-spring-web |
| 72 | + |
| 73 | + - name: Create Release Notes for Major Version |
| 74 | + if: ${{ steps.determine_version.outputs.new_version }} =~ '^\d+\.0\.0$' |
| 75 | + run: | |
| 76 | + RELEASE_NOTES_FILE="release_notes.md" |
| 77 | + RELEASE_NOTES="# Release Notes for version ${{ steps.determine_version.outputs.new_version }}\n\n$(cat change_summary.md)" |
| 78 | + echo -e "$RELEASE_NOTES" > $RELEASE_NOTES_FILE |
| 79 | + echo "Release notes created in $RELEASE_NOTES_FILE" |
| 80 | + cat $RELEASE_NOTES_FILE |
| 81 | + working-directory: ./jvm-spring-web |
0 commit comments