diff --git a/.github/workflows/autoversion.yml b/.github/workflows/autoversion.yml new file mode 100644 index 0000000..ef895ef --- /dev/null +++ b/.github/workflows/autoversion.yml @@ -0,0 +1,47 @@ +name: Auto-Version new contributions to Flyway Community DB Support + +on: + pull_request: + branches: + - main + types: + - closed +jobs: + auto-version: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - name: Checkout Flyway Community DB Support + uses: actions/checkout@v4 + with: + ref: main + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: 17 + distribution: 'temurin' + cache: 'maven' + - name: Check for new module + id: check_module + run: | + git fetch origin ${{ github.event.pull_request.head.ref }} + if git diff --name-only FETCH_HEAD..HEAD -- '*/pom.xml' | grep pom.xml; then + echo "::set-output name=NEW_MODULE::true" + else + echo "::set-output name=NEW_MODULE::false" + fi + - name: Update version + run: | + if ${{ steps.check_module.outputs.NEW_MODULE }}; then + NEW_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout | awk -F'[.-]' '{print $1"."$2+1".0"}') + else + NEW_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout | awk -F'[.-]' '{print $1"."$2"."$3+1}') + fi + mvn versions:set -DnewVersion=$NEW_VERSION + git commit -am "Bump Flyway Community DB Support to $NEW_VERSION" + - name: Tag and Push + run: | + git tag -a $NEW_VERSION -m "Flyway Community DB Support $NEW_VERSION" + git push origin main --tags + + diff --git a/pom.xml b/pom.xml index f33234f..dfd3248 100644 --- a/pom.xml +++ b/pom.xml @@ -41,7 +41,7 @@ - 10.12.0 + 10.13.0