Skip to content

Build frontend release #6

Build frontend release

Build frontend release #6

name: Build frontend 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: main }
- 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-frontend/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-frontend/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-frontend/pom.xml
git commit -m "Bump frontend 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-frontend/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 Regsitry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract Docker metadata
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ github.repository }}-frontend
- name: Build and push app
uses: docker/build-push-action@v4
with:
context: ./mobidam-sst-management-frontend
push: true
tags: ghcr.io/it-at-m/mobidam-sst-management-frontend:${{ steps.set-version.outputs.new_version }}
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: main }
- name: Get New Project Version
id: get-version
run: |
current_version=$(mvn help:evaluate -f mobidam-sst-management-frontend/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: frontend-${{ steps.get-version.outputs.new_version }}
release_name: Release Frontend ${{ steps.get-version.outputs.new_version }}
draft: false
prerelease: false
increase-snapshot:
needs: release
name: Increase patch-number of the SNAPSHOT-Version
runs-on: ubuntu-latest
steps:
- name: Git checkout to sprint branch # Snapshots are published on sprint branch
uses: actions/checkout@v4
with: { ref: sprint }
- name: Set Maven Project Version
id: set-version
run: |
current_version=$(mvn help:evaluate -f mobidam-sst-management-frontend/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-frontend/pom.xml
git config --global user.email "github-actions@github.com"
git config --global user.name "GitHub Actions"
git add mobidam-sst-management-frontend/pom.xml
git commit -m "Bump frontend version to $new_version"
git push