Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Global rule:
* @brahmanand1 @spal-sapient @aksshriv1 @shunaray @kunkambl @mampacch @nagendra-battala @Chittauri @gipathak @risshukl0 @ananthpal @manoj-srivastava
121 changes: 121 additions & 0 deletions .github/workflows/Processors_CI_Workflow.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
name: Processors_CI_Workflow # Define the name of the workflow

# Define when the workflow should trigger
on:
pull_request:
types:
- labeled # Trigger when a label is added
- unlabeled # Trigger when a label is removed
- synchronize # Trigger when commits are pushed to the PR
- opened # Trigger when a PR is opened
- edited # Trigger when a PR title or description is edited
- ready_for_review # Trigger when a draft PR is marked as ready
- reopened # Trigger when a closed PR is reopened
- unlocked # Trigger when a locked PR is unlocked
branches: [master, develop, qa-master] # Apply to these branches
pull_request_review:
types: [edited, dismissed] # Trigger when a review is edited or dismissed
branches: [master, develop, qa-master]
workflow_dispatch: # Allow manual triggering of the workflow

# Define environment variables
env:
GITHUB_HEAD_NAME: $GITHUB_HEAD_REF # Store the head branch name
sonartoken: ${{ secrets.SONARQUBE_TOKEN }} # Secret for SonarQube authentication
sonarurl: ${{ secrets.SONARURL }} # SonarQube URL stored in secrets

jobs:

# ✅ Building & Testing Processors
processors_ci:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2

- name: Set Up Java
uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: '17'

- name: Cache Maven packages
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-

- name: Clone & Build knowhow-common dependency
run: |
SOURCE_BRANCH="${{ github.head_ref }}"
TARGET_BRANCH="${{ github.event.pull_request.base.ref }}"

echo "Checking if branch '$SOURCE_BRANCH' exists in knowhow-common repo..."
if git ls-remote --heads https://github.com/PublicisSapient/knowhow-common.git $SOURCE_BRANCH | grep $SOURCE_BRANCH; then
BRANCH_TO_CLONE=$SOURCE_BRANCH
else
echo "Branch '$SOURCE_BRANCH' not found. Falling back to target branch '$TARGET_BRANCH'."
BRANCH_TO_CLONE=$TARGET_BRANCH
fi

git clone --branch $BRANCH_TO_CLONE https://github.com/PublicisSapient/knowhow-common.git
cd knowhow-common
mvn clean install -Ddockerfile.skip=true -X

- name: Get common version using Maven Help Plugin
run: |
cd knowhow-common
COMMON_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
echo "COMMON_VERSION=$COMMON_VERSION"
echo "COMMON_VERSION=$COMMON_VERSION" >> $GITHUB_ENV

- name: Updating the common version in processor project
run: |
mvn versions:use-dep-version \
-Dincludes=com.publicissapient.kpidashboard:common \
-DdepVersion=$COMMON_VERSION \
-DforceVersion=true

- name: Build & Test Jira Processor
run: |
mvn clean install -Pjira-processor -Ddockerfile.skip=true

- name: Build & Test Azure Board Processor
run: mvn clean install -Pazure-board-processor -Ddockerfile.skip=true

- name: Build & Test DevOps Processor
run: mvn clean install -Pdevops-processor -Ddockerfile.skip=true

- name: Build & Test Azure Pipeline Repo Processor
run: mvn clean install -Pazure-pipeline-repo -Ddockerfile.skip=true

- name: SonarQube Analysis - Processors
run: |
mvn sonar:sonar -Dsonar.projectKey=ENGINEERING.KPIDASHBOARD.PROCESSORS \
-Dsonar.projectName=ENGINEERING.KPIDASHBOARD.PROCESSORS \
-Dsonar.branch.name=${{ env.GITHUB_HEAD_NAME }} \
-Dsonar.host.url=${{ secrets.SONARQUBE_HOST }} \
-Dsonar.login=${{ secrets.SONARQUBE_TOKEN }} -f pom.xml

- name: Check SonarQube Quality Gate - Processors
run: |
chmod +x SonarQG.sh
./SonarQG.sh ./target/sonar/report-task.txt

