add GHA pipeline for sonarqube test
This commit is contained in:
64
.github/workflows/build-and-publish-develop.yaml
vendored
64
.github/workflows/build-and-publish-develop.yaml
vendored
@@ -14,6 +14,70 @@ env:
|
||||
RELEASE_DEPLOYMENT_REPOSITORY_URL: ${{ secrets.RELEASE_DEPLOYMENT_REPOSITORY_URL }}
|
||||
|
||||
jobs:
|
||||
sonarqube-test:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
packages: write
|
||||
name: Build Java Package and Publish
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
|
||||
- uses: actions/setup-java@v4.2.2
|
||||
if: ${{ hashFiles('**/pom.xml') }}
|
||||
with:
|
||||
java-version: 17
|
||||
distribution: zulu
|
||||
cache: 'maven'
|
||||
- name: Cache SonarQube packages
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.sonar/cache
|
||||
key: ${{ runner.os }}-sonar
|
||||
restore-keys: ${{ runner.os }}-sonar
|
||||
- name: Cache Maven packages
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.m2
|
||||
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
||||
restore-keys: ${{ runner.os }}-m2
|
||||
- name: maven-settings-xml-action
|
||||
uses: whelk-io/maven-settings-xml-action@v22
|
||||
with:
|
||||
profiles: >
|
||||
[{
|
||||
"id": "homelab",
|
||||
"properties": {
|
||||
"altSnapshotDeploymentRepository": "nexus-snapshot::${env.SNAPSHOT_DEPLOYMENT_REPOSITORY_URL}",
|
||||
"altReleaseDeploymentRepository": "nexus-release::${env.RELEASE_DEPLOYMENT_REPOSITORY_URL}"
|
||||
}
|
||||
}]
|
||||
repositories: >
|
||||
[{
|
||||
"id": "maven-public",
|
||||
"url": "${env.MAVEN_PUBLIC_REPOSITORY_URL}",
|
||||
"snapshots": {
|
||||
"enabled": "true"
|
||||
}
|
||||
}]
|
||||
servers: >
|
||||
[{
|
||||
"id": "nexus-snapshot",
|
||||
"username": "${env.NEXUS_USERNAME}",
|
||||
"password": "${env.NEXUS_PASSWORD}"
|
||||
},
|
||||
{
|
||||
"id": "nexus-release",
|
||||
"username": "${env.NEXUS_USERNAME}",
|
||||
"password": "${env.NEXUS_PASSWORD}"
|
||||
}]
|
||||
- name: Build and analyse
|
||||
env:
|
||||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
||||
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
|
||||
run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=ec-microservice-commons -Dsonar.projectName='ec-microservice-commons' -P homelab
|
||||
build-java:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
|
||||
64
.github/workflows/build-and-publish-release.yml
vendored
64
.github/workflows/build-and-publish-release.yml
vendored
@@ -14,6 +14,70 @@ env:
|
||||
RELEASE_DEPLOYMENT_REPOSITORY_URL: ${{ secrets.RELEASE_DEPLOYMENT_REPOSITORY_URL }}
|
||||
|
||||
jobs:
|
||||
sonarqube-test:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
packages: write
|
||||
name: Build Java Package and Publish
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
|
||||
- uses: actions/setup-java@v4.2.2
|
||||
if: ${{ hashFiles('**/pom.xml') }}
|
||||
with:
|
||||
java-version: 17
|
||||
distribution: zulu
|
||||
cache: 'maven'
|
||||
- name: Cache SonarQube packages
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.sonar/cache
|
||||
key: ${{ runner.os }}-sonar
|
||||
restore-keys: ${{ runner.os }}-sonar
|
||||
- name: Cache Maven packages
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.m2
|
||||
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
||||
restore-keys: ${{ runner.os }}-m2
|
||||
- name: maven-settings-xml-action
|
||||
uses: whelk-io/maven-settings-xml-action@v22
|
||||
with:
|
||||
profiles: >
|
||||
[{
|
||||
"id": "homelab",
|
||||
"properties": {
|
||||
"altSnapshotDeploymentRepository": "nexus-snapshot::${env.SNAPSHOT_DEPLOYMENT_REPOSITORY_URL}",
|
||||
"altReleaseDeploymentRepository": "nexus-release::${env.RELEASE_DEPLOYMENT_REPOSITORY_URL}"
|
||||
}
|
||||
}]
|
||||
repositories: >
|
||||
[{
|
||||
"id": "maven-public",
|
||||
"url": "${env.MAVEN_PUBLIC_REPOSITORY_URL}",
|
||||
"snapshots": {
|
||||
"enabled": "true"
|
||||
}
|
||||
}]
|
||||
servers: >
|
||||
[{
|
||||
"id": "nexus-snapshot",
|
||||
"username": "${env.NEXUS_USERNAME}",
|
||||
"password": "${env.NEXUS_PASSWORD}"
|
||||
},
|
||||
{
|
||||
"id": "nexus-release",
|
||||
"username": "${env.NEXUS_USERNAME}",
|
||||
"password": "${env.NEXUS_PASSWORD}"
|
||||
}]
|
||||
- name: Build and analyse
|
||||
env:
|
||||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
||||
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
|
||||
run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=ec-microservice-commons -Dsonar.projectName='ec-microservice-commons' -P homelab
|
||||
build-java:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
|
||||
40
.github/workflows/sonarqube.yaml
vendored
40
.github/workflows/sonarqube.yaml
vendored
@@ -3,21 +3,25 @@ name: Build
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- '!main'
|
||||
- '!develop'
|
||||
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build and analyze
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@v1
|
||||
- uses: actions/setup-java@v4.2.2
|
||||
if: ${{ hashFiles('**/pom.xml') }}
|
||||
with:
|
||||
java-version: 17
|
||||
distribution: zulu
|
||||
cache: 'maven'
|
||||
- name: Cache SonarQube packages
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
@@ -30,6 +34,36 @@ jobs:
|
||||
path: ~/.m2
|
||||
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
||||
restore-keys: ${{ runner.os }}-m2
|
||||
- name: maven-settings-xml-action
|
||||
uses: whelk-io/maven-settings-xml-action@v22
|
||||
with:
|
||||
profiles: >
|
||||
[{
|
||||
"id": "homelab",
|
||||
"properties": {
|
||||
"altSnapshotDeploymentRepository": "nexus-snapshot::${env.SNAPSHOT_DEPLOYMENT_REPOSITORY_URL}",
|
||||
"altReleaseDeploymentRepository": "nexus-release::${env.RELEASE_DEPLOYMENT_REPOSITORY_URL}"
|
||||
}
|
||||
}]
|
||||
repositories: >
|
||||
[{
|
||||
"id": "maven-public",
|
||||
"url": "${env.MAVEN_PUBLIC_REPOSITORY_URL}",
|
||||
"snapshots": {
|
||||
"enabled": "true"
|
||||
}
|
||||
}]
|
||||
servers: >
|
||||
[{
|
||||
"id": "nexus-snapshot",
|
||||
"username": "${env.NEXUS_USERNAME}",
|
||||
"password": "${env.NEXUS_PASSWORD}"
|
||||
},
|
||||
{
|
||||
"id": "nexus-release",
|
||||
"username": "${env.NEXUS_USERNAME}",
|
||||
"password": "${env.NEXUS_PASSWORD}"
|
||||
}]
|
||||
- name: Build and analyze
|
||||
env:
|
||||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
||||
|
||||
Reference in New Issue
Block a user