Skip to content

Commit

Permalink
Merge pull request #2 from surya/surya-patch-1
Browse files Browse the repository at this point in the history
Update main.yml
  • Loading branch information
Surya Kathayat authored and GitHub Enterprise committed Dec 3, 2024
2 parents 7fd455e + 773ee1f commit 6758c52
Showing 1 changed file with 30 additions and 50 deletions.
80 changes: 30 additions & 50 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,96 +1,84 @@
name: CI/CD Pipeline
name: CI/CD Workflow

on:
push:
branches:
- main
workflow_dispatch: # For manual triggers
workflow_dispatch: # Allows manual triggering of the workflow

jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Maven
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- name: Compile Project
- name: Build with Maven
run: mvn compile

test:
name: Test
runs-on: ubuntu-latest
services:
docker:
image: docker:20.10-dind
options: --privileged
env:
DOCKER_HOST: tcp://localhost:2375
DOCKER_TLS_CERTDIR: ""
DOCKER_DRIVER: overlay2
steps:
- uses: actions/checkout@v3
- name: Set up Maven
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- name: Run Tests
run: |
mvn clean test
mkdir -p artifacts/junit
cp target/surefire-reports/*.xml artifacts/junit/
mkdir -p artifacts/coverage
cp target/jacoco/coverage-reports/*.xml artifacts/coverage/
run: mvn clean test
- name: Upload Test Results
uses: actions/upload-artifact@v3
with:
name: junit-reports
path: artifacts/junit
- name: Upload Coverage Reports
name: surefire-reports
path: target/surefire-reports/
- name: Upload Coverage Report
uses: actions/upload-artifact@v3
with:
name: coverage-reports
path: artifacts/coverage
name: jacoco-report
path: target/jacoco/coverage-reports/jacoco.xml

package:
name: Package
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Maven
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- name: Package Project
- name: Build Package
run: mvn clean package
- name: Upload JAR
- name: Upload Package
uses: actions/upload-artifact@v3
with:
name: packaged-jar
name: packaged-app
path: target/idatt2002demo-1.0-SNAPSHOT-jar-with-dependencies.jar

generate-pdf:
name: Generate PDF
runs-on: ubuntu-20.04
if: github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
if: github.event_name == 'workflow_dispatch' # Manual trigger
steps:
- name: Install Dependencies
- name: Set up Environment
run: |
sudo apt-get update
sudo apt-get install -y wget fontconfig libfreetype6 libjpeg-turbo8 libpng16-16 libx11-6 libxcb1 libxext6 libxrender1 xfonts-75dpi xfonts-base
sudo apt-get install -y nodejs npm git
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
sudo dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb
sudo apt-get install -y nodejs npm git
npm install -g github-wikito-converter
- name: Clone Wiki Repository
- name: Clone Wiki
run: |
git clone https://<USERNAME>:<TOKEN>@github.com/<ORG>/<REPO>.wiki.git
gwtc <REPO>.wiki
git clone https://github.com/${{ github.repository }}.wiki.git
cd ${{ github.repository }}.wiki
gwtc ${{ github.repository }}
- name: Convert to PDF
run: wkhtmltopdf documentation.html wiki.pdf
- name: Upload PDF
Expand All @@ -99,30 +87,22 @@ jobs:
name: wiki-pdf
path: wiki.pdf

deploy-pages:
name: Deploy Pages
pages:
name: Publish Pages
runs-on: ubuntu-latest
if: github.event_name == 'workflow_dispatch'
if: github.event_name == 'workflow_dispatch' # Manual trigger
steps:
- uses: actions/checkout@v3
- name: Set up Maven
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- name: Generate Javadoc and Pages
- name: Generate Javadoc
run: |
mvn clean package
mvn javadoc:javadoc
mkdir -p public/apidocs
cp -r target/site/apidocs/* public/apidocs/
cp -r target/jacoco/* public/
cp -r page/index.html public/
- name: Deploy to GitHub Pages
uses: actions/upload-pages-artifact@v1
- name: Publish to Pages
uses: actions/upload-pages-artifact@v2
with:
path: public
- name: Publish Pages
uses: actions/deploy-pages@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}

0 comments on commit 6758c52

Please sign in to comment.