-
-
Notifications
You must be signed in to change notification settings - Fork 761
132 lines (125 loc) · 4.36 KB
/
java.yml
File metadata and controls
132 lines (125 loc) · 4.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
name: Java
on:
pull_request:
paths:
- "**/*.java"
- "**/*.gradle"
push:
branches:
- main
workflow_dispatch:
jobs:
build-all:
name: Check if tests compile cleanly with starter sources
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- name: Set up JDK 25
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654
with:
java-version: 25
distribution: "temurin"
- name: Check if tests compile cleanly with starter sources
run: ./gradlew compileStarterTestJava --continue
working-directory: exercises
build-changed:
name: Check if changed exercise tests compile cleanly with starter sources
if: github.event_name == 'pull_request'
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
fetch-depth: 0
- name: Set up JDK 25
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654
with:
java-version: 25
distribution: "temurin"
- name: Check if changed exercise tests compile cleanly
run: bin/build-changed-exercise
lint-all:
name: Lint all Java files using Checkstyle
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- name: Set up JDK 25
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654
with:
java-version: 25
distribution: "temurin"
- name: Run checkstyle
run: ./gradlew check --exclude-task test --continue
working-directory: exercises
lint-changed:
name: Lint changed Java exercises using Checkstyle
if: github.event_name == 'pull_request'
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
fetch-depth: 0
- name: Set up JDK 25
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654
with:
java-version: 25
distribution: "temurin"
- name: Lint changed exercises
run: bin/lint-changed-exercise
test-all:
name: Test all exercises using java-test-runner
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- name: Test all exercises using java-test-runner
run: bin/test-with-test-runner
- name: Print summary
run: |
if [ -f exercises/build/summary.txt ]; then
echo "===== TEST SUMMARY ====="
cat exercises/build/summary.txt
echo "========================"
else
echo "===== ALL TESTS PASSED ====="
echo "No summary file was generated."
echo "============================="
fi
if: always()
- name: Archive test results
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
with:
name: test-results
path: exercises/**/build/results.json
if: failure()
test-changed:
name: Test changed exercises using gradlew
if: github.event_name == 'pull_request'
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
fetch-depth: 0
- name: Test changed exercises using java-test-runner
run: bin/test-changed-exercise
- name: Print summary
run: |
if [ -f exercises/build/summary.txt ]; then
echo "===== TEST SUMMARY ====="
cat exercises/build/summary.txt
echo "========================"
else
echo "===== ALL TESTS PASSED ====="
echo "No summary file was generated."
echo "============================="
fi
if: always()
- name: Archive test results
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
with:
name: test-results
path: |
exercises/**/build/results.txt
exercises/**/build/results.json
if: failure()