Build frontend release #6
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: 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 |