Skip to content

Daily Build

Daily Build #109

Workflow file for this run

name: "Daily Build"
on:
workflow_dispatch:
schedule:
- cron: '30 2 * * *'
jobs:
linux-build-jvm-latest:
name: Linux JVM
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
java: [ 21 ]
profiles: [ "root-modules", "http-modules,security-modules,spring-modules", "hibernate-modules",
"sql-db-modules", "root-modules -pl build/podman/,build/docker -Dtest-ubi8-compatibility",
"messaging-modules,websockets-modules,monitoring-modules,cache-modules,test-tooling-modules,nosql-db-modules"]
steps:
- uses: actions/checkout@v5
- name: Reclaim Disk Space
run: .github/ci-prerequisites.sh
- name: Install JDK {{ matrix.java }}
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
check-latest: true
cache: 'maven'
- uses: ./.github/actions/prepare-quarkus-cli
- uses: ./.github/actions/use-docker-mirror
- name: Test in JVM mode
run: |
mvn -fae -V -B --no-transfer-progress -fae clean verify -P ${{ matrix.profiles }} -Dinclude.quarkus-cli-tests -Dts.quarkus.cli.cmd="${PWD}/quarkus-dev-cli"
- name: Zip Artifacts
if: failure()
run: |
zip -R artifacts-jvm${{ matrix.java }}.zip '*-reports/*'
- name: Archive artifacts
if: failure()
uses: actions/upload-artifact@v5
with:
name: artifacts-linux-jvm${{ matrix.java }}
path: artifacts-jvm${{ matrix.java }}.zip
linux-build-native-latest:
name: Linux Native
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
java: [ 17 ]
image: [ "ubi9-quarkus-mandrel-builder-image:jdk-21", "ubi-quarkus-mandrel-builder-image:jdk-21 -Dtest-ubi8-compatibility" ]
profiles: [ "root-modules,websockets-modules,test-tooling-modules,nosql-db-modules",
"http-modules,cache-modules", "security-modules,spring-modules",
"hibernate-modules", "sql-db-modules", "messaging-modules,monitoring-modules"]
steps:
- uses: actions/checkout@v5
- name: Reclaim Disk Space
run: .github/ci-prerequisites.sh
- name: Install JDK {{ matrix.java }}
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
check-latest: true
cache: 'maven'
- uses: ./.github/actions/prepare-quarkus-cli
- uses: ./.github/actions/use-docker-mirror
- name: Test in Native mode
run: |
mvn -fae -V -B --no-transfer-progress -P ${{ matrix.profiles }} -fae clean verify -Dnative \
-Dquarkus.native.builder-image=quay.io/quarkus/${{ matrix.image }} \
-Dinclude.quarkus-cli-tests -Dts.quarkus.cli.cmd="${PWD}/quarkus-dev-cli"
- name: Zip Artifacts
if: failure()
run: |
zip -R artifacts-native${{ matrix.java }}.zip '*-reports/*'
- name: Archive artifacts
if: failure()
uses: actions/upload-artifact@v5
with:
name: artifacts-linux-native${{ matrix.java }}
path: artifacts-native${{ matrix.java }}.zip
windows-build-jvm-latest:
name: Windows JVM
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
java: [ 21 ]
steps:
- uses: actions/checkout@v5
- name: Install JDK {{ matrix.java }}
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
check-latest: true
- name: Set up Maven settings.xml
run: Copy-Item -Path ".github/quarkus-snapshots-mvn-settings.xml" -Destination "$env:USERPROFILE/.m2/settings.xml"
- name: Download Quarkus CLI
shell: bash
run: mvn -B --no-transfer-progress org.apache.maven.plugins:maven-dependency-plugin:get -Dartifact=io.quarkus:quarkus-cli:999-SNAPSHOT:jar:runner
- name: Install Quarkus CLI
run: |
$quarkusCliFileContent = @"
@ECHO OFF
java -jar %HOMEDRIVE%%HOMEPATH%\.m2\repository\io\quarkus\quarkus-cli\999-SNAPSHOT\quarkus-cli-999-SNAPSHOT-runner.jar %*
"@
New-Item -Path "$(pwd)\quarkus-dev-cli.bat" -ItemType File
Set-Content -Path "$(pwd)\quarkus-dev-cli.bat" -Value $quarkusCliFileContent
./quarkus-dev-cli.bat version
- name: Build in JVM mode
shell: bash
run: |
# Need to set UTF-8 as otherwise the cp1252 is used on GH windows runner
# TODO revisit this with Windows 2025 when available or when we move testing to JDK 21+ only
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
mvn -B --no-transfer-progress -fae clean verify -D"all-modules" -D"include.quarkus-cli-tests" -D"ts.quarkus.cli.cmd=$(pwd)\quarkus-dev-cli.bat" -D"gh-action-disable-on-win"
- name: Zip Artifacts
shell: bash
if: failure()
run: |
# Disambiguate windows find from cygwin find
/usr/bin/find . -name '*-reports/*' -type d | tar -czf artifacts-latest-windows-jvm${{ matrix.java }}.tar -T -
- name: Archive artifacts
if: failure()
uses: actions/upload-artifact@v5
with:
name: artifacts-windows-jvm${{ matrix.java }}
path: artifacts-latest-windows-jvm${{ matrix.java }}.tar
windows-build-native-latest:
name: Windows Native
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
java: [ 17 ]
graalvm-version: [ "mandrel-latest" ]
graalvm-java-version: [ "21" ]
steps:
- uses: actions/checkout@v5
- name: Install JDK {{ matrix.java }}
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
check-latest: true
cache: 'maven'
- name: Setup GraalVM
id: setup-graalvm
uses: graalvm/setup-graalvm@v1
with:
version: ${{ matrix.graalvm-version }}
java-version: ${{ matrix.graalvm-java-version }}
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Configure Pagefile
# Increased the page-file size due to memory-consumption of native-image command
# For details see https://github.com/actions/virtual-environments/issues/785
uses: al-cheb/configure-pagefile-action@v1.4
- name: Build in Native mode
shell: bash
run: |
# Running only http/http-minimum as after some time, it gives disk full in Windows when running on Native.
mvn -B --no-transfer-progress -fae -s .github/mvn-settings.xml clean verify -Dall-modules -Dnative -Dquarkus.native.container-build=false -pl http/http-minimum
- name: Zip Artifacts
shell: bash
if: failure()
run: |
# Disambiguate windows find from cygwin find
/usr/bin/find . -name '*-reports/*' -type d | tar -czf artifacts-latest-windows-native${{ matrix.java }}.tar -T -
- name: Archive artifacts
if: failure()
uses: actions/upload-artifact@v5
with:
name: artifacts-latest-windows-native${{ matrix.java }}
path: artifacts-latest-windows-native${{ matrix.java }}.tar
aarch64-linux-build-jvm-latest:
name: Linux AArch64 JVM
runs-on: ubuntu-24.04-arm
strategy:
fail-fast: false
matrix:
java: [ 17, 21 ]
profiles: [ "root-modules", "http-modules,security-modules,spring-modules", "hibernate-modules",
"sql-db-modules", "root-modules -pl build/podman/,build/docker -Dtest-ubi8-compatibility",
"messaging-modules,websockets-modules,monitoring-modules,cache-modules,test-tooling-modules,nosql-db-modules"]
steps:
- uses: actions/checkout@v5
- name: Reclaim Disk Space
run: .github/ci-prerequisites.sh
- name: Install JDK {{ matrix.java }}
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
check-latest: true
cache: 'maven'
- uses: ./.github/actions/prepare-quarkus-cli
- uses: ./.github/actions/use-docker-mirror
- name: Login to Red Hat registry
uses: docker/login-action@v3
with:
registry: registry.redhat.io
username: ${{ secrets.RED_HAT_REGISTRY_USERNAME }}
password: ${{ secrets.RED_HAT_REGISTRY_PASSWORD }}
- name: Test in JVM mode
run: |
mvn -fae -V -B --no-transfer-progress -fae clean verify -Daarch64 -P ${{ matrix.profiles }} -Dinclude.quarkus-cli-tests -Dts.quarkus.cli.cmd="${PWD}/quarkus-dev-cli"
- name: Zip Artifacts
if: failure()
run: |
zip -R artifacts-linux-aarch64-jvm${{ matrix.java }}.zip '*-reports/*'
- name: Archive artifacts
if: failure()
uses: actions/upload-artifact@v5
with:
name: artifacts-linux-aarch64-jvm${{ matrix.java }}
path: artifacts-linux-aarch64-jvm${{ matrix.java }}.zip
aarch64-linux-build-native-latest:
name: Linux AArch64 Native
runs-on: ubuntu-24.04-arm
strategy:
fail-fast: false
matrix:
java: [ 17 ]
image: [ "ubi9-quarkus-mandrel-builder-image:jdk-21", "ubi-quarkus-mandrel-builder-image:jdk-21 -Dtest-ubi8-compatibility" ]
profiles: [ "root-modules,websockets-modules,test-tooling-modules,nosql-db-modules",
"http-modules,cache-modules", "security-modules,spring-modules",
"hibernate-modules", "sql-db-modules", "messaging-modules,monitoring-modules"]
steps:
- uses: actions/checkout@v5
- name: Reclaim Disk Space
run: .github/ci-prerequisites.sh
- name: Install JDK {{ matrix.java }}
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
check-latest: true
cache: 'maven'
- uses: ./.github/actions/prepare-quarkus-cli
- uses: ./.github/actions/use-docker-mirror
- name: Login to Red Hat registry
uses: docker/login-action@v3
with:
registry: registry.redhat.io
username: ${{ secrets.RED_HAT_REGISTRY_USERNAME }}
password: ${{ secrets.RED_HAT_REGISTRY_PASSWORD }}
- name: Test in Native mode
run: |
mvn -fae -V -B --no-transfer-progress -P ${{ matrix.profiles }} -fae clean verify -Daarch64 -Dnative \
-Dquarkus.native.builder-image=quay.io/quarkus/${{ matrix.image }} \
-Dinclude.quarkus-cli-tests -Dts.quarkus.cli.cmd="${PWD}/quarkus-dev-cli"
- name: Zip Artifacts
if: failure()
run: |
zip -R artifacts-linux-aarch64-native${{ matrix.java }}.zip '*-reports/*'
- name: Archive artifacts
if: failure()
uses: actions/upload-artifact@v5
with:
name: artifacts-linux-aarch64-native${{ matrix.java }}
path: artifacts-linux-aarch64-native${{ matrix.java }}.zip