Skip to content

build for ARM and x86 #9

build for ARM and x86

build for ARM and x86 #9

Workflow file for this run

# 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 }}