Skip to content

Daily Maven Verify on All Branches #5

Daily Maven Verify on All Branches

Daily Maven Verify on All Branches #5

name: Daily Maven Verify on All Branches
on:
schedule:
- cron: '0 0 * * *' # Runs daily at midnight UTC
workflow_dispatch: # Allows manual triggering of the workflow
jobs:
verify-branches:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0 # Fetch all branches and history
# Step 2: Set up JDK 17 (adjust if you're using a different version)
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'adopt'
# Step 3: Install Maven 3.9.9
- name: Install Maven 3.9.9
run: |
wget https://downloads.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz
tar -xvzf apache-maven-3.9.9-bin.tar.gz
sudo mv apache-maven-3.9.9 /opt/maven
echo "export PATH=/opt/maven/bin:$PATH" >> $GITHUB_ENV
- name: Get list of branches
id: get-branches
run: |
# List all branches except the HEAD and remove origin/ prefix
git fetch --all
git branch -r | grep -v '\->' | grep -v HEAD | grep 'origin/sample-code' | sed 's/origin\///' > branches.txt
- name: Show all branches to verify
run: cat branches.txt
- name: Run Maven Verify on Each Branch
run: |
while read branch; do
echo "Processing branch: $branch"
# Checkout the branch
git checkout $branch
# Run Maven verify
mvn clean verify
if [ $? -ne 0 ]; then
echo "Maven verify failed on branch: $branch"
else
echo "Maven verify succeeded on branch: $branch"
fi
done < branches.txt