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 Quarkus Native Image and Push to Docker Hub | |
on: | |
push: | |
branches: | |
- master | |
workflow_dispatch: # Allows manual trigger of the workflow | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
# Checkout the repository | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
# Set up Java (GraalVM) and Maven | |
- name: Set up Java 17 and Maven | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' # Alternatively, you can use 'graalvm' if you want GraalVM JDK for Java 17 | |
java-version: '17' | |
# Set up Docker Buildx (required for multi-platform builds) | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
# Log in to Docker Hub | |
- name: Log in to Docker Hub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
# Build Quarkus Native Image | |
- name: Build Quarkus Native Image | |
run: | | |
mvn clean package -Pnative -Dquarkus.native.container-build=true -Dquarkus.native.native-image-xmx=6G | |
# Build and Push Docker Image | |
- name: Build and push Docker image | |
run: | | |
docker buildx build --platform linux/amd64 -f src/main/docker/Dockerfile.native-micro -t r0ufif0u/metaflux:promofacie-verifier . --push |