# ✅ Final Job to Ensure Completion
GitHub_CI_Complete:
needs: [processors_ci]
if: always()
runs-on: ubuntu-latest
steps:
- name: Check Job Status
run: |
if [[ "${{ needs.processors_ci.result }}" == "failure" || \
"${{ needs.processors_ci.result }}" == "cancelled" ]]; then
echo "❌ One or more jobs failed or were cancelled. Failing CI."
exit 1
else
echo "✅ All relevant jobs have passed."
fi
213 changes: 213 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
# Created by .ignore support plugin (hsz.mobi)
### Gradle template
.gradle
build/

# Ignore Gradle GUI config
gradle-app.setting

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar


### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm

*.iml

## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:

# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries

# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml

# Gradle:
# .idea/gradle.xml
# .idea/libraries

# Mongo Explorer plugin:
# .idea/mongoSettings.xml

## File-based project format:
*.ipr
*.iws

## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties


### Eclipse template
*.pydevproject
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath

# Eclipse Core
# Eclipse Core
.project

# External tool builders
.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
*.launch

# CDT-specific
.cproject

# JDT-specific (Eclipse Java Development Tools)
.classpath

# PDT-specific
.buildpath

# sbteclipse plugin
.target

# TeXlipse plugin
.texlipse


### Java template
*.class

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.ear

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*


### Maven template
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
common_version.txt


### Grails template
# .gitignore for Grails 1.2 and 1.3
# Although this should work for most versions of grails, it is
# suggested that you use the "grails integrate-with --git" command
# to generate your .gitignore file.

# web application files
/web-app/WEB-INF/classes

# default HSQL database files for production mode
/prodDb.*

# general HSQL database files
*Db.properties
*Db.script

# logs
/stacktrace.log
/test/reports
/logs
/**/logs

# project release file
/*.war

# plugin release files
/*.zip
/plugin.xml

# older plugin install locations
/plugins
/web-app/plugins

# "temporary" build files
/target
.DS*

/**/.pmd
/**/.ruleset

application-local.properties
customapi/test-output/

**/.factorypath

customapi/.eclipse-pmd


# compiled output
/**/dist
/**/tmp
/**/out-tsc
/**/coverage
/**/.scannerwork


# dependencies
/**/node_modules

# IDEs and editors
.c9/
*.sublime-workspace

# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

# misc
/**/.sass-cache
/**/connect.lock
/**/UI/libpeerconnection.log
npm-debug.log
yarn-error.log
testem.log
**/UI/typings

# System Files
.DS_Store
Thumbs.db
package-lock.json

.github/CODEOWNERS
2 changes: 1 addition & 1 deletion argocd/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
<dependency>
<groupId>com.publicissapient.kpidashboard</groupId>
<artifactId>common</artifactId>
<version>${project.version}</version>
<version>13.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
Expand Down
2 changes: 1 addition & 1 deletion azure-boards/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
<dependency>
<groupId>com.publicissapient.kpidashboard</groupId>
<artifactId>common</artifactId>
<version>${project.version}</version>
<version>13.1.1-SNAPSHOT</version>
<scope>compile</scope>
<exclusions>
<exclusion>
Expand Down
2 changes: 1 addition & 1 deletion azure-pipeline/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
<dependency>
<groupId>com.publicissapient.kpidashboard</groupId>
<artifactId>common</artifactId>
<version>${project.version}</version>
<version>13.1.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
Expand Down
2 changes: 1 addition & 1 deletion azure-repo/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
<dependency>
<groupId>com.publicissapient.kpidashboard</groupId>
<artifactId>common</artifactId>
<version>${project.version}</version>
<version>13.1.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
Expand Down
2 changes: 1 addition & 1 deletion bamboo/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
<dependency>
<groupId>com.publicissapient.kpidashboard</groupId>
<artifactId>common</artifactId>
<version>${project.version}</version>
<version>13.1.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
Expand Down
2 changes: 1 addition & 1 deletion bitbucket/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
<dependency>
<groupId>com.publicissapient.kpidashboard</groupId>
<artifactId>common</artifactId>
<version>${project.version}</version>
<version>13.1.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
Expand Down
Loading