This is an automated email from the ASF dual-hosted git repository.
mmuzaf pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new 93155687fe3 IGNIE-19178 Analyze banches and pull requests with
SonarCloud (#10621)
93155687fe3 is described below
commit 93155687fe31c18a5be70a3791420e5b9d24aa41
Author: Maxim Muzafarov <[email protected]>
AuthorDate: Fri Apr 7 18:03:51 2023 +0300
IGNIE-19178 Analyze banches and pull requests with SonarCloud (#10621)
* IGNIE-19178 Analyze Apache Ignite project with SonarCloud
---
.github/workflows/commit-check.yml | 11 ++--
.github/workflows/sonar-branch.yml | 77 ++++++++++++++++++++++++++++
.github/workflows/sonar-pr-from-fork.yml | 87 ++++++++++++++++++++++++++++++++
parent/pom.xml | 3 ++
4 files changed, 174 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/commit-check.yml
b/.github/workflows/commit-check.yml
index e488d9a14ef..ad818297108 100644
--- a/.github/workflows/commit-check.yml
+++ b/.github/workflows/commit-check.yml
@@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-name: Check code style and abandoned tests.
+name: Code Style, Abandoned Tests
on:
pull_request:
push:
@@ -21,6 +21,10 @@ on:
- master
- 'ignite-[0-9].[0-9]+.[0-9]+*'
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number ||
github.ref }}
+ cancel-in-progress: true
+
jobs:
check-java:
runs-on: ubuntu-latest
@@ -54,13 +58,12 @@ jobs:
- name: Run codestyle and licenses checks
run: |
- mvn test-compile
-Pall-java,licenses,lgpl,checkstyle,examples,all-scala,scala,check-licenses -B
-V
+ ./mvnw test-compile
-Pall-java,licenses,lgpl,checkstyle,examples,all-scala,scala,check-licenses -B
-V
- name: Run abandoned tests checks.
if: ${{ matrix.java == '8' }}
run : |
- mvn test -Pcheck-test-suites,all-java,all-scala,scala -B -V
-
+ ./mvnw test -Pcheck-test-suites,all-java,all-scala,scala -B -V
check-dotnet:
name: Сheck .NET code
diff --git a/.github/workflows/sonar-branch.yml
b/.github/workflows/sonar-branch.yml
new file mode 100644
index 00000000000..6a8628c5360
--- /dev/null
+++ b/.github/workflows/sonar-branch.yml
@@ -0,0 +1,77 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+name: Sonar Quality Branch Analysis
+
+on:
+ push:
+ branches:
+ - master
+ - 'ignite-[0-9].[0-9]+.[0-9]+*'
+
+env:
+ MAVEN_OPTS: -Xms2g
+
+jobs:
+ sonarcloud:
+ name: Sonar Analysis
+ if: github.repository == 'apache/ignite'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+
+ - name: Setup java
+ uses: actions/setup-java@v3
+ with:
+ distribution: 'temurin'
+ java-version: 11
+ cache: 'maven'
+
+ - name: Cache SonarCloud packages
+ uses: actions/cache@v3
+ with:
+ path: ~/.sonar/cache
+ key: ${{ runner.os }}-sonar
+ restore-keys: ${{ runner.os }}-sonar
+
+ - name: Cache Maven packages
+ uses: actions/cache@v3
+ with:
+ path: ~/.m2
+ key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-m2
+
+ - name: Install Libnuma
+ run: sudo apt-get update && sudo apt-get install libnuma-dev
+
+ - name: Build with Maven
+ run: |
+ ./mvnw install -P all-java,lgpl,examples,skip-docs -DskipTests -B -V
+
+ - name: Sonar Analyze Upload
+ run: >
+ ./mvnw org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
+ -P all-java,lgpl,examples,skip-docs
+ -Dsonar.branch.name=${{ github.ref_name }}
+ -Dsonar.projectKey=apache_ignite
+ -Dsonar.login=${SONARCLOUD_TOKEN}
+ -B -V
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ SONARCLOUD_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }}
diff --git a/.github/workflows/sonar-pr-from-fork.yml
b/.github/workflows/sonar-pr-from-fork.yml
new file mode 100644
index 00000000000..8c1e1f78e08
--- /dev/null
+++ b/.github/workflows/sonar-pr-from-fork.yml
@@ -0,0 +1,87 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+name: Sonar Quality Pull Request Analysis
+
+on: [pull_request_target]
+
+permissions:
+ contents: read
+
+env:
+ MAVEN_OPTS: -Xms2g
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number ||
github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ sonarcloud:
+ if: github.repository == 'apache/ignite'
+ name: Sonar Analysis
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ ref: "refs/pull/${{ github.event.number }}/merge"
+ fetch-depth: 0
+
+ - name: Set up JDK11
+ uses: actions/setup-java@v3
+ with:
+ distribution: 'temurin'
+ java-version: '11'
+ cache: 'maven'
+
+ - name: Cache SonarCloud packages
+ uses: actions/cache@v3
+ with:
+ path: ~/.sonar/cache
+ key: ${{ runner.os }}-sonar
+ restore-keys: ${{ runner.os }}-sonar
+
+ - name: Cache local Maven repository
+ uses: actions/cache@v3
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-m2
+
+ - name: Install Libnuma
+ run: sudo apt-get update && sudo apt-get install libnuma-dev
+
+ - name: Build with Maven
+ run: |
+ ./mvnw clean install -P all-java,lgpl,examples,skip-docs -DskipTests
-B -V
+
+ - name: Sonar Analyze Upload
+ run: >
+ ./mvnw org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
+ -P all-java,lgpl,examples,skip-docs
+ -Dsonar.pullrequest.branch=${{ github.head_ref }}
+ -Dsonar.pullrequest.base=${{ github.base_ref }}
+ -Dsonar.pullrequest.key=${{ github.event.pull_request.number }}
+ -Dsonar.pullrequest.github.repository=apache/ignite
+ -Dsonar.pullrequest.provider=GitHub
+ -Dsonar.pullrequest.github.summary_comment=true
+ -Dsonar.projectKey=apache_ignite
+ -Dsonar.login=${SONARCLOUD_TOKEN}
+ -B -V
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ SONARCLOUD_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }}
diff --git a/parent/pom.xml b/parent/pom.xml
index 71730159b9f..82b5a0ba4c8 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -155,6 +155,9 @@
<!-- Maven plugins versions -->
<maven.javadoc.plugin.version>3.2.0</maven.javadoc.plugin.version>
+ <sonar.organization>apache</sonar.organization>
+ <sonar.host.url>https://sonarcloud.io</sonar.host.url>
+ <sonar.exclusions>**/generated/**/*</sonar.exclusions>
<!-- OSGI Manifest generation default property values -->
<osgi.import.package>*</osgi.import.package>