From 773ee1f0e3106c95629b8f9a4cf391422a094e12 Mon Sep 17 00:00:00 2001 From: Surya Kathayat Date: Tue, 3 Dec 2024 19:44:45 +0100 Subject: [PATCH] Update main.yml --- .github/workflows/main.yml | 80 ++++++++++++++------------------------ 1 file changed, 30 insertions(+), 50 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a636f5c..f01fb50 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,10 +1,10 @@ -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: @@ -12,85 +12,73 @@ jobs: 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://:@github.com//.wiki.git - gwtc .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 @@ -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 }}