Skip to content

Commit a24b5e2

Browse files
authored
Merge pull request #1539 from jcarranzan/implement-aarch64-ci-dev
Implement daily-aarch64-development.yml
2 parents 20a2177 + 2e08f4f commit a24b5e2

File tree

1 file changed

+128
-0
lines changed

1 file changed

+128
-0
lines changed
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
---
2+
name: "Daily Build - Aarch64"
3+
4+
on:
5+
schedule:
6+
- cron: '0 4 * * *'
7+
repository_dispatch:
8+
workflow_dispatch:
9+
10+
jobs:
11+
generate-json-matrix:
12+
name: Tests - Read JSON matrix
13+
runs-on: ubuntu-latest
14+
if: "github.repository == 'quarkusio/quarkus-quickstarts' || github.event_name == 'workflow_dispatch'"
15+
outputs:
16+
matrix: ${{ steps.generate.outputs.matrix }}
17+
steps:
18+
- uses: actions/checkout@v4
19+
with:
20+
ref: ${{ github.event_name == 'workflow_dispatch' && github.event.ref || 'development' }}
21+
- id: generate
22+
run: |
23+
json=$(.github/generate-native-matrix.sh | tr -d '\n')
24+
echo "matrix=${json}" >> $GITHUB_OUTPUT
25+
26+
linux-build-native:
27+
name: Linux - Native build
28+
runs-on: ubuntu-24.04-arm
29+
needs: [ generate-json-matrix ]
30+
if: "github.repository == 'quarkusio/quarkus-quickstarts' || github.event_name == 'workflow_dispatch'"
31+
strategy:
32+
fail-fast: false
33+
max-parallel: 3
34+
matrix: ${{fromJson(needs.generate-json-matrix.outputs.matrix) }}
35+
steps:
36+
- uses: actions/checkout@v4
37+
with:
38+
ref: ${{ github.event_name == 'workflow_dispatch' && github.event.ref || 'development' }}
39+
- name: Reclaim Disk Space
40+
run: .github/ci-prerequisites.sh
41+
- name: Get Date
42+
id: get-date
43+
run: |
44+
echo "date=$(/bin/date -u "+%Y-%m")" >> $GITHUB_OUTPUT
45+
shell: bash
46+
47+
- name: Cache Maven Repository
48+
id: cache-maven
49+
uses: actions/cache@v4
50+
with:
51+
path: ~/.m2/repository
52+
key: q2maven-native-aarch64-${{ steps.get-date.outputs.date }}
53+
54+
- name: Install JDK 17
55+
uses: actions/setup-java@v4
56+
with:
57+
distribution: temurin
58+
java-version: 17
59+
check-latest: true
60+
cache: 'maven'
61+
62+
- name: Build Quarkus main
63+
run: |
64+
git clone https://github.com/quarkusio/quarkus.git
65+
cd quarkus
66+
./mvnw -T1C -e -B --settings .github/mvn-settings.xml clean install -Dquickly-ci
67+
68+
- name: Test Quickstarts in Native mode
69+
run: |
70+
./mvnw -e -B --settings .github/mvn-settings.xml clean install --fail-at-end -Dnative -Dstart-containers \
71+
-Dquarkus.native.container-build=true -am -pl "${{ matrix.test-modules }}"
72+
73+
- name: Prepare build reports archive
74+
if: always()
75+
run: |
76+
7z a -tzip build-reports.zip -r \
77+
'**/target/*-reports/TEST-*.xml' \
78+
'**/build/test-results/test/TEST-*.xml' \
79+
'target/build-report.json' \
80+
'target/gradle-build-scan-url.txt' \
81+
LICENSE
82+
83+
- name: Upload build reports
84+
uses: actions/upload-artifact@v4
85+
if: always()
86+
with:
87+
name: "build-reports-${{ github.run_attempt }}-Native Tests - ${{matrix.category}}"
88+
path: |
89+
build-reports.zip
90+
retention-days: 7
91+
92+
- name: Delete Local Artifacts From Cache
93+
shell: bash
94+
run: rm -rf ~/.m2/repository/org/acme
95+
build-report:
96+
runs-on: ubuntu-latest
97+
name: Build report
98+
needs: [ linux-build-native ]
99+
if: always()
100+
steps:
101+
- uses: actions/download-artifact@v4
102+
with:
103+
path: build-reports-artifacts
104+
- name: Set up JDK 21
105+
uses: actions/setup-java@v4
106+
with:
107+
distribution: temurin
108+
java-version: 21
109+
- name: Produce report and add it as job summary
110+
uses: quarkusio/action-build-reporter@main
111+
with:
112+
github-token: ${{ secrets.GITHUB_TOKEN }}
113+
build-reports-artifacts-path: build-reports-artifacts
114+
report:
115+
name: Report
116+
runs-on: ubuntu-latest
117+
needs: [ linux-build-native ]
118+
if: "always() && github.repository == 'quarkusio/quarkus-quickstarts'"
119+
steps:
120+
- uses: actions/checkout@v4
121+
with:
122+
ref: ${{ github.event_name == 'workflow_dispatch' && github.event.ref || 'development' }}
123+
- uses: quarkusio/report-status-in-issue@main
124+
with:
125+
github-token: ${{ secrets.GITHUB_API_TOKEN }}
126+
status: ${{ needs.linux-build-native.result == 'success' && 'success' || 'failure' }}
127+
issue-repository: quarkusio/quarkus
128+
issue-number: 48241

0 commit comments

Comments
 (0)