Skip to content

Daily Build - Aarch64 #36

Daily Build - Aarch64

Daily Build - Aarch64 #36

---
name: "Daily Build - Aarch64"
on:
schedule:
- cron: '0 4 * * *'
repository_dispatch:
workflow_dispatch:
jobs:
generate-json-matrix:
name: Tests - Read JSON matrix
runs-on: ubuntu-latest
if: github.repository == 'quarkusio/quarkus-quickstarts' || github.event_name == 'workflow_dispatch'
outputs:
matrix: ${{ steps.generate.outputs.matrix }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event_name == 'workflow_dispatch' && github.event.ref || 'development' }}
- id: generate
run: |
json=$(.github/generate-native-matrix.sh | tr -d '\n')
echo "matrix=${json}" >> $GITHUB_OUTPUT
build-with-native:
name: Linux - Native build
runs-on: ubuntu-24.04-arm
needs: [ generate-json-matrix ]
if: github.repository == 'quarkusio/quarkus-quickstarts' || github.event_name == 'workflow_dispatch'
outputs:
quarkus-sha: ${{ steps.build-quarkus.outputs.sha }}
project-sha: ${{ steps.project-sha.outputs.sha }}
strategy:
fail-fast: false
max-parallel: 3
matrix: ${{fromJson(needs.generate-json-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event_name == 'workflow_dispatch' && github.event.ref || 'development' }}
- name: Get current SHA
id: project-sha
run: |
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
- name: Reclaim Disk Space
run: .github/ci-prerequisites.sh
- name: Get Date
id: get-date
run: |
echo "date=$(/bin/date -u "+%Y-%m")" >> $GITHUB_OUTPUT
shell: bash
- name: Cache Maven Repository
id: cache-maven
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: q2maven-native-aarch64-${{ steps.get-date.outputs.date }}
- name: Install JDK 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
check-latest: true
cache: 'maven'
- name: Build Quarkus main
id: build-quarkus
run: |
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
git clone https://github.com/quarkusio/quarkus.git
cd quarkus
./mvnw -T1C -e -B --settings .github/mvn-settings.xml clean install -Dquickly-ci -Prelocations
- name: Test Quickstarts in Native mode
run: |
./mvnw -e -B --settings .github/mvn-settings.xml clean install --fail-at-end -Dnative -Dstart-containers \
-Dquarkus.native.container-build=true -am -pl "${{ matrix.test-modules }}"
- name: Prepare build reports archive
if: always()
run: |
7z a -tzip build-reports.zip -r \
'**/target/*-reports/TEST-*.xml' \
'**/build/test-results/test/TEST-*.xml' \
'target/build-report.json' \
'target/gradle-build-scan-url.txt' \
LICENSE
- name: Upload build reports
uses: actions/upload-artifact@v4
if: always()
with:
name: "build-reports-${{ github.run_attempt }}-Native Tests - ${{matrix.category}}"
path: |
build-reports.zip
retention-days: 7
- name: Delete Local Artifacts From Cache
shell: bash
run: rm -rf ~/.m2/repository/org/acme
build-report:
runs-on: ubuntu-latest
name: Build report
needs: [ build-with-native ]
if: always()
steps:
- uses: actions/download-artifact@v4
with:
path: build-reports-artifacts
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
- name: Produce report and add it as job summary
uses: quarkusio/action-build-reporter@main
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
build-reports-artifacts-path: build-reports-artifacts
report:
name: Report
runs-on: ubuntu-latest
needs: [ build-with-native ]
if: always() && github.repository == 'quarkusio/quarkus-quickstarts'
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event_name == 'workflow_dispatch' && github.event.ref || 'development' }}
- uses: quarkusio/report-status-in-issue@main
with:
github-token: ${{ secrets.GITHUB_API_TOKEN }}
status: ${{ needs.build-with-native.result == 'success' && 'success' || 'failure' }}
issue-repository: quarkusio/quarkus
issue-number: 48241
quarkus-sha: ${{ needs.build-with-native.outputs.quarkus-sha }}
project-sha: ${{ needs.build-with-native.outputs.project-sha }}