-
-
Notifications
You must be signed in to change notification settings - Fork 766
132 lines (125 loc) · 4.36 KB
/
Copy pathjava.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 all exercise 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@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Set up JDK 25
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520
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@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
with:
fetch-depth: 0
- name: Set up JDK 25
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520
with:
java-version: 25
distribution: "temurin"
- name: Check if changed exercise tests compile cleanly
run: bin/build-changed-exercise
lint-all:
name: Lint all exercises using Checkstyle
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Set up JDK 25
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520
with:
java-version: 25
distribution: "temurin"
- name: Run checkstyle
run: ./gradlew check --exclude-task test --continue
working-directory: exercises
lint-changed:
name: Lint changed exercises using Checkstyle
if: github.event_name == 'pull_request'
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
with:
fetch-depth: 0
- name: Set up JDK 25
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520
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@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- 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@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
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()