66
66
# separate terms of service, privacy policy, and support
67
67
# documentation.
68
68
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
70
105
71
- on : [push]
106
+ name : build with gradle
72
107
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
73
117
jobs :
74
118
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 ]
77
125
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
81
130
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
86
135
- 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
96
156
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
98
163
- name : Codecov
99
- uses : codecov/codecov-action@v2.1.0
164
+ uses : codecov/codecov-action@v1
100
165
with :
101
- files : ./build/reports/jacoco/test/jacocoTestReport.xml
166
+ files : ./build/reports/jacoco/test/jacocoTestReport.xml
0 commit comments