build for ARM and x86 #9
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
# This workflow uses actions that are not certified by GitHub. | |
# They are provided by a third-party and are governed by | |
# separate terms of service, privacy policy, and support | |
# documentation. | |
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle | |
name: Build Spring App with Gradle and create a container image | |
on: | |
push: | |
branches: [ "master" ] | |
pull_request: | |
branches: [ "master" ] | |
permissions: | |
contents: read | |
jobs: | |
build-jar: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Setup Gradle for building | |
uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 | |
- name: Build Aries Spring Boot Jar | |
run: | | |
chmod +x ./gradlew | |
./gradlew bootJar | |
- name: Move the Jar File | |
run: mv build/libs/$(ls build/libs) aries-backend.jar | |
- uses: actions/upload-artifact@master | |
with: | |
name: Aries Backend Jar | |
path: aries-backend.jar | |
build-docker-image: | |
runs-on: ubuntu-latest | |
needs: build-jar | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/download-artifact@master | |
with: | |
name: Aries Backend Jar | |
path: aries-backend.jar | |
- name: Setup QEMU for Multi-Arch | |
uses: docker/setup-qemu-action@v2 | |
- name: Setup Docker BuildX | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to Docker Hub to push image | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- name: Set current date for image building | |
run: echo "DATE=$(date +%s)" >> $GITHUB_ENV | |
- name: Build Docker Image and push | |
uses: docker/build-push-action@v3 | |
with: | |
context: . | |
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8 | |
push: true | |
tags: niklashaiden/aries-backend:master-${{ env.DATE }} |