Create New Stable Branch #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Create New Stable Branch | |
on: | |
workflow_dispatch: | |
jobs: | |
build: | |
name: Create new branch | |
env: | |
ENVIRONMENT: CI | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'adopt' | |
java-version: 17 | |
- name: install yq | |
run: wget https://github.com/mikefarah/yq/releases/download/v4.2.0/yq_linux_amd64 -O ~/yq && chmod +x ~/yq | |
- name: Maven Version | |
run: mvn --version | |
# Retrieve current version from the root pom | |
- name: Get version | |
run: | | |
PROJECT_VERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:3.4.0:evaluate -Dexpression=project.version -q -DforceStdout) | |
echo PROJECT_VERSION=${PROJECT_VERSION} >> $GITHUB_ENV | |
echo CUR_VERSION=$(echo ${PROJECT_VERSION} | awk -F'.' '{print $1"."$2+0"."$3}' | sed s/[.]$//) >> $GITHUB_ENV | |
echo NEXT_VERSION=$(echo ${PROJECT_VERSION} | awk -F'.' '{print $1"."$2+1"."$3}' | sed s/[.]$//) >> $GITHUB_ENV | |
- name: Create branch ${{ env.CUR_VERSION }} | |
run: git branch ${{ env.CUR_VERSION }} master | |
- name: Bump next version ${{ env.NEXT_VERSION }}-SNAPSHOT | |
run: mvn versions:set -DnewVersion=${{ env.NEXT_VERSION }}-SNAPSHOT | |
- name: Set major version ${{ env.NEXT_VERSION }} | |
run: mvn versions:set-property -Dproperty=major-version -DnewVersion=${{ env.NEXT_VERSION }} | |
- name: Update main workflow | |
run: ~/yq -i e '.on.push.branches |= [ "master", '${{ env.NEXT_VERSION }}' ]' .github/workflows/main.yml | |
- name: Update Notify clients workflow | |
run: ~/yq -i e '.on.push.branches |= [ "master", '${{ env.NEXT_VERSION }}' ]' .github/workflows/notify-clients.yml | |
- name: Commit main branch changes | |
run: | | |
git config --global user.name "${{ env.CI_COMMIT_AUTHOR }}" | |
git config --global user.email "username@users.noreply.github.com" | |
git commit -a -m "Next is ${{ env.NEXT_VERSION }}" | |
# - name: push branches | |
# run: | | |
# git push master | |
# git push ${{ env.CUR_VERSION }} |