Skip to content

Commit b1a0414

Browse files
committed
Update CI.yml
1 parent ee5fee8 commit b1a0414

File tree

1 file changed

+88
-23
lines changed

1 file changed

+88
-23
lines changed

.github/workflows/CI.yml

Lines changed: 88 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -66,36 +66,101 @@
6666
# separate terms of service, privacy policy, and support
6767
# documentation.
6868

69-
name: Java CI
69+
#name: Java CI
70+
#
71+
#on: [push]
72+
73+
#jobs:
74+
# build:
75+
# runs-on: ubuntu-latest
76+
#
77+
# steps:
78+
# - uses: actions/checkout@v3
79+
# - name: Set up JDK 1
80+
# uses: actions/setup-java@v3
81+
# with:
82+
# java-version: '17'
83+
# distribution: 'adopt'
84+
# - name: Validate Gradle wrapper
85+
# uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b
86+
# - name: Build with Gradle
87+
# uses: gradle/gradle-build-action@0d13054264b0bb894ded474f08ebb30921341cee
88+
# with:
89+
# arguments: -Pclean-release build
90+
# - name: Test with Gradle
91+
# uses: gradle/gradle-build-action@0d13054264b0bb894ded474f08ebb30921341cee
92+
# with:
93+
# arguments: test
94+
# - name: TestCoverage with Gradle
95+
# uses: gradle/gradle-build-action@0d13054264b0bb894ded474f08ebb30921341cee
96+
# with:
97+
# arguments: jacocoTestReport
98+
# - name: Codecov
99+
# uses: codecov/codecov-action@v2.1.0
100+
# with:
101+
# files: ./build/reports/jacoco/test/jacocoTestReport.xml
102+
103+
# This workflow will build a Java project with Gradle
104+
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
70105

71-
on: [push]
106+
name: build with gradle
72107

108+
on:
109+
push:
110+
branches: [ main ]
111+
pull_request:
112+
branches: "*"
113+
114+
env:
115+
# JDK version used for building jar file
116+
currentBuildVersion: 8
73117
jobs:
74118
build:
75-
runs-on: ubuntu-latest
76-
119+
runs-on: ${{ matrix.operating-system }}
120+
strategy:
121+
matrix:
122+
operating-system: [ubuntu-latest, macOS-latest, windows-latest]
123+
# Use both LTS releases and latest one for tests
124+
jdk: [ 8, 11, 16, 17 ]
77125
steps:
78-
- uses: actions/checkout@v3
79-
- name: Set up JDK 1
80-
uses: actions/setup-java@v3
126+
- name: Checkout repo
127+
uses: actions/checkout@v2
128+
- name: Set up OpenJDK version ...
129+
uses: actions/setup-java@v2
81130
with:
82-
java-version: '17'
83-
distribution: 'adopt'
84-
- name: Validate Gradle wrapper
85-
uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b
131+
distribution: 'zulu'
132+
java-version: ${{ matrix.jdk }}
133+
- name: Grant execute permission for gradlew
134+
run: chmod +x gradlew
86135
- name: Build with Gradle
87-
uses: gradle/gradle-build-action@0d13054264b0bb894ded474f08ebb30921341cee
88-
with:
89-
arguments: -Pclean-release build
90-
- name: Test with Gradle
91-
uses: gradle/gradle-build-action@0d13054264b0bb894ded474f08ebb30921341cee
92-
with:
93-
arguments: test
94-
- name: TestCoverage with Gradle
95-
uses: gradle/gradle-build-action@0d13054264b0bb894ded474f08ebb30921341cee
136+
run: |
137+
if [ "$RUNNER_OS" == "Linux" ]; then
138+
./gradlew clean build
139+
elif [ "$RUNNER_OS" == "macOS" ]; then
140+
./gradlew clean build
141+
elif [ "$RUNNER_OS" == "Windows" ]; then
142+
./gradlew.bat clean build
143+
else
144+
echo "$RUNNER_OS not supported"
145+
exit 1
146+
fi
147+
shell: bash
148+
coverage:
149+
needs: build
150+
runs-on: ubuntu-latest
151+
steps:
152+
- name: Checkout repo
153+
uses: actions/checkout@v2
154+
- name: Set up OpenJDK version ...
155+
uses: actions/setup-java@v2
96156
with:
97-
arguments: jacocoTestReport
157+
distribution: 'zulu'
158+
java-version: ${{ env.currentBuildVersion }}
159+
- name: Grant execute permission for gradlew
160+
run: chmod +x gradlew
161+
- name: Build with Gradle (JDK ${{ env.currentBuildVersion }})
162+
run: ./gradlew clean check jacocoTestReport
98163
- name: Codecov
99-
uses: codecov/codecov-action@v2.1.0
164+
uses: codecov/codecov-action@v1
100165
with:
101-
files: ./build/reports/jacoco/test/jacocoTestReport.xml
166+
files: ./build/reports/jacoco/test/jacocoTestReport.xml

0 commit comments

Comments
 (0)