Add GitHub Actions build workflow for all sections (#4) #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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" |