Skip to content

Build backend release #6

Build backend release

Build backend release #6

name: Build backend release
on: [workflow_dispatch]
jobs:
release:
name: Create docker release
runs-on: ubuntu-latest
steps:
- name: Git checkout to main branch # Releases are published on main branch
uses: actions/checkout@v4
with: { ref: test }
- name: Install Java and Maven
uses: actions/setup-java@v3
with:
java-version: "17"
distribution: "temurin"
cache: "maven"
- name: Clean Maven Project Version
id: set-version
run: |
current_version=$(mvn help:evaluate -f mobidam-sst-management-backend/pom.xml -Dexpression=project.version -q -DforceStdout)
echo "Current version: $current_version"
new_version=$(echo $current_version | sed 's/-SNAPSHOT//')
echo "New version: $new_version"
mvn -B versions:set -f mobidam-sst-management-backend/pom.xml -DnewVersion=$new_version
git config --global user.email "github-actions@github.com"
git config --global user.name "GitHub Actions"
git add mobidam-sst-management-backend/pom.xml
git commit -m "Bump backend main version to $new_version"
git push
echo "new_version=$new_version" >> $GITHUB_OUTPUT
- name: Build with Maven
run: mvn -B verify -f mobidam-sst-management-backend/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_KEY }}
- name: Build and push app
uses: docker/build-push-action@v4
with:
context: ./mobidam-sst-management-backend
push: true
tags: itatm/mobidam:mobidam-sst-management-backend-${{ steps.set-version.outputs.new_version }}, itatm/mobidam:mobidam-sst-management-backend-demo
github-release:
needs: release
name: Create github release
runs-on: ubuntu-latest
steps:
- name: Git checkout to main branch # Releases are published on main branch
uses: actions/checkout@v4
with: { ref: test }
- name: Get New Project Version
id: get-version
run: |
current_version=$(mvn help:evaluate -f mobidam-sst-management-backend/pom.xml -Dexpression=project.version -q -DforceStdout)
new_version=$(echo $current_version | sed 's/-SNAPSHOT//')
echo "New version: $new_version"
echo "new_version=$new_version" >> $GITHUB_OUTPUT
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: backend-${{ steps.get-version.outputs.new_version }}
release_name: Release Backend ${{ steps.get-version.outputs.new_version }}
draft: false
prerelease: false
increase-snapshot:
runs-on: ubuntu-latest
steps:
- name: Git checkout to sprint branch # Snapshots are published on sprint branch
uses: actions/checkout@v4
with: { ref: 142_DeploymentPipelines }
- name: Set Maven Project Version
id: set-version
run: |
current_version=$(mvn help:evaluate -f mobidam-sst-management-backend/pom.xml -Dexpression=project.version -q -DforceStdout)
echo "Current version: $current_version"
new_version=$(echo $current_version | awk -F. -v OFS=. '{$3=$3+1; print $0"-SNAPSHOT"}')
echo "New version: $new_version"
mvn -B versions:set -DnewVersion=$new_version -f mobidam-sst-management-backend/pom.xml
git config --global user.email "github-actions@github.com"
git config --global user.name "GitHub Actions"
git add mobidam-sst-management-backend/pom.xml
git commit -m "Bump backend version to $new_version"
git push