Skip to content

Commit e08cc1e

Browse files
Add parallel build GitHub Actions workflow with build status badge (#20)
1 parent 3389c4d commit e08cc1e

File tree

2 files changed

+280
-2
lines changed

2 files changed

+280
-2
lines changed

.github/workflows/build.yml

Lines changed: 276 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,276 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
branches: [ main, master ]
6+
7+
jobs:
8+
build-01-spring-boot-overview:
9+
name: "Module 01: Spring Boot Overview (6 projects)"
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- uses: actions/checkout@v4
14+
15+
- name: Set up JDK 17
16+
uses: actions/setup-java@v4
17+
with:
18+
java-version: '17'
19+
distribution: 'temurin'
20+
cache: 'maven'
21+
22+
- name: Build all projects in module
23+
run: |
24+
set -e
25+
echo "Building Module 01: Spring Boot Overview"
26+
find 01-spring-boot-overview -name pom.xml -not -path "*/target/*" | sort | while read pom; do
27+
echo "Building $(dirname $pom)"
28+
mvn clean compile -B -q -f "$pom" || {
29+
echo "Failed to compile $pom"
30+
exit 1
31+
}
32+
done
33+
echo "Module 01 completed successfully"
34+
35+
build-02-spring-boot-spring-core:
36+
name: "Module 02: Spring Boot Spring Core (9 projects)"
37+
runs-on: ubuntu-latest
38+
39+
steps:
40+
- uses: actions/checkout@v4
41+
42+
- name: Set up JDK 17
43+
uses: actions/setup-java@v4
44+
with:
45+
java-version: '17'
46+
distribution: 'temurin'
47+
cache: 'maven'
48+
49+
- name: Build all projects in module
50+
run: |
51+
set -e
52+
echo "Building Module 02: Spring Boot Spring Core"
53+
find 02-spring-boot-spring-core -name pom.xml -not -path "*/target/*" | sort | while read pom; do
54+
echo "Building $(dirname $pom)"
55+
mvn clean compile -B -q -f "$pom" || {
56+
echo "Failed to compile $pom"
57+
exit 1
58+
}
59+
done
60+
echo "Module 02 completed successfully"
61+
62+
build-03-spring-boot-hibernate-jpa-crud:
63+
name: "Module 03: Spring Boot Hibernate JPA CRUD (8 projects)"
64+
runs-on: ubuntu-latest
65+
66+
steps:
67+
- uses: actions/checkout@v4
68+
69+
- name: Set up JDK 17
70+
uses: actions/setup-java@v4
71+
with:
72+
java-version: '17'
73+
distribution: 'temurin'
74+
cache: 'maven'
75+
76+
- name: Build all projects in module
77+
run: |
78+
set -e
79+
echo "Building Module 03: Spring Boot Hibernate JPA CRUD"
80+
find 03-spring-boot-hibernate-jpa-crud -name pom.xml -not -path "*/target/*" | sort | while read pom; do
81+
echo "Building $(dirname $pom)"
82+
mvn clean compile -B -q -f "$pom" || {
83+
echo "Failed to compile $pom"
84+
exit 1
85+
}
86+
done
87+
echo "Module 03 completed successfully"
88+
89+
build-04-spring-boot-rest-crud:
90+
name: "Module 04: Spring Boot REST CRUD (22 projects)"
91+
runs-on: ubuntu-latest
92+
93+
steps:
94+
- uses: actions/checkout@v4
95+
96+
- name: Set up JDK 17
97+
uses: actions/setup-java@v4
98+
with:
99+
java-version: '17'
100+
distribution: 'temurin'
101+
cache: 'maven'
102+
103+
- name: Build all projects in module
104+
run: |
105+
set -e
106+
echo "Building Module 04: Spring Boot REST CRUD"
107+
find 04-spring-boot-rest-crud -name pom.xml -not -path "*/target/*" | sort | while read pom; do
108+
echo "Building $(dirname $pom)"
109+
mvn clean compile -B -q -f "$pom" || {
110+
echo "Failed to compile $pom"
111+
exit 1
112+
}
113+
done
114+
echo "Module 04 completed successfully"
115+
116+
build-05-spring-boot-rest-security:
117+
name: "Module 05: Spring Boot REST Security (8 projects)"
118+
runs-on: ubuntu-latest
119+
120+
steps:
121+
- uses: actions/checkout@v4
122+
123+
- name: Set up JDK 17
124+
uses: actions/setup-java@v4
125+
with:
126+
java-version: '17'
127+
distribution: 'temurin'
128+
cache: 'maven'
129+
130+
- name: Build all projects in module
131+
run: |
132+
set -e
133+
echo "Building Module 05: Spring Boot REST Security"
134+
find 05-spring-boot-rest-security -name pom.xml -not -path "*/target/*" | sort | while read pom; do
135+
echo "Building $(dirname $pom)"
136+
mvn clean compile -B -q -f "$pom" || {
137+
echo "Failed to compile $pom"
138+
exit 1
139+
}
140+
done
141+
echo "Module 05 completed successfully"
142+
143+
build-06-spring-boot-spring-mvc:
144+
name: "Module 06: Spring Boot Spring MVC (20 projects)"
145+
runs-on: ubuntu-latest
146+
147+
steps:
148+
- uses: actions/checkout@v4
149+
150+
- name: Set up JDK 17
151+
uses: actions/setup-java@v4
152+
with:
153+
java-version: '17'
154+
distribution: 'temurin'
155+
cache: 'maven'
156+
157+
- name: Build all projects in module
158+
run: |
159+
set -e
160+
echo "Building Module 06: Spring Boot Spring MVC"
161+
find 06-spring-boot-spring-mvc -name pom.xml -not -path "*/target/*" | sort | while read pom; do
162+
echo "Building $(dirname $pom)"
163+
mvn clean compile -B -q -f "$pom" || {
164+
echo "Failed to compile $pom"
165+
exit 1
166+
}
167+
done
168+
echo "Module 06 completed successfully"
169+
170+
build-07-spring-boot-spring-mvc-crud:
171+
name: "Module 07: Spring Boot Spring MVC CRUD (7 projects)"
172+
runs-on: ubuntu-latest
173+
174+
steps:
175+
- uses: actions/checkout@v4
176+
177+
- name: Set up JDK 17
178+
uses: actions/setup-java@v4
179+
with:
180+
java-version: '17'
181+
distribution: 'temurin'
182+
cache: 'maven'
183+
184+
- name: Build all projects in module
185+
run: |
186+
set -e
187+
echo "Building Module 07: Spring Boot Spring MVC CRUD"
188+
find 07-spring-boot-spring-mvc-crud -name pom.xml -not -path "*/target/*" | sort | while read pom; do
189+
echo "Building $(dirname $pom)"
190+
mvn clean compile -B -q -f "$pom" || {
191+
echo "Failed to compile $pom"
192+
exit 1
193+
}
194+
done
195+
echo "Module 07 completed successfully"
196+
197+
build-08-spring-boot-spring-mvc-security:
198+
name: "Module 08: Spring Boot Spring MVC Security (13 projects)"
199+
runs-on: ubuntu-latest
200+
201+
steps:
202+
- uses: actions/checkout@v4
203+
204+
- name: Set up JDK 17
205+
uses: actions/setup-java@v4
206+
with:
207+
java-version: '17'
208+
distribution: 'temurin'
209+
cache: 'maven'
210+
211+
- name: Build all projects in module
212+
run: |
213+
set -e
214+
echo "Building Module 08: Spring Boot Spring MVC Security"
215+
find 08-spring-boot-spring-mvc-security -name pom.xml -not -path "*/target/*" | sort | while read pom; do
216+
echo "Building $(dirname $pom)"
217+
mvn clean compile -B -q -f "$pom" || {
218+
echo "Failed to compile $pom"
219+
exit 1
220+
}
221+
done
222+
echo "Module 08 completed successfully"
223+
224+
build-09-spring-boot-jpa-advanced-mappings:
225+
name: "Module 09: Spring Boot JPA Advanced Mappings (23 projects)"
226+
runs-on: ubuntu-latest
227+
228+
steps:
229+
- uses: actions/checkout@v4
230+
231+
- name: Set up JDK 17
232+
uses: actions/setup-java@v4
233+
with:
234+
java-version: '17'
235+
distribution: 'temurin'
236+
cache: 'maven'
237+
238+
- name: Build all projects in module
239+
run: |
240+
set -e
241+
echo "Building Module 09: Spring Boot JPA Advanced Mappings"
242+
find 09-spring-boot-jpa-advanced-mappings -name pom.xml -not -path "*/target/*" | sort | while read pom; do
243+
echo "Building $(dirname $pom)"
244+
mvn clean compile -B -q -f "$pom" || {
245+
echo "Failed to compile $pom"
246+
exit 1
247+
}
248+
done
249+
echo "Module 09 completed successfully"
250+
251+
build-10-spring-boot-aop:
252+
name: "Module 10: Spring Boot AOP (24 projects)"
253+
runs-on: ubuntu-latest
254+
255+
steps:
256+
- uses: actions/checkout@v4
257+
258+
- name: Set up JDK 17
259+
uses: actions/setup-java@v4
260+
with:
261+
java-version: '17'
262+
distribution: 'temurin'
263+
cache: 'maven'
264+
265+
- name: Build all projects in module
266+
run: |
267+
set -e
268+
echo "Building Module 10: Spring Boot AOP"
269+
find 10-spring-boot-aop -name pom.xml -not -path "*/target/*" | sort | while read pom; do
270+
echo "Building $(dirname $pom)"
271+
mvn clean compile -B -q -f "$pom" || {
272+
echo "Failed to compile $pom"
273+
exit 1
274+
}
275+
done
276+
echo "Module 10 completed successfully"

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
# Spring Boot 4, Spring 7 and Hibernate for Beginners
1+
# Spring Boot 3, Spring 6 and Hibernate for Beginners
22

3-
Source code for the course: [Spring Boot 4, Spring 7 and Hibernate for Beginners](http://www.luv2code.com/spring-github)
3+
![Build Status](https://github.com/darbyluv2code/spring-boot-3-spring-6-hibernate-for-beginners/actions/workflows/build.yml/badge.svg)
4+
5+
Source code for the course: [Spring Boot 3, Spring 6 and Hibernate for Beginners](http://www.luv2code.com/spring-github)
46

57
If you have questions or need tech support, post your questions to the [classroom discussion forum](https://www.udemy.com/spring-hibernate-tutorial/learn/v4/questions).
68

0 commit comments

Comments
 (0)