Skip to content

Add GitHub Actions build workflow for all sections (#4) #1

Add GitHub Actions build workflow for all sections (#4)

Add GitHub Actions build workflow for all sections (#4) #1

Workflow file for this run

name: Build
on:
push:
branches: [ main, master ]
jobs:
build-02-selenium-overview:
name: "Section 02: Selenium Overview"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in section
run: |
set -e
echo "Building Section 02: Selenium Overview"
find 02-selenium-overview -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Section 02 completed successfully"
build-03-selenium-quick-start:
name: "Section 03: Selenium Quick Start"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in section
run: |
set -e
echo "Building Section 03: Selenium Quick Start"
find 03-selenium-quick-start -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Section 03 completed successfully"
build-04-selenium-actions:
name: "Section 04: Selenium Actions"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in section
run: |
set -e
echo "Building Section 04: Selenium Actions"
find 04-selenium-actions -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Section 04 completed successfully"
build-05-selenium-waiting-mechanisms:
name: "Section 05: Selenium Waiting Mechanisms"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in section
run: |
set -e
echo "Building Section 05: Selenium Waiting Mechanisms"
find 05-selenium-waiting-mechanisms -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Section 05 completed successfully"
build-06-managing-chrome-options:
name: "Section 06: Managing Chrome Options - Cookies - Browser"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in section
run: |
set -e
echo "Building Section 06: Managing Chrome Options - Cookies - Browser"
find 06-managing-chrome-options-cookies-browser -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Section 06 completed successfully"
build-07-locators:
name: "Section 07: Locators and Real-Time Challenges in Detail"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in section
run: |
set -e
echo "Building Section 07: Locators and Real-Time Challenges in Detail"
find 07-locators-real-time-challenges-in-detail -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Section 07 completed successfully"
build-08-selenium-40-features:
name: "Section 08: Selenium 4.0 Features"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in section
run: |
set -e
echo "Building Section 08: Selenium 4.0 Features"
find 08-selenium-40-features -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Section 08 completed successfully"
build-09-testng:
name: "Section 09: TestNG"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in section
run: |
set -e
echo "Building Section 09: TestNG"
find 09-testng -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Section 09 completed successfully"
build-10-automation-framework:
name: "Section 10: Automation Framework - Basic"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '25'
distribution: 'temurin'
cache: 'maven'
- name: Build all projects in section
run: |
set -e
echo "Building Section 10: Automation Framework - Basic"
find 10-automation-framework-basic -name pom.xml -not -path "*/target/*" | sort | while read pom; do
echo "Building $(dirname $pom)"
mvn clean compile -B -f "$pom" || {
echo "Failed to compile $pom"
exit 1
}
done
echo "Section 10 completed successfully"