Skip to content

Workflow file for this run

name: CI for Java Project
on:
pull_request:
branches:
- main
permissions:
pages: write # Grant permission to deploy to GitHub Pages
id-token: write # Required for GitHub Pages deployment
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: '17'
- name: Install dependencies and run tests
run: mvn install -B
- name: Run tests
run: mvn test --no-transfer-progress
javadoc:
runs-on: ubuntu-latest
needs: test # Ensures the javadoc job runs after tests pass
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: '17'
- name: Generate Javadoc
run: mvn javadoc:javadoc --no-transfer-progress
- name: Verify Javadoc
run: |
if [ -d docs/apidocs ]; then
echo "Javadoc generated successfully."
else
echo "Javadoc failed to generate!"
exit 1
fi
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: './docs'
- name: Deploy to GitHub Pages
uses: actions/deploy-pages@v4 # GitHub Pages deploy action