Skip to content

Reorganize build into 11 parallel jobs for faster execution #3

Reorganize build into 11 parallel jobs for faster execution

Reorganize build into 11 parallel jobs for faster execution #3

Workflow file for this run

name: Build
on:
push:
branches: [ main, master ]
jobs:
build-01-overview:
name: "Module 01: Spring Boot Overview (6 projects)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in module
run: |
set -e
echo "Building Module 01: Spring Boot Overview"
find 01-spring-boot-overview -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -q -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Module 01 completed successfully"
build-02-spring-core:
name: "Module 02: Spring Core (9 projects)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in module
run: |
set -e
echo "Building Module 02: Spring Core"
find 02-spring-boot-spring-core -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -q -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Module 02 completed successfully"
build-03-hibernate-jpa-crud:
name: "Module 03: Hibernate JPA CRUD (8 projects)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in module
run: |
set -e
echo "Building Module 03: Hibernate JPA CRUD"
find 03-spring-boot-hibernate-jpa-crud -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -q -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Module 03 completed successfully"
build-04-rest-crud:
name: "Module 04: REST CRUD (20 projects)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in module
run: |
set -e
echo "Building Module 04: REST CRUD"
find 04-spring-boot-rest-crud -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -q -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Module 04 completed successfully"
build-05-rest-security:
name: "Module 05: REST Security (8 projects)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in module
run: |
set -e
echo "Building Module 05: REST Security"
find 05-spring-boot-rest-security -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -q -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Module 05 completed successfully"
build-06-spring-mvc:
name: "Module 06: Spring MVC (20 projects)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in module
run: |
set -e
echo "Building Module 06: Spring MVC"
find 06-spring-boot-spring-mvc -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -q -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Module 06 completed successfully"
build-07-mvc-crud:
name: "Module 07: MVC CRUD (7 projects)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in module
run: |
set -e
echo "Building Module 07: MVC CRUD"
find 07-spring-boot-spring-mvc-crud -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -q -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Module 07 completed successfully"
build-08-mvc-security:
name: "Module 08: MVC Security (13 projects)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in module
run: |
set -e
echo "Building Module 08: MVC Security"
find 08-spring-boot-spring-mvc-security -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -q -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Module 08 completed successfully"
build-09-jpa-advanced-mappings:
name: "Module 09: JPA Advanced Mappings (23 projects)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in module
run: |
set -e
echo "Building Module 09: JPA Advanced Mappings"
find 09-spring-boot-jpa-advanced-mappings -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -q -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Module 09 completed successfully"
build-10-aop:
name: "Module 10: AOP (24 projects)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in module
run: |
set -e
echo "Building Module 10: AOP"
find 10-spring-boot-aop -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -q -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Module 10 completed successfully"
build-11-whats-new:
name: "Module 11: What's New in Spring Boot 4 (7 projects)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in module
run: |
set -e
echo "Building Module 11: What's New in Spring Boot 4"
find 11-whats-new-in-spring-boot-4 -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -q -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Module 11 completed successfully"