From 6bbfbdca38d3f10e5de48850316132604fae2b59 Mon Sep 17 00:00:00 2001 From: Pramod Kumar Yadav Date: Sat, 1 Apr 2023 21:51:32 +0200 Subject: [PATCH 1/7] add auto code review --- .../auto-code-review-pull-request.yml | 62 +++++++++++++++++++ .../reusable-workflow-to-run-tests.yml | 2 +- src/test/java/TestSandbox.java | 9 +++ 3 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/auto-code-review-pull-request.yml diff --git a/.github/workflows/auto-code-review-pull-request.yml b/.github/workflows/auto-code-review-pull-request.yml new file mode 100644 index 0000000..9cf8e81 --- /dev/null +++ b/.github/workflows/auto-code-review-pull-request.yml @@ -0,0 +1,62 @@ +name: SonarQube Code Review + +on: + pull_request: + types: [opened, edited] + +jobs: + review: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Java environment + uses: actions/setup-java@v2 + with: + java-version: '11' + + - name: Start SonarQube server + uses: pmenage/docker-compose-action@v1 + with: + compose-file: docker-compose.yml + service-name: sonarqube + run: up -d + + - name: Analyze code changes with SonarQube + run: | + # Analyze the code changes in the pull request using SonarQube + sonar-scanner \ + -Dsonar.login=${{ secrets.SONARQUBE_TOKEN }} \ + -Dsonar.host.url=http://localhost:9000 \ + -Dsonar.pullrequest.key=${{ github.event.pull_request.number }} \ + -Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }} \ + -Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }} \ + -Dsonar.analysis.mode=preview \ + -Dsonar.issuesReport.console.enable=true \ + -Dsonar.inline.mode=diff \ + -Dsonar.report.export.path=report.json \ + -Dsonar.qualitygate.wait=true + + - name: Stop SonarQube server + uses: pmenage/docker-compose-action@v1 + with: + compose-file: docker-compose.yml + service-name: sonarqube + run: down + + - name: Post feedback on pull request + uses: unsplash/comment-on-pr@v1 + with: + report_path: report.json + # The message parameter is no longer needed because we're posting feedback inline + + - name: Post inline comments on files + uses: unsplash/post-sonarqube-comments@v1 + with: + report_path: report.json + # The following parameters will determine the format of the inline comments + include_file_path: true + include_issue_description: true + include_rule_description: true diff --git a/.github/workflows/reusable-workflow-to-run-tests.yml b/.github/workflows/reusable-workflow-to-run-tests.yml index 1b12dce..98d3de7 100644 --- a/.github/workflows/reusable-workflow-to-run-tests.yml +++ b/.github/workflows/reusable-workflow-to-run-tests.yml @@ -50,4 +50,4 @@ jobs: -DTEST_ENV="${{ inputs.test-environment }}" -DTRIGGERED_BY="${{ github.event_name }}" -DRUN_NAME="${{ inputs.run-name }}" - -B package --file pom.xml + clean -B package --file pom.xml diff --git a/src/test/java/TestSandbox.java b/src/test/java/TestSandbox.java index 0250eff..a40c843 100644 --- a/src/test/java/TestSandbox.java +++ b/src/test/java/TestSandbox.java @@ -62,4 +62,13 @@ void createAFlakyTestCase() { assertTrue(false, "time is odd"); } } + + + @SmokeTest + void + assertThatTrueIsTrue2() { + assertTrue(true, "true is true"); + } + + } From 31f1e6b7f56fd0aab452e62072c318789b865fe3 Mon Sep 17 00:00:00 2001 From: Pramod Kumar Yadav Date: Sat, 1 Apr 2023 21:59:50 +0200 Subject: [PATCH 2/7] updated tag --- .github/workflows/auto-code-review-pull-request.yml | 4 ++-- src/test/java/TestSandbox.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/auto-code-review-pull-request.yml b/.github/workflows/auto-code-review-pull-request.yml index 9cf8e81..6af2e33 100644 --- a/.github/workflows/auto-code-review-pull-request.yml +++ b/.github/workflows/auto-code-review-pull-request.yml @@ -47,13 +47,13 @@ jobs: run: down - name: Post feedback on pull request - uses: unsplash/comment-on-pr@v1 + uses: unsplash/comment-on-pr@v1.3.1 with: report_path: report.json # The message parameter is no longer needed because we're posting feedback inline - name: Post inline comments on files - uses: unsplash/post-sonarqube-comments@v1 + uses: unsplash/post-sonarqube-comments@v1.3.1 with: report_path: report.json # The following parameters will determine the format of the inline comments diff --git a/src/test/java/TestSandbox.java b/src/test/java/TestSandbox.java index a40c843..605fcef 100644 --- a/src/test/java/TestSandbox.java +++ b/src/test/java/TestSandbox.java @@ -70,5 +70,5 @@ void createAFlakyTestCase() { assertTrue(true, "true is true"); } - + } From 5188e6c656fa33aec1c4e7303b29dd4b5f99d564 Mon Sep 17 00:00:00 2001 From: Pramod Kumar Yadav Date: Sat, 1 Apr 2023 22:01:27 +0200 Subject: [PATCH 3/7] update trigger --- .github/workflows/auto-code-review-pull-request.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/auto-code-review-pull-request.yml b/.github/workflows/auto-code-review-pull-request.yml index 6af2e33..6b4472f 100644 --- a/.github/workflows/auto-code-review-pull-request.yml +++ b/.github/workflows/auto-code-review-pull-request.yml @@ -2,7 +2,7 @@ name: SonarQube Code Review on: pull_request: - types: [opened, edited] + branches: [ main ] jobs: review: From e5675a7cebf658aa6cb91db7c37db414c40321ec Mon Sep 17 00:00:00 2001 From: Pramod Kumar Yadav Date: Sat, 1 Apr 2023 22:24:07 +0200 Subject: [PATCH 4/7] changes to run sonarqube using compose --- .../workflows/auto-code-review-pull-request.yml | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/.github/workflows/auto-code-review-pull-request.yml b/.github/workflows/auto-code-review-pull-request.yml index 6b4472f..599fb29 100644 --- a/.github/workflows/auto-code-review-pull-request.yml +++ b/.github/workflows/auto-code-review-pull-request.yml @@ -18,11 +18,11 @@ jobs: java-version: '11' - name: Start SonarQube server - uses: pmenage/docker-compose-action@v1 - with: - compose-file: docker-compose.yml - service-name: sonarqube - run: up -d + run: | + docker-compose up -d sonarqube + echo "Waiting for SonarQube server to start..." + while ! curl -sSf http://localhost:9000; do sleep 1; done + echo "SonarQube server started!" - name: Analyze code changes with SonarQube run: | @@ -40,11 +40,7 @@ jobs: -Dsonar.qualitygate.wait=true - name: Stop SonarQube server - uses: pmenage/docker-compose-action@v1 - with: - compose-file: docker-compose.yml - service-name: sonarqube - run: down + run: docker-compose down - name: Post feedback on pull request uses: unsplash/comment-on-pr@v1.3.1 From d268ad27d9296f57b153d1fb80fc81397de43831 Mon Sep 17 00:00:00 2001 From: Pramod Kumar Yadav Date: Sat, 1 Apr 2023 22:25:46 +0200 Subject: [PATCH 5/7] comment last step for now --- .../workflows/auto-code-review-pull-request.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/auto-code-review-pull-request.yml b/.github/workflows/auto-code-review-pull-request.yml index 599fb29..e44f4a5 100644 --- a/.github/workflows/auto-code-review-pull-request.yml +++ b/.github/workflows/auto-code-review-pull-request.yml @@ -48,11 +48,11 @@ jobs: report_path: report.json # The message parameter is no longer needed because we're posting feedback inline - - name: Post inline comments on files - uses: unsplash/post-sonarqube-comments@v1.3.1 - with: - report_path: report.json - # The following parameters will determine the format of the inline comments - include_file_path: true - include_issue_description: true - include_rule_description: true +# - name: Post inline comments on files +# uses: unsplash/post-sonarqube-comments@v1.3.1 +# with: +# report_path: report.json +# # The following parameters will determine the format of the inline comments +# include_file_path: true +# include_issue_description: true +# include_rule_description: true From e86ab47fbb7fddd68aa7dd3bcd2cadbce1f1b360 Mon Sep 17 00:00:00 2001 From: Pramod Kumar Yadav Date: Sat, 1 Apr 2023 22:27:06 +0200 Subject: [PATCH 6/7] add java and maven --- .github/workflows/auto-code-review-pull-request.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/auto-code-review-pull-request.yml b/.github/workflows/auto-code-review-pull-request.yml index e44f4a5..77f7344 100644 --- a/.github/workflows/auto-code-review-pull-request.yml +++ b/.github/workflows/auto-code-review-pull-request.yml @@ -12,10 +12,12 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - - name: Set up Java environment - uses: actions/setup-java@v2 + - name: Set up JDK 11 + uses: actions/setup-java@v3 with: java-version: '11' + distribution: 'temurin' + cache: maven - name: Start SonarQube server run: | From 6faf2f7861bc70ecd747227f6e9d5f1f4a4e3534 Mon Sep 17 00:00:00 2001 From: Pramod Kumar Yadav Date: Sat, 1 Apr 2023 22:34:50 +0200 Subject: [PATCH 7/7] try scan on remote --- .../auto-code-review-pull-request.yml | 45 +++++++++---------- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/.github/workflows/auto-code-review-pull-request.yml b/.github/workflows/auto-code-review-pull-request.yml index 77f7344..f7f6d7a 100644 --- a/.github/workflows/auto-code-review-pull-request.yml +++ b/.github/workflows/auto-code-review-pull-request.yml @@ -19,30 +19,27 @@ jobs: distribution: 'temurin' cache: maven - - name: Start SonarQube server - run: | - docker-compose up -d sonarqube - echo "Waiting for SonarQube server to start..." - while ! curl -sSf http://localhost:9000; do sleep 1; done - echo "SonarQube server started!" - - - name: Analyze code changes with SonarQube - run: | - # Analyze the code changes in the pull request using SonarQube - sonar-scanner \ - -Dsonar.login=${{ secrets.SONARQUBE_TOKEN }} \ - -Dsonar.host.url=http://localhost:9000 \ - -Dsonar.pullrequest.key=${{ github.event.pull_request.number }} \ - -Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }} \ - -Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }} \ - -Dsonar.analysis.mode=preview \ - -Dsonar.issuesReport.console.enable=true \ - -Dsonar.inline.mode=diff \ - -Dsonar.report.export.path=report.json \ - -Dsonar.qualitygate.wait=true - - - name: Stop SonarQube server - run: docker-compose down + # Triggering SonarQube analysis as results of it are required by Quality Gate check. + - name: SonarQube Scan + uses: sonarsource/sonarqube-scan-action@master + env: + SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} + SONAR_HOST_URL: "https://sonarcloud.io/project/overview?id=PramodKumarYadav_zero" + +# - name: Analyze code changes with SonarQube +# run: | +# # Analyze the code changes in the pull request using SonarQube +# sonar-scanner \ +# -Dsonar.login=${{ secrets.SONARQUBE_TOKEN }} \ +# -Dsonar.host.url=http://localhost:9000 \ +# -Dsonar.pullrequest.key=${{ github.event.pull_request.number }} \ +# -Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }} \ +# -Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }} \ +# -Dsonar.analysis.mode=preview \ +# -Dsonar.issuesReport.console.enable=true \ +# -Dsonar.inline.mode=diff \ +# -Dsonar.report.export.path=report.json \ +# -Dsonar.qualitygate.wait=true - name: Post feedback on pull request uses: unsplash/comment-on-pr@v1.3.1