Skip to content

Commit 4d9b786

Browse files
committed
update
1 parent 66a90b8 commit 4d9b786

File tree

1 file changed

+83
-0
lines changed

1 file changed

+83
-0
lines changed

.github/workflows/ci.yml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: CI - Maven and Gradle
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
jobs:
10+
maven:
11+
name: Maven build and run (Java 21)
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Set up JDK 21
17+
id: setup-java
18+
uses: actions/setup-java@v4
19+
with:
20+
distribution: 'temurin'
21+
java-version: '21'
22+
23+
- name: Cache Maven local repository
24+
uses: actions/cache@v4
25+
with:
26+
path: ~/.m2/repository
27+
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
28+
restore-keys: |
29+
${{ runner.os }}-maven-
30+
31+
- name: Show Java info
32+
run: java -version && echo "JAVA_HOME=${{ steps.setup-java.outputs.java-home }}"
33+
34+
- name: Build with Maven
35+
run: mvn -U -B package
36+
env:
37+
JAVA_HOME: ${{ steps.setup-java.outputs.java-home }}
38+
39+
- name: Run demo (Maven)
40+
run: mvn -q exec:java -Dexec.mainClass=org.example.Main
41+
env:
42+
JAVA_HOME: ${{ steps.setup-java.outputs.java-home }}
43+
44+
gradle:
45+
name: Gradle build and run (Java 21)
46+
runs-on: ubuntu-latest
47+
steps:
48+
- uses: actions/checkout@v4
49+
50+
- name: Set up JDK 21
51+
id: setup-java-gradle
52+
uses: actions/setup-java@v4
53+
with:
54+
distribution: 'temurin'
55+
java-version: '21'
56+
57+
- name: Cache Gradle
58+
uses: actions/cache@v4
59+
with:
60+
path: |
61+
~/.gradle/caches
62+
~/.gradle/wrapper
63+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
64+
restore-keys: |
65+
${{ runner.os }}-gradle-
66+
67+
- name: Show Java info
68+
run: java -version && echo "JAVA_HOME=${{ steps.setup-java-gradle.outputs.java-home }}"
69+
70+
- name: Use Gradle wrapper (show version)
71+
run: ./gradlew --version
72+
env:
73+
JAVA_HOME: ${{ steps.setup-java-gradle.outputs.java-home }}
74+
75+
- name: Build with Gradle
76+
run: ./gradlew clean build --no-daemon
77+
env:
78+
JAVA_HOME: ${{ steps.setup-java-gradle.outputs.java-home }}
79+
80+
- name: Run demo (Gradle)
81+
run: ./gradlew run --no-daemon
82+
env:
83+
JAVA_HOME: ${{ steps.setup-java-gradle.outputs.java-home }}

0 commit comments

Comments
 (0)