Daily Build - Aarch64 #36
This file contains hidden or 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: "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 }} |