From 9e5a42875504696b91dfb32134893fdbdb9d400b Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 11:45:50 -0500 Subject: [PATCH 01/63] Verifying PR index for curl request #3. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index b4667762..847bc864 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -4,9 +4,6 @@ on: push: branches-ignore: - main - create: - branches: - - '**' jobs: # Job 1: Check if PR exists and create one if the branch is new @@ -129,7 +126,7 @@ jobs: # }' - name: Verify PR number run: | - echo "PR number: ${{ gitea.event.pull_request.number }}" + echo "PR number: ${{ github.event.pull_request.number }}" # - name: Post SonarQube Results as Comment # run: | From 4d0f5bb1f4d4a722bbf2d29ac9920a4c754fbf42 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 11:56:36 -0500 Subject: [PATCH 02/63] Testing out find PR action. --- .../workflows/branch-sonarscan-pr-merge.yml | 201 +++++++++--------- 1 file changed, 98 insertions(+), 103 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 847bc864..2393c9ec 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -18,115 +18,110 @@ jobs: - name: Checkout Code uses: actions/checkout@v4 - - name: Check if PR Exists - id: check-pr - run: | - echo "Checking for existing PR..." - curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/main/${{ github.ref_name }} \ - -X 'GET' \ - -H 'Accept: application/json' \ - -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ - -s | jq '{index: .number, state: .state}' > pr_status.json - echo "pr_status=$(jq -c . pr_status.json)" >> "$GITHUB_OUTPUT" - - - name: Create PR in Gitea - if: ${{ steps.check-pr.outputs.pr_status.state }} == 'closed' - id: create-pr - run: | - echo "Creating PR..." - curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls \ - -X 'POST' \ - -H 'Accept: application/json' \ - -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ - -H 'Content-Type: application/json' \ - -d '{ - "title": "PR: ${{ github.ref_name }} -> main", - "body": "This is an automated PR created by Gitea Actions.", - "base": "main", - "head": "${{ github.ref_name }}" - }' | jq '{index: .number}' > pr_created.json - echo "pr_created=$(jq -c . pr_created.json)" >> "$GITHUB_OUTPUT" - - # Job 2: Run SonarQube Analysis - sonarqube-analysis: - name: SonarQube Analysis - runs-on: ubuntu-latest - needs: check-and-create-pr - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - # - name: Start Gitea-Sonarqube Bot - # uses: docker://justusbunsi/gitea-sonarqube-bot:v0.3.3 - # with: - # # Required inputs for the bot - # args: > - # --sonarqube-url ${{ secrets.SONARQUBE_URL }} - # --sonarqube-token ${{ secrets.SONARQUBE_TOKEN }} - # --git-provider github - # --git-api-url https://api.github.com - # --git-token ${{ secrets.GITHUB_TOKEN }} - # --repository my-org/my-repo - # --pull-request-id ${{ github.event.pull_request.number }} - - - name: SonarQube Scan - uses: sonarsource/sonarqube-scan-action@v4.1.0 - env: - SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }} - SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} - - - name: SonarQube Quality Gate - id: quality-gate - uses: sonarsource/sonarqube-quality-gate-action@v1.1.0 - env: - SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }} - SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} - - - name: Custom Quality Gate Check - uses: DesarrolloORT/sonarqube-quality-gate-action@v1.0.1 - id: quality-gate-check + - name: Find Current PR + id: findPr + uses: jwalton/gh-find-current-pr@v1.3.3 with: - sonar-project-key: rinoa-docker - sonar-host-url: ${{ secrets.SONARQUBE_HOST }} - sonar-token: ${{ secrets.SONARQUBE_TOKEN }} + state: open + # - name: Check if PR Exists + # id: check-pr + # run: | + # echo "Checking for existing PR..." + # curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/main/${{ github.ref_name }} \ + # -X 'GET' \ + # -H 'Accept: application/json' \ + # -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ + # -s | jq '{index: .number, state: .state}' > pr_status.json + # echo "pr_status=$(jq -c . pr_status.json)" >> "$GITHUB_OUTPUT" - - name: JSON clean-up for proccessing... - id: json-cleanup - run: | - echo "Cleaning up quality gate response..." - echo '${{ steps.quality-gate-check.outputs.quality-gate-result }}' > qg_input.txt - sed -E 's/([a-zA-Z0-9_]+):/\\"\1\\":/g; s/:([^",{}\[\]]+)/:"\1"/g' qg_input.txt > qg_raw.json - jq -c '.' qg_raw.json > qg_fixed_json.json - projstatus=$(jq -r '.projectStatus.status' qg_fixed_json.json) - echo "${projstatus}" - caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json) - echo "${caycStatus}" - conditions=$(jq -c '.projectStatus.conditions' qg_fixed_json.json) - echo "${conditions}" - echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT - echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT - echo "conditions=${conditions}" >> $GITHUB_OUTPUT - echo "qg_fixed_json=$(cat qg_fixed_json.json)" >> $GITHUB_ENV + # - name: Create PR in Gitea + # if: ${{ steps.check-pr.outputs.pr_status.state }} == 'closed' + # id: create-pr + # run: | + # echo "Creating PR..." + # curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls \ + # -X 'POST' \ + # -H 'Accept: application/json' \ + # -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ + # -H 'Content-Type: application/json' \ + # -d '{ + # "title": "PR: ${{ github.ref_name }} -> main", + # "body": "This is an automated PR created by Gitea Actions.", + # "base": "main", + # "head": "${{ github.ref_name }}" + # }' | jq '{index: .number}' > pr_created.json + # echo "pr_created=$(jq -c . pr_created.json)" >> "$GITHUB_OUTPUT" - - name: Convert JSON to Markdown Table - id: convert-json-to-md - uses: buildingcash/json-to-markdown-table-action@v1.1.0 - with: - json: ${{ steps.json-cleanup.outputs.conditions }} + # # Job 2: Run SonarQube Analysis + # sonarqube-analysis: + # name: SonarQube Analysis + # runs-on: ubuntu-latest + # needs: check-and-create-pr + # steps: + # - name: Checkout Code + # uses: actions/checkout@v4 + + # # - name: Start Gitea-Sonarqube Bot + # # uses: docker://justusbunsi/gitea-sonarqube-bot:v0.3.3 + # # with: + # # # Required inputs for the bot + # # args: > + # # --sonarqube-url ${{ secrets.SONARQUBE_URL }} + # # --sonarqube-token ${{ secrets.SONARQUBE_TOKEN }} + # # --git-provider github + # # --git-api-url https://api.github.com + # # --git-token ${{ secrets.GITHUB_TOKEN }} + # # --repository my-org/my-repo + # # --pull-request-id ${{ github.event.pull_request.number }} + + # - name: SonarQube Scan + # uses: sonarsource/sonarqube-scan-action@v4.1.0 + # env: + # SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }} + # SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} + + # - name: SonarQube Quality Gate + # id: quality-gate + # uses: sonarsource/sonarqube-quality-gate-action@v1.1.0 + # env: + # SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }} + # SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} + + # - name: Custom Quality Gate Check + # uses: DesarrolloORT/sonarqube-quality-gate-action@v1.0.1 + # id: quality-gate-check + # with: + # sonar-project-key: rinoa-docker + # sonar-host-url: ${{ secrets.SONARQUBE_HOST }} + # sonar-token: ${{ secrets.SONARQUBE_TOKEN }} + + # - name: JSON clean-up for proccessing... + # id: json-cleanup + # run: | + # echo "Cleaning up quality gate response..." + # echo '${{ steps.quality-gate-check.outputs.quality-gate-result }}' > qg_input.txt + # sed -E 's/([a-zA-Z0-9_]+):/\\"\1\\":/g; s/:([^",{}\[\]]+)/:"\1"/g' qg_input.txt > qg_raw.json + # jq -c '.' qg_raw.json > qg_fixed_json.json + # projstatus=$(jq -r '.projectStatus.status' qg_fixed_json.json) + # echo "${projstatus}" + # caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json) + # echo "${caycStatus}" + # conditions=$(jq -c '.projectStatus.conditions' qg_fixed_json.json) + # echo "${conditions}" + # echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT + # echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT + # echo "conditions=${conditions}" >> $GITHUB_OUTPUT + # echo "qg_fixed_json=$(cat qg_fixed_json.json)" >> $GITHUB_ENV + + # - name: Convert JSON to Markdown Table + # id: convert-json-to-md + # uses: buildingcash/json-to-markdown-table-action@v1.1.0 + # with: + # json: ${{ steps.json-cleanup.outputs.conditions }} - # - name: Post SonarQube Results as Comment - # run: | - # curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ github.pull_request.number }}/reviews \ - # -X POST \ - # -H 'Accept: application/json' \ - # -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ - # -H 'Content-Type: application/json' \ - # -d '{ - # "body": "SonarQube analysis results:\n\n- Bugs: ${{ env.SONAR_BUGS }}\n- Vulnerabilities: ${{ env.SONAR_VULNERABILITIES }}\n- Code Smells: ${{ env.SONAR_CODE_SMELLS }}\n- Coverage: ${{ env.SONAR_COVERAGE }}%\n- Duplications: ${{ env.SONAR_DUPLICATIONS }}%\n- Quality Gate Status: ${{ env.SONAR_QUALITY_GATE_STATUS }}" - # }' - name: Verify PR number run: | - echo "PR number: ${{ github.event.pull_request.number }}" + echo "PR number: ${{ steps.findPr.outputs.pr }}" # - name: Post SonarQube Results as Comment # run: | From 951a4e9fd8666822806021305850703561cfdf1f Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 12:21:33 -0500 Subject: [PATCH 03/63] ... I feel like an idiot right now... --- .../workflows/branch-sonarscan-pr-merge.yml | 193 +++++++++--------- 1 file changed, 94 insertions(+), 99 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 2393c9ec..9c1c17db 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -18,114 +18,109 @@ jobs: - name: Checkout Code uses: actions/checkout@v4 - - name: Find Current PR - id: findPr - uses: jwalton/gh-find-current-pr@v1.3.3 + - name: Check if PR Exists + id: check-pr + run: | + echo "Checking for existing PR..." + curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/main/${{ github.ref_name }} \ + -X 'GET' \ + -H 'Accept: application/json' \ + -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ + -s | jq '{index: .number, state: .state}' > pr_status.json + echo "pr_status=$(jq -c . pr_status.json)" >> "$GITHUB_OUTPUT" + + - name: Create PR in Gitea + if: ${{ steps.check-pr.outputs.pr_status.state }} == 'closed' + id: create-pr + run: | + echo "Creating PR..." + curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls \ + -X 'POST' \ + -H 'Accept: application/json' \ + -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ + -H 'Content-Type: application/json' \ + -d '{ + "title": "PR: ${{ github.ref_name }} -> main", + "body": "This is an automated PR created by Gitea Actions.", + "base": "main", + "head": "${{ github.ref_name }}" + }' | jq '{index: .number}' > pr_created.json + echo "pr_created=$(jq -c . pr_created.json)" >> "$GITHUB_OUTPUT" + + sonarqube-analysis: + name: SonarQube Analysis + runs-on: ubuntu-latest + needs: check-and-create-pr + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + # - name: Start Gitea-Sonarqube Bot + # uses: docker://justusbunsi/gitea-sonarqube-bot:v0.3.3 + # with: + # # Required inputs for the bot + # args: > + # --sonarqube-url ${{ secrets.SONARQUBE_URL }} + # --sonarqube-token ${{ secrets.SONARQUBE_TOKEN }} + # --git-provider github + # --git-api-url https://api.github.com + # --git-token ${{ secrets.GITHUB_TOKEN }} + # --repository my-org/my-repo + # --pull-request-id ${{ github.event.pull_request.number }} + + - name: SonarQube Scan + uses: sonarsource/sonarqube-scan-action@v4.1.0 + env: + SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }} + SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} + + - name: SonarQube Quality Gate + id: quality-gate + uses: sonarsource/sonarqube-quality-gate-action@v1.1.0 + env: + SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }} + SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} + + - name: Custom Quality Gate Check + uses: DesarrolloORT/sonarqube-quality-gate-action@v1.0.1 + id: quality-gate-check with: - state: open - # - name: Check if PR Exists - # id: check-pr - # run: | - # echo "Checking for existing PR..." - # curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/main/${{ github.ref_name }} \ - # -X 'GET' \ - # -H 'Accept: application/json' \ - # -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ - # -s | jq '{index: .number, state: .state}' > pr_status.json - # echo "pr_status=$(jq -c . pr_status.json)" >> "$GITHUB_OUTPUT" + sonar-project-key: rinoa-docker + sonar-host-url: ${{ secrets.SONARQUBE_HOST }} + sonar-token: ${{ secrets.SONARQUBE_TOKEN }} - # - name: Create PR in Gitea - # if: ${{ steps.check-pr.outputs.pr_status.state }} == 'closed' - # id: create-pr - # run: | - # echo "Creating PR..." - # curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls \ - # -X 'POST' \ - # -H 'Accept: application/json' \ - # -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ - # -H 'Content-Type: application/json' \ - # -d '{ - # "title": "PR: ${{ github.ref_name }} -> main", - # "body": "This is an automated PR created by Gitea Actions.", - # "base": "main", - # "head": "${{ github.ref_name }}" - # }' | jq '{index: .number}' > pr_created.json - # echo "pr_created=$(jq -c . pr_created.json)" >> "$GITHUB_OUTPUT" + - name: JSON clean-up for proccessing... + id: json-cleanup + run: | + echo "Cleaning up quality gate response..." + echo '${{ steps.quality-gate-check.outputs.quality-gate-result }}' > qg_input.txt + sed -E 's/([a-zA-Z0-9_]+):/\\"\1\\":/g; s/:([^",{}\[\]]+)/:"\1"/g' qg_input.txt > qg_raw.json + jq -c '.' qg_raw.json > qg_fixed_json.json + projstatus=$(jq -r '.projectStatus.status' qg_fixed_json.json) + echo "${projstatus}" + caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json) + echo "${caycStatus}" + conditions=$(jq -c '.projectStatus.conditions' qg_fixed_json.json) + echo "${conditions}" + echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT + echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT + echo "conditions=${conditions}" >> $GITHUB_OUTPUT + echo "qg_fixed_json=$(cat qg_fixed_json.json)" >> $GITHUB_ENV - # # Job 2: Run SonarQube Analysis - # sonarqube-analysis: - # name: SonarQube Analysis - # runs-on: ubuntu-latest - # needs: check-and-create-pr - # steps: - # - name: Checkout Code - # uses: actions/checkout@v4 - - # # - name: Start Gitea-Sonarqube Bot - # # uses: docker://justusbunsi/gitea-sonarqube-bot:v0.3.3 - # # with: - # # # Required inputs for the bot - # # args: > - # # --sonarqube-url ${{ secrets.SONARQUBE_URL }} - # # --sonarqube-token ${{ secrets.SONARQUBE_TOKEN }} - # # --git-provider github - # # --git-api-url https://api.github.com - # # --git-token ${{ secrets.GITHUB_TOKEN }} - # # --repository my-org/my-repo - # # --pull-request-id ${{ github.event.pull_request.number }} - - # - name: SonarQube Scan - # uses: sonarsource/sonarqube-scan-action@v4.1.0 - # env: - # SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }} - # SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} - - # - name: SonarQube Quality Gate - # id: quality-gate - # uses: sonarsource/sonarqube-quality-gate-action@v1.1.0 - # env: - # SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }} - # SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} - - # - name: Custom Quality Gate Check - # uses: DesarrolloORT/sonarqube-quality-gate-action@v1.0.1 - # id: quality-gate-check - # with: - # sonar-project-key: rinoa-docker - # sonar-host-url: ${{ secrets.SONARQUBE_HOST }} - # sonar-token: ${{ secrets.SONARQUBE_TOKEN }} - - # - name: JSON clean-up for proccessing... - # id: json-cleanup - # run: | - # echo "Cleaning up quality gate response..." - # echo '${{ steps.quality-gate-check.outputs.quality-gate-result }}' > qg_input.txt - # sed -E 's/([a-zA-Z0-9_]+):/\\"\1\\":/g; s/:([^",{}\[\]]+)/:"\1"/g' qg_input.txt > qg_raw.json - # jq -c '.' qg_raw.json > qg_fixed_json.json - # projstatus=$(jq -r '.projectStatus.status' qg_fixed_json.json) - # echo "${projstatus}" - # caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json) - # echo "${caycStatus}" - # conditions=$(jq -c '.projectStatus.conditions' qg_fixed_json.json) - # echo "${conditions}" - # echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT - # echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT - # echo "conditions=${conditions}" >> $GITHUB_OUTPUT - # echo "qg_fixed_json=$(cat qg_fixed_json.json)" >> $GITHUB_ENV - - # - name: Convert JSON to Markdown Table - # id: convert-json-to-md - # uses: buildingcash/json-to-markdown-table-action@v1.1.0 - # with: - # json: ${{ steps.json-cleanup.outputs.conditions }} + - name: Convert JSON to Markdown Table + id: convert-json-to-md + uses: buildingcash/json-to-markdown-table-action@v1.1.0 + with: + json: ${{ steps.json-cleanup.outputs.conditions }} - name: Verify PR number run: | - echo "PR number: ${{ steps.findPr.outputs.pr }}" + echo "PR number: ${{ steps.create-pr.outputs.pr_created }}" + # - name: Post SonarQube Results as Comment # run: | - # curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ github.pull_request.number }}/reviews \ + # curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.create-pr.outputs.pr_created }}/reviews \ # -X POST \ # -H 'Accept: application/json' \ # -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ From 0b9cc8bcc1c8884ce680191e4ca4cdf798b31b0b Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 12:24:32 -0500 Subject: [PATCH 04/63] ... I feel like an idiot right now... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 9c1c17db..cdcb7d9a 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -116,11 +116,10 @@ jobs: - name: Verify PR number run: | echo "PR number: ${{ steps.create-pr.outputs.pr_created }}" - # - name: Post SonarQube Results as Comment # run: | - # curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.create-pr.outputs.pr_created }}/reviews \ + # curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.create-pr.outputs.pr_created. }}/reviews \ # -X POST \ # -H 'Accept: application/json' \ # -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ From 11cf04cfab5bafb2fb2d1c67df80fa15940513a6 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 12:32:03 -0500 Subject: [PATCH 05/63] K, maybe not as much... --- .../workflows/branch-sonarscan-pr-merge.yml | 44 ++++++++++--------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index cdcb7d9a..c8f814e0 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -45,28 +45,19 @@ jobs: "base": "main", "head": "${{ github.ref_name }}" }' | jq '{index: .number}' > pr_created.json - echo "pr_created=$(jq -c . pr_created.json)" >> "$GITHUB_OUTPUT" + echo "pr_created=$(cat pr_created.json | jq -c .index)" >> "$GITHUB_OUTPUT" - sonarqube-analysis: - name: SonarQube Analysis - runs-on: ubuntu-latest - needs: check-and-create-pr - steps: - - name: Checkout Code - uses: actions/checkout@v4 + - name: Verify PR number + run: | + echo "PR number: ${{ steps.create-pr.outputs.pr_created }}" - # - name: Start Gitea-Sonarqube Bot - # uses: docker://justusbunsi/gitea-sonarqube-bot:v0.3.3 - # with: - # # Required inputs for the bot - # args: > - # --sonarqube-url ${{ secrets.SONARQUBE_URL }} - # --sonarqube-token ${{ secrets.SONARQUBE_TOKEN }} - # --git-provider github - # --git-api-url https://api.github.com - # --git-token ${{ secrets.GITHUB_TOKEN }} - # --repository my-org/my-repo - # --pull-request-id ${{ github.event.pull_request.number }} + # sonarqube-analysis: + # name: SonarQube Analysis + # runs-on: ubuntu-latest + # needs: check-and-create-pr + # steps: + # - name: Checkout Code + # uses: actions/checkout@v4 - name: SonarQube Scan uses: sonarsource/sonarqube-scan-action@v4.1.0 @@ -117,6 +108,19 @@ jobs: run: | echo "PR number: ${{ steps.create-pr.outputs.pr_created }}" + # - name: Start Gitea-Sonarqube Bot + # uses: docker://justusbunsi/gitea-sonarqube-bot:v0.3.3 + # with: + # # Required inputs for the bot + # args: > + # --sonarqube-url ${{ secrets.SONARQUBE_URL }} + # --sonarqube-token ${{ secrets.SONARQUBE_TOKEN }} + # --git-provider github + # --git-api-url https://api.github.com + # --git-token ${{ secrets.GITHUB_TOKEN }} + # --repository my-org/my-repo + # --pull-request-id ${{ github.event.pull_request.number }} + # - name: Post SonarQube Results as Comment # run: | # curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.create-pr.outputs.pr_created. }}/reviews \ From 62f55cb2bf158dcb9912320cc09118ab0acd933d Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 12:36:04 -0500 Subject: [PATCH 06/63] K, maybe not as much.. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index c8f814e0..6eb7652a 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -45,7 +45,7 @@ jobs: "base": "main", "head": "${{ github.ref_name }}" }' | jq '{index: .number}' > pr_created.json - echo "pr_created=$(cat pr_created.json | jq -c .index)" >> "$GITHUB_OUTPUT" + echo "pr_created=$(cat pr_created.json | jq -c .)" >> "$GITHUB_OUTPUT" - name: Verify PR number run: | From 85c157ff95d7a325cc6cf9441ba6b7df8dfd1f0f Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 12:37:35 -0500 Subject: [PATCH 07/63] Limiting pipeline for testing. --- .../workflows/branch-sonarscan-pr-merge.yml | 88 +++++++++---------- 1 file changed, 42 insertions(+), 46 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 6eb7652a..1a3092cf 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -56,57 +56,53 @@ jobs: # runs-on: ubuntu-latest # needs: check-and-create-pr # steps: - # - name: Checkout Code - # uses: actions/checkout@v4 + # - name: Checkout Code + # uses: actions/checkout@v4 - - name: SonarQube Scan - uses: sonarsource/sonarqube-scan-action@v4.1.0 - env: - SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }} - SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} + # - name: SonarQube Scan + # uses: sonarsource/sonarqube-scan-action@v4.1.0 + # env: + # SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }} + # SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} - - name: SonarQube Quality Gate - id: quality-gate - uses: sonarsource/sonarqube-quality-gate-action@v1.1.0 - env: - SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }} - SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} + # - name: SonarQube Quality Gate + # id: quality-gate + # uses: sonarsource/sonarqube-quality-gate-action@v1.1.0 + # env: + # SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }} + # SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} - - name: Custom Quality Gate Check - uses: DesarrolloORT/sonarqube-quality-gate-action@v1.0.1 - id: quality-gate-check - with: - sonar-project-key: rinoa-docker - sonar-host-url: ${{ secrets.SONARQUBE_HOST }} - sonar-token: ${{ secrets.SONARQUBE_TOKEN }} + # - name: Custom Quality Gate Check + # uses: DesarrolloORT/sonarqube-quality-gate-action@v1.0.1 + # id: quality-gate-check + # with: + # sonar-project-key: rinoa-docker + # sonar-host-url: ${{ secrets.SONARQUBE_HOST }} + # sonar-token: ${{ secrets.SONARQUBE_TOKEN }} - - name: JSON clean-up for proccessing... - id: json-cleanup - run: | - echo "Cleaning up quality gate response..." - echo '${{ steps.quality-gate-check.outputs.quality-gate-result }}' > qg_input.txt - sed -E 's/([a-zA-Z0-9_]+):/\\"\1\\":/g; s/:([^",{}\[\]]+)/:"\1"/g' qg_input.txt > qg_raw.json - jq -c '.' qg_raw.json > qg_fixed_json.json - projstatus=$(jq -r '.projectStatus.status' qg_fixed_json.json) - echo "${projstatus}" - caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json) - echo "${caycStatus}" - conditions=$(jq -c '.projectStatus.conditions' qg_fixed_json.json) - echo "${conditions}" - echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT - echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT - echo "conditions=${conditions}" >> $GITHUB_OUTPUT - echo "qg_fixed_json=$(cat qg_fixed_json.json)" >> $GITHUB_ENV + # - name: JSON clean-up for proccessing... + # id: json-cleanup + # run: | + # echo "Cleaning up quality gate response..." + # echo '${{ steps.quality-gate-check.outputs.quality-gate-result }}' > qg_input.txt + # sed -E 's/([a-zA-Z0-9_]+):/\\"\1\\":/g; s/:([^",{}\[\]]+)/:"\1"/g' qg_input.txt > qg_raw.json + # jq -c '.' qg_raw.json > qg_fixed_json.json + # projstatus=$(jq -r '.projectStatus.status' qg_fixed_json.json) + # echo "${projstatus}" + # caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json) + # echo "${caycStatus}" + # conditions=$(jq -c '.projectStatus.conditions' qg_fixed_json.json) + # echo "${conditions}" + # echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT + # echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT + # echo "conditions=${conditions}" >> $GITHUB_OUTPUT + # echo "qg_fixed_json=$(cat qg_fixed_json.json)" >> $GITHUB_ENV - - name: Convert JSON to Markdown Table - id: convert-json-to-md - uses: buildingcash/json-to-markdown-table-action@v1.1.0 - with: - json: ${{ steps.json-cleanup.outputs.conditions }} - - - name: Verify PR number - run: | - echo "PR number: ${{ steps.create-pr.outputs.pr_created }}" + # - name: Convert JSON to Markdown Table + # id: convert-json-to-md + # uses: buildingcash/json-to-markdown-table-action@v1.1.0 + # with: + # json: ${{ steps.json-cleanup.outputs.conditions }} # - name: Start Gitea-Sonarqube Bot # uses: docker://justusbunsi/gitea-sonarqube-bot:v0.3.3 From 715bea089a962dc9a528d5031523479e3226bd19 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 12:44:55 -0500 Subject: [PATCH 08/63] Adding some extra logic. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 1a3092cf..2ec0b6a2 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -47,9 +47,12 @@ jobs: }' | jq '{index: .number}' > pr_created.json echo "pr_created=$(cat pr_created.json | jq -c .)" >> "$GITHUB_OUTPUT" - - name: Verify PR number + - name: Retrieve existing PR number + if: ${{ steps.check-pr.outputs.pr_status.state }} == 'open' + id: retrieve-pr run: | - echo "PR number: ${{ steps.create-pr.outputs.pr_created }}" + echo "PR already exists. Number: ${{ steps.check-pr.outputs.pr_status.index }}" + echo "pr_number=${{ steps.check-pr.outputs.pr_status.index }}" >> "$GITHUB_OUTPUT" # sonarqube-analysis: # name: SonarQube Analysis From 54f301b45e04612f55aebe6ff4d9471dd334e91f Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 12:48:52 -0500 Subject: [PATCH 09/63] Adding some extra logic. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 2ec0b6a2..ce27f929 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -27,7 +27,10 @@ jobs: -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ -s | jq '{index: .number, state: .state}' > pr_status.json - echo "pr_status=$(jq -c . pr_status.json)" >> "$GITHUB_OUTPUT" + if [ $(jq -r .index pr_status.json) != "null" ]; then + echo "pr_status=$(jq -r .index pr_status.json)" >> "$GITHUB_OUTPUT" + else + exit 1 - name: Create PR in Gitea if: ${{ steps.check-pr.outputs.pr_status.state }} == 'closed' From 8eae15b40f99dd1d0451a5b1a7d3555dca04be24 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 12:50:13 -0500 Subject: [PATCH 10/63] Adding some extra logic. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index ce27f929..deb60687 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -27,10 +27,9 @@ jobs: -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ -s | jq '{index: .number, state: .state}' > pr_status.json + cat pr_status.json if [ $(jq -r .index pr_status.json) != "null" ]; then echo "pr_status=$(jq -r .index pr_status.json)" >> "$GITHUB_OUTPUT" - else - exit 1 - name: Create PR in Gitea if: ${{ steps.check-pr.outputs.pr_status.state }} == 'closed' From 7c5fef795780d6f430a0a4df71a0e1294e356245 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 13:02:23 -0500 Subject: [PATCH 11/63] Hopefully correcting some bad jq... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index deb60687..36bb8bb1 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -27,16 +27,14 @@ jobs: -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ -s | jq '{index: .number, state: .state}' > pr_status.json - cat pr_status.json - if [ $(jq -r .index pr_status.json) != "null" ]; then - echo "pr_status=$(jq -r .index pr_status.json)" >> "$GITHUB_OUTPUT" + echo "pr_status=$(jq -r .index pr_status.json)" >> "$GITHUB_OUTPUT" - name: Create PR in Gitea if: ${{ steps.check-pr.outputs.pr_status.state }} == 'closed' id: create-pr run: | echo "Creating PR..." - curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls \ + curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls -s \ -X 'POST' \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ @@ -46,8 +44,8 @@ jobs: "body": "This is an automated PR created by Gitea Actions.", "base": "main", "head": "${{ github.ref_name }}" - }' | jq '{index: .number}' > pr_created.json - echo "pr_created=$(cat pr_created.json | jq -c .)" >> "$GITHUB_OUTPUT" + }' > pr_created.json + echo "pr_created=$(cat pr_created.json | jq -c .number)" >> "$GITHUB_OUTPUT" - name: Retrieve existing PR number if: ${{ steps.check-pr.outputs.pr_status.state }} == 'open' From 34d53b17590588adcb056e21fa6289705645cdcf Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 13:03:47 -0500 Subject: [PATCH 12/63] Hopefully correcting some bad jq... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 36bb8bb1..d614acd4 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -45,6 +45,7 @@ jobs: "base": "main", "head": "${{ github.ref_name }}" }' > pr_created.json + cat pr_created.json echo "pr_created=$(cat pr_created.json | jq -c .number)" >> "$GITHUB_OUTPUT" - name: Retrieve existing PR number From facdadea3f7e154d07228c95bac794770716b4fc Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 13:06:49 -0500 Subject: [PATCH 13/63] Hopefully correcting some bad jq... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index d614acd4..53384746 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -26,8 +26,8 @@ jobs: -X 'GET' \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ - -s | jq '{index: .number, state: .state}' > pr_status.json - echo "pr_status=$(jq -r .index pr_status.json)" >> "$GITHUB_OUTPUT" + -s | jq -c '{index: .number, state: .state}' > pr_status.json + echo "pr_status=$(cat pr_status.json)" >> "$GITHUB_OUTPUT" - name: Create PR in Gitea if: ${{ steps.check-pr.outputs.pr_status.state }} == 'closed' @@ -45,7 +45,7 @@ jobs: "base": "main", "head": "${{ github.ref_name }}" }' > pr_created.json - cat pr_created.json + cat pr_created.json | jq echo "pr_created=$(cat pr_created.json | jq -c .number)" >> "$GITHUB_OUTPUT" - name: Retrieve existing PR number From f85c2ce157f96699fe192465f43716353b48ccb9 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 13:08:21 -0500 Subject: [PATCH 14/63] Hopefully correcting some bad jq... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 53384746..a4c515b1 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -27,6 +27,7 @@ jobs: -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ -s | jq -c '{index: .number, state: .state}' > pr_status.json + cat pr_status.json echo "pr_status=$(cat pr_status.json)" >> "$GITHUB_OUTPUT" - name: Create PR in Gitea From 827b8ccd1c7c92aa082b1709eda3d0ce176ddf6c Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 13:10:14 -0500 Subject: [PATCH 15/63] Hopefully correcting some bad jq... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index a4c515b1..e8fae710 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -31,7 +31,7 @@ jobs: echo "pr_status=$(cat pr_status.json)" >> "$GITHUB_OUTPUT" - name: Create PR in Gitea - if: ${{ steps.check-pr.outputs.pr_status.state }} == 'closed' + if: ${{ steps.check-pr.outputs.pr_status.state }} == '"closed"' id: create-pr run: | echo "Creating PR..." From 3a47e96b85118f681ba05dd60cb19ddd47022c0f Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 13:12:51 -0500 Subject: [PATCH 16/63] Maybe syntax errors in conditionals.... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index e8fae710..db9e4477 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -31,7 +31,7 @@ jobs: echo "pr_status=$(cat pr_status.json)" >> "$GITHUB_OUTPUT" - name: Create PR in Gitea - if: ${{ steps.check-pr.outputs.pr_status.state }} == '"closed"' + if: steps.check-pr.outputs.pr_status.state == '"closed"' id: create-pr run: | echo "Creating PR..." From 529ea1ec84df2ae47799c2d35d090e422bc2ee89 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 13:25:23 -0500 Subject: [PATCH 17/63] Maybe syntax errors in conditionals.... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index db9e4477..205bc047 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -53,8 +53,8 @@ jobs: if: ${{ steps.check-pr.outputs.pr_status.state }} == 'open' id: retrieve-pr run: | - echo "PR already exists. Number: ${{ steps.check-pr.outputs.pr_status.index }}" - echo "pr_number=${{ steps.check-pr.outputs.pr_status.index }}" >> "$GITHUB_OUTPUT" + echo "PR already exists. Number: ${{ fromJSON(steps.check-pr.outputs.pr_status).index }}" + echo "pr_number=${{ fromJSON(steps.check-pr.outputs.pr_status).index }}" >> "$GITHUB_OUTPUT" # sonarqube-analysis: # name: SonarQube Analysis From 980b861015f97fb2bb5511bc3eeb715413ffcbd0 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 14:11:54 -0500 Subject: [PATCH 18/63] Eureka! Sort of. --- .../workflows/branch-sonarscan-pr-merge.yml | 159 +++++++++--------- 1 file changed, 75 insertions(+), 84 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 205bc047..c12522f8 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -18,24 +18,22 @@ jobs: - name: Checkout Code uses: actions/checkout@v4 - - name: Check if PR Exists - id: check-pr + - name: PR Check/Create + id: cc-pr run: | echo "Checking for existing PR..." - curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/main/${{ github.ref_name }} \ + pr_check=$(curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/main/${{ github.ref_name }} \ -X 'GET' \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ - -s | jq -c '{index: .number, state: .state}' > pr_status.json - cat pr_status.json - echo "pr_status=$(cat pr_status.json)" >> "$GITHUB_OUTPUT" - - - name: Create PR in Gitea - if: steps.check-pr.outputs.pr_status.state == '"closed"' - id: create-pr - run: | - echo "Creating PR..." - curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls -s \ + -s | jq '{index: .number, state: .state}') + if [ $(echo ${pr_check} | jq -r '.state') == '"open"' ]; then + echo "PR already exists. PR number: $(echo ${pr_check} | jq -r '.state')" + echo "pr_index=$(echo ${pr_check} | jq -r '.index')" >> "$GITHUB_ENV" + elif [ $(echo ${pr_check} | jq -r ''.state') == '"closed"' ]; then + echo "PR does not exist. Creating PR..." + echo "Creating PR..." + pr_response=$(curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls -s \ -X 'POST' \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ @@ -45,69 +43,61 @@ jobs: "body": "This is an automated PR created by Gitea Actions.", "base": "main", "head": "${{ github.ref_name }}" - }' > pr_created.json - cat pr_created.json | jq - echo "pr_created=$(cat pr_created.json | jq -c .number)" >> "$GITHUB_OUTPUT" + }') + pr_index=$(echo "$pr_response" | jq -r '.number') + echo "PR created. PR number: $pr_index" + echo "pr_index=$pr_index" >> "$GITHUB_ENV" + fi - - name: Retrieve existing PR number - if: ${{ steps.check-pr.outputs.pr_status.state }} == 'open' - id: retrieve-pr + sonarqube-analysis: + name: SonarQube Analysis + runs-on: ubuntu-latest + needs: check-and-create-pr + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - name: SonarQube Scan + uses: sonarsource/sonarqube-scan-action@v4.1.0 + env: + SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }} + SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} + + - name: SonarQube Quality Gate + id: quality-gate + uses: sonarsource/sonarqube-quality-gate-action@v1.1.0 + env: + SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }} + SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} + + - name: Custom Quality Gate Check + uses: DesarrolloORT/sonarqube-quality-gate-action@v1.0.1 + id: quality-gate-check + with: + sonar-project-key: rinoa-docker + sonar-host-url: ${{ secrets.SONARQUBE_HOST }} + sonar-token: ${{ secrets.SONARQUBE_TOKEN }} + + - name: JSON clean-up for proccessing... + id: json-cleanup run: | - echo "PR already exists. Number: ${{ fromJSON(steps.check-pr.outputs.pr_status).index }}" - echo "pr_number=${{ fromJSON(steps.check-pr.outputs.pr_status).index }}" >> "$GITHUB_OUTPUT" + echo "Cleaning up quality gate response..." + echo '${{ steps.quality-gate-check.outputs.quality-gate-result }}' > qg_input.txt + sed -E 's/([a-zA-Z0-9_]+):/\\"\1\\":/g; s/:([^",{}\[\]]+)/:"\1"/g' qg_input.txt > qg_raw.json + jq -c '.' qg_raw.json > qg_fixed_json.json + projstatus=$(jq -r '.projectStatus.status' qg_fixed_json.json) + caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json) + conditions=$(jq -r '.projectStatus.conditions' qg_fixed_json.json) + echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT + echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT + echo "conditions=${conditions}" >> $GITHUB_OUTPUT + echo "qg_fixed_json=$(cat qg_fixed_json.json)" >> $GITHUB_ENV - # sonarqube-analysis: - # name: SonarQube Analysis - # runs-on: ubuntu-latest - # needs: check-and-create-pr - # steps: - # - name: Checkout Code - # uses: actions/checkout@v4 - - # - name: SonarQube Scan - # uses: sonarsource/sonarqube-scan-action@v4.1.0 - # env: - # SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }} - # SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} - - # - name: SonarQube Quality Gate - # id: quality-gate - # uses: sonarsource/sonarqube-quality-gate-action@v1.1.0 - # env: - # SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST }} - # SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} - - # - name: Custom Quality Gate Check - # uses: DesarrolloORT/sonarqube-quality-gate-action@v1.0.1 - # id: quality-gate-check - # with: - # sonar-project-key: rinoa-docker - # sonar-host-url: ${{ secrets.SONARQUBE_HOST }} - # sonar-token: ${{ secrets.SONARQUBE_TOKEN }} - - # - name: JSON clean-up for proccessing... - # id: json-cleanup - # run: | - # echo "Cleaning up quality gate response..." - # echo '${{ steps.quality-gate-check.outputs.quality-gate-result }}' > qg_input.txt - # sed -E 's/([a-zA-Z0-9_]+):/\\"\1\\":/g; s/:([^",{}\[\]]+)/:"\1"/g' qg_input.txt > qg_raw.json - # jq -c '.' qg_raw.json > qg_fixed_json.json - # projstatus=$(jq -r '.projectStatus.status' qg_fixed_json.json) - # echo "${projstatus}" - # caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json) - # echo "${caycStatus}" - # conditions=$(jq -c '.projectStatus.conditions' qg_fixed_json.json) - # echo "${conditions}" - # echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT - # echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT - # echo "conditions=${conditions}" >> $GITHUB_OUTPUT - # echo "qg_fixed_json=$(cat qg_fixed_json.json)" >> $GITHUB_ENV - - # - name: Convert JSON to Markdown Table - # id: convert-json-to-md - # uses: buildingcash/json-to-markdown-table-action@v1.1.0 - # with: - # json: ${{ steps.json-cleanup.outputs.conditions }} + - name: Convert JSON to Markdown Table + id: convert-json-to-md + uses: buildingcash/json-to-markdown-table-action@v1.1.0 + with: + json: ${{ steps.json-cleanup.outputs.conditions }} # - name: Start Gitea-Sonarqube Bot # uses: docker://justusbunsi/gitea-sonarqube-bot:v0.3.3 @@ -122,17 +112,18 @@ jobs: # --repository my-org/my-repo # --pull-request-id ${{ github.event.pull_request.number }} - # - name: Post SonarQube Results as Comment - # run: | - # curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.create-pr.outputs.pr_created. }}/reviews \ - # -X POST \ - # -H 'Accept: application/json' \ - # -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ - # -H 'Content-Type: application/json' \ - # -d '{ - # "body": "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ steps.quality-gate.outputs.quality-gate-status }}" - # }' - # # Job 3: Merge PR if Quality Gate passes + - name: Post SonarQube Results as Comment + run: | + curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ env.pr_index }}/reviews \ + -X POST \ + -H 'Accept: application/json' \ + -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ + -H 'Content-Type: application/json' \ + -d '{ + "body": "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ steps.quality-gate.outputs.quality-gate-status }}" + }' + + # Job 3: Merge PR if Quality Gate passes # merge-pr: # runs-on: ubuntu-latest # needs: [check-and-create-pr, sonarqube-analysis] From a1c6d92fe6c739e34272f79e28cc9a65bbef572d Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 14:17:09 -0500 Subject: [PATCH 19/63] Eureka! Sort of. --- .../workflows/branch-sonarscan-pr-merge.yml | 62 +++++++++++++------ 1 file changed, 44 insertions(+), 18 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index c12522f8..78dbdc2c 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -27,27 +27,53 @@ jobs: -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ -s | jq '{index: .number, state: .state}') - if [ $(echo ${pr_check} | jq -r '.state') == '"open"' ]; then - echo "PR already exists. PR number: $(echo ${pr_check} | jq -r '.state')" - echo "pr_index=$(echo ${pr_check} | jq -r '.index')" >> "$GITHUB_ENV" - elif [ $(echo ${pr_check} | jq -r ''.state') == '"closed"' ]; then + pr_status=$(echo ${pr_check} | jq -r '.state') + if [ "${pr_status}" == "open" ]; then + echo "PR already exists. PR number: $(echo ${pr_check} | jq -r '.index')" + echo "pr_created=false" >> "$GITHUB_OUTPUT" + echo "pr_index=$(echo ${pr_check} | jq -r '.index')" >> "$GITHUB_OUTPUT" + elif [ "${pr_status}" == "closed" ]; then echo "PR does not exist. Creating PR..." - echo "Creating PR..." pr_response=$(curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls -s \ - -X 'POST' \ - -H 'Accept: application/json' \ - -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ - -H 'Content-Type: application/json' \ - -d '{ - "title": "PR: ${{ github.ref_name }} -> main", - "body": "This is an automated PR created by Gitea Actions.", - "base": "main", - "head": "${{ github.ref_name }}" - }') - pr_index=$(echo "$pr_response" | jq -r '.number') - echo "PR created. PR number: $pr_index" - echo "pr_index=$pr_index" >> "$GITHUB_ENV" + -X 'POST' \ + -H 'Accept: application/json' \ + -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ + -H 'Content-Type: application/json' \ + -d '{ + "base": "main", + "head": "'"${{ github.ref_name }}"'", + "title": "Automated PR for branch '"${{ github.ref_name }}"'", + "body": "This is an automated PR created for branch '"${{ github.ref_name }}"'." + }') + pr_index=$(echo ${pr_response} | jq -r '.number') + echo "PR created. PR number: ${pr_index}" + echo "pr_created=true" >> "$GITHUB_OUTPUT" + echo "pr_index=${pr_index}" >> "$GITHUB_OUTPUT" + else + echo "Error checking for existing PR. Exiting..." + exit 1 fi + # if [ $(echo ${pr_check} | jq -r '.state') == '"open"' ]; then + # echo "PR already exists. PR number: $(echo ${pr_check} | jq -r '.state')" + # echo "pr_index=$(echo ${pr_check} | jq -r '.index')" >> "$GITHUB_ENV" + # elif [ $(echo ${pr_check} | jq -r ''.state') == '"closed"' ]; then + # echo "PR does not exist. Creating PR..." + # echo "Creating PR..." + # pr_response=$(curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls -s \ + # -X 'POST' \ + # -H 'Accept: application/json' \ + # -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ + # -H 'Content-Type: application/json' \ + # -d '{ + # "title": "PR: ${{ github.ref_name }} -> main", + # "body": "This is an automated PR created by Gitea Actions.", + # "base": "main", + # "head": "${{ github.ref_name }}" + # }') + # pr_index=$(echo "$pr_response" | jq -r '.number') + # echo "PR created. PR number: $pr_index" + # echo "pr_index=$pr_index" >> "$GITHUB_ENV" + # fi sonarqube-analysis: name: SonarQube Analysis From 8930019888fb193fd75809670a7c3658f669499d Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 14:21:19 -0500 Subject: [PATCH 20/63] Eureka! Sort of (had to fix references further down). --- .../workflows/branch-sonarscan-pr-merge.yml | 23 +------------------ 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 78dbdc2c..a459a2e9 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -53,27 +53,6 @@ jobs: echo "Error checking for existing PR. Exiting..." exit 1 fi - # if [ $(echo ${pr_check} | jq -r '.state') == '"open"' ]; then - # echo "PR already exists. PR number: $(echo ${pr_check} | jq -r '.state')" - # echo "pr_index=$(echo ${pr_check} | jq -r '.index')" >> "$GITHUB_ENV" - # elif [ $(echo ${pr_check} | jq -r ''.state') == '"closed"' ]; then - # echo "PR does not exist. Creating PR..." - # echo "Creating PR..." - # pr_response=$(curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls -s \ - # -X 'POST' \ - # -H 'Accept: application/json' \ - # -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ - # -H 'Content-Type: application/json' \ - # -d '{ - # "title": "PR: ${{ github.ref_name }} -> main", - # "body": "This is an automated PR created by Gitea Actions.", - # "base": "main", - # "head": "${{ github.ref_name }}" - # }') - # pr_index=$(echo "$pr_response" | jq -r '.number') - # echo "PR created. PR number: $pr_index" - # echo "pr_index=$pr_index" >> "$GITHUB_ENV" - # fi sonarqube-analysis: name: SonarQube Analysis @@ -140,7 +119,7 @@ jobs: - name: Post SonarQube Results as Comment run: | - curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ env.pr_index }}/reviews \ + curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews \ -X POST \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ From 741f7e47a92bf2c2111db585ae2711edfb971bbe Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 14:27:26 -0500 Subject: [PATCH 21/63] toJSON for Markdown. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index a459a2e9..e3788cc3 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -102,7 +102,7 @@ jobs: id: convert-json-to-md uses: buildingcash/json-to-markdown-table-action@v1.1.0 with: - json: ${{ steps.json-cleanup.outputs.conditions }} + json: ${{ toJSON(steps.json-cleanup.outputs.conditions) }} # - name: Start Gitea-Sonarqube Bot # uses: docker://justusbunsi/gitea-sonarqube-bot:v0.3.3 From f0e4f395e41d98c673fc81e391cae1bfdad7c14a Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 14:34:58 -0500 Subject: [PATCH 22/63] JSON tweaking for MD table. --- .../workflows/branch-sonarscan-pr-merge.yml | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index e3788cc3..b6fa3677 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -88,11 +88,12 @@ jobs: run: | echo "Cleaning up quality gate response..." echo '${{ steps.quality-gate-check.outputs.quality-gate-result }}' > qg_input.txt + cat qg_input.txt sed -E 's/([a-zA-Z0-9_]+):/\\"\1\\":/g; s/:([^",{}\[\]]+)/:"\1"/g' qg_input.txt > qg_raw.json jq -c '.' qg_raw.json > qg_fixed_json.json - projstatus=$(jq -r '.projectStatus.status' qg_fixed_json.json) - caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json) - conditions=$(jq -r '.projectStatus.conditions' qg_fixed_json.json) + projstatus=$(jq '.projectStatus.status' qg_fixed_json.json) + caycStatus=$(jq '.projectStatus.caycStatus' qg_fixed_json.json) + conditions=$(jq '.projectStatus.conditions' qg_fixed_json.json) echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT echo "conditions=${conditions}" >> $GITHUB_OUTPUT @@ -102,7 +103,7 @@ jobs: id: convert-json-to-md uses: buildingcash/json-to-markdown-table-action@v1.1.0 with: - json: ${{ toJSON(steps.json-cleanup.outputs.conditions) }} + json: ${{ steps.json-cleanup.outputs.conditions }} # - name: Start Gitea-Sonarqube Bot # uses: docker://justusbunsi/gitea-sonarqube-bot:v0.3.3 @@ -117,16 +118,16 @@ jobs: # --repository my-org/my-repo # --pull-request-id ${{ github.event.pull_request.number }} - - name: Post SonarQube Results as Comment - run: | - curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews \ - -X POST \ - -H 'Accept: application/json' \ - -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ - -H 'Content-Type: application/json' \ - -d '{ - "body": "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ steps.quality-gate.outputs.quality-gate-status }}" - }' + # - name: Post SonarQube Results as Comment + # run: | + # curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews \ + # -X POST \ + # -H 'Accept: application/json' \ + # -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ + # -H 'Content-Type: application/json' \ + # -d '{ + # "body": "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ steps.quality-gate.outputs.quality-gate-status }}" + # }' # Job 3: Merge PR if Quality Gate passes # merge-pr: From 8f789afa0f40e534a1da357738d77939df30c464 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 14:49:55 -0500 Subject: [PATCH 23/63] Slight reversion. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index b6fa3677..7c61bb9b 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -83,21 +83,24 @@ jobs: sonar-host-url: ${{ secrets.SONARQUBE_HOST }} sonar-token: ${{ secrets.SONARQUBE_TOKEN }} - - name: JSON clean-up for proccessing... +- name: JSON clean-up for proccessing... id: json-cleanup run: | echo "Cleaning up quality gate response..." + echo '${{ steps.quality-gate-check.outputs.quality-gate-result }}' echo '${{ steps.quality-gate-check.outputs.quality-gate-result }}' > qg_input.txt - cat qg_input.txt sed -E 's/([a-zA-Z0-9_]+):/\\"\1\\":/g; s/:([^",{}\[\]]+)/:"\1"/g' qg_input.txt > qg_raw.json jq -c '.' qg_raw.json > qg_fixed_json.json - projstatus=$(jq '.projectStatus.status' qg_fixed_json.json) - caycStatus=$(jq '.projectStatus.caycStatus' qg_fixed_json.json) - conditions=$(jq '.projectStatus.conditions' qg_fixed_json.json) + projstatus=$(jq -r '.projectStatus.status' qg_fixed_json.json) + echo "${projstatus}" + caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json) + echo "${caycStatus}" + conditions=$(jq -c '.projectStatus.conditions' qg_fixed_json.json) + echo "${conditions}" echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT echo "conditions=${conditions}" >> $GITHUB_OUTPUT - echo "qg_fixed_json=$(cat qg_fixed_json.json)" >> $GITHUB_ENV + echo "qg_fixed_json=$(cat qg_fixed_json.json)" >> $GITHUB_ENV - name: Convert JSON to Markdown Table id: convert-json-to-md From 3b29fbc128700e034f1f50adc9a6a6a1b2d1fa44 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 14:51:19 -0500 Subject: [PATCH 24/63] Indentation's important, dummy. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 7c61bb9b..8a0b0942 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -83,7 +83,7 @@ jobs: sonar-host-url: ${{ secrets.SONARQUBE_HOST }} sonar-token: ${{ secrets.SONARQUBE_TOKEN }} -- name: JSON clean-up for proccessing... + - name: JSON clean-up for proccessing... id: json-cleanup run: | echo "Cleaning up quality gate response..." From b90c229629e7fad9a34405b756c0da3d5f54ab5b Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 14:57:58 -0500 Subject: [PATCH 25/63] Re-adding the to JSON for markdown table. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 8a0b0942..72e79a36 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -106,7 +106,7 @@ jobs: id: convert-json-to-md uses: buildingcash/json-to-markdown-table-action@v1.1.0 with: - json: ${{ steps.json-cleanup.outputs.conditions }} + json: ${{ toJSON(steps.json-cleanup.outputs.conditions) }} # - name: Start Gitea-Sonarqube Bot # uses: docker://justusbunsi/gitea-sonarqube-bot:v0.3.3 From aabeb6a3eaf4e106958ae06dbb09dc2961d57392 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 15:04:39 -0500 Subject: [PATCH 26/63] ... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 72e79a36..8bb2b9a8 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -106,7 +106,7 @@ jobs: id: convert-json-to-md uses: buildingcash/json-to-markdown-table-action@v1.1.0 with: - json: ${{ toJSON(steps.json-cleanup.outputs.conditions) }} + json: "${{ steps.json-cleanup.outputs.conditions }}" # - name: Start Gitea-Sonarqube Bot # uses: docker://justusbunsi/gitea-sonarqube-bot:v0.3.3 From 49e3ee658e2a52dac51257da074473f0cb875b5e Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 15:11:49 -0500 Subject: [PATCH 27/63] Double-checking markdown again. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 8bb2b9a8..982f5cee 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -108,6 +108,10 @@ jobs: with: json: "${{ steps.json-cleanup.outputs.conditions }}" + - name: verify md table + run: | + echo "${{ steps.convert-json-to-md.outputs.table }}" + # - name: Start Gitea-Sonarqube Bot # uses: docker://justusbunsi/gitea-sonarqube-bot:v0.3.3 # with: From 4c120662f810ad6b6d7400164647676bc2dbff13 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 15:18:19 -0500 Subject: [PATCH 28/63] This might be it......... --- .../workflows/branch-sonarscan-pr-merge.yml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 982f5cee..c01c3333 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -125,16 +125,16 @@ jobs: # --repository my-org/my-repo # --pull-request-id ${{ github.event.pull_request.number }} - # - name: Post SonarQube Results as Comment - # run: | - # curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews \ - # -X POST \ - # -H 'Accept: application/json' \ - # -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ - # -H 'Content-Type: application/json' \ - # -d '{ - # "body": "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ steps.quality-gate.outputs.quality-gate-status }}" - # }' + - name: Post SonarQube Results as Comment + run: | + curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews \ + -X POST \ + -H 'Accept: application/json' \ + -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ + -H 'Content-Type: application/json' \ + -d '{ + "body": "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ steps.quality-gate.outputs.quality-gate-status }}" + }' # Job 3: Merge PR if Quality Gate passes # merge-pr: From 7c2dd4e2feaa7774440d985daa40fb0b724b7dc6 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 15:29:48 -0500 Subject: [PATCH 29/63] Wait, this might be it......... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index c01c3333..f49037b0 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -133,7 +133,16 @@ jobs: -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ -H 'Content-Type: application/json' \ -d '{ - "body": "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ steps.quality-gate.outputs.quality-gate-status }}" + "body": "string", + "comments": [ + { + "body": "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ steps.quality-gate.outputs.quality-gate-status }}", + "path": "path", + "position": 0 + } + ], + "event": "COMMENT" + }' }' # Job 3: Merge PR if Quality Gate passes From 9b179e1821b1be05fb581fbf19e216c9b9862fae Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 15:53:34 -0500 Subject: [PATCH 30/63] Seriously this time, maybe...? --- .../workflows/branch-sonarscan-pr-merge.yml | 45 +++++++------------ 1 file changed, 16 insertions(+), 29 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index f49037b0..a8e41b09 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -108,42 +108,29 @@ jobs: with: json: "${{ steps.json-cleanup.outputs.conditions }}" - - name: verify md table - run: | - echo "${{ steps.convert-json-to-md.outputs.table }}" - - # - name: Start Gitea-Sonarqube Bot - # uses: docker://justusbunsi/gitea-sonarqube-bot:v0.3.3 - # with: - # # Required inputs for the bot - # args: > - # --sonarqube-url ${{ secrets.SONARQUBE_URL }} - # --sonarqube-token ${{ secrets.SONARQUBE_TOKEN }} - # --git-provider github - # --git-api-url https://api.github.com - # --git-token ${{ secrets.GITHUB_TOKEN }} - # --repository my-org/my-repo - # --pull-request-id ${{ github.event.pull_request.number }} - - name: Post SonarQube Results as Comment run: | + payload=$(jq -n --arg body "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ steps.quality-gate.outputs.quality-gate-status }}" \ + --arg path "path" \ + --argjson position 0 \ + '{ + body: "string", + comments: [ + { + body: $body, + path: $path, + old_position: $position, + new_position: $position + } + ], + event: "COMMENT" + }') curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews \ -X POST \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ -H 'Content-Type: application/json' \ - -d '{ - "body": "string", - "comments": [ - { - "body": "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ steps.quality-gate.outputs.quality-gate-status }}", - "path": "path", - "position": 0 - } - ], - "event": "COMMENT" - }' - }' + -d '${payload}' # Job 3: Merge PR if Quality Gate passes # merge-pr: From feb2b37beab91e1ae703d535da79c0dae237a9d9 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 16:05:34 -0500 Subject: [PATCH 31/63] So close and yet so far... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index a8e41b09..c3329cdc 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -125,12 +125,13 @@ jobs: ], event: "COMMENT" }') + echo "${payload}" | jq curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews \ -X POST \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ -H 'Content-Type: application/json' \ - -d '${payload}' + -d '${payload}' -s -w "%http_code%" -i # Job 3: Merge PR if Quality Gate passes # merge-pr: From a679ea12398e90fedd6707d6f700a26e8c792ee8 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 16:16:04 -0500 Subject: [PATCH 32/63] Echo debugging... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index c3329cdc..0897ea80 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -125,7 +125,8 @@ jobs: ], event: "COMMENT" }') - echo "${payload}" | jq + echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews" + echo "${payload}" curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews \ -X POST \ -H 'Accept: application/json' \ From c5ddb99c9e79e98ce6a14182112b0948068fb480 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 16:44:25 -0500 Subject: [PATCH 33/63] Reference changes. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 0897ea80..a90375e1 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -11,9 +11,8 @@ jobs: name: Check and Create PR runs-on: ubuntu-latest outputs: - pr_created: ${{ steps.check-pr.outputs.pr_created }} - pr_index: ${{ steps.create-pr.outputs.pr_index }} - + pr_created: ${{ steps.cc-pr.outputs.pr_created }} + pr_index: ${{ steps.cc-pr.outputs.pr_index }} steps: - name: Checkout Code uses: actions/checkout@v4 @@ -110,7 +109,7 @@ jobs: - name: Post SonarQube Results as Comment run: | - payload=$(jq -n --arg body "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ steps.quality-gate.outputs.quality-gate-status }}" \ + payload=$(jq -n --arg body "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ jobs.check-and-create-pr.outputs.pr_index }}" \ --arg path "path" \ --argjson position 0 \ '{ @@ -125,9 +124,9 @@ jobs: ], event: "COMMENT" }') - echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews" + echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ jobs.check-and-create-pr.outputs.pr_index }}/reviews" echo "${payload}" - curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews \ + curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ jobs.check-and-create-pr.outputs.pr_index }}/reviews \ -X POST \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ From be68e32923c37f90bb7242add9634e8807357821 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 16:51:41 -0500 Subject: [PATCH 34/63] Reference changes. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index a90375e1..24120767 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -125,7 +125,7 @@ jobs: event: "COMMENT" }') echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ jobs.check-and-create-pr.outputs.pr_index }}/reviews" - echo "${payload}" + # echo "${payload}" curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ jobs.check-and-create-pr.outputs.pr_index }}/reviews \ -X POST \ -H 'Accept: application/json' \ From f30aa0ed3c28fb6a7dfb0c48c6e698d2065b0368 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 16:59:47 -0500 Subject: [PATCH 35/63] Typo fix. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 24120767..6e74d6e8 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -125,13 +125,13 @@ jobs: event: "COMMENT" }') echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ jobs.check-and-create-pr.outputs.pr_index }}/reviews" - # echo "${payload}" + echo "${payload}" curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ jobs.check-and-create-pr.outputs.pr_index }}/reviews \ -X POST \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ -H 'Content-Type: application/json' \ - -d '${payload}' -s -w "%http_code%" -i + -d '${payload}' -s -i # Job 3: Merge PR if Quality Gate passes # merge-pr: From dab5f00cc496345a3412fefbba2b2534cab19f8a Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 17:08:21 -0500 Subject: [PATCH 36/63] ... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 6e74d6e8..2b41fef5 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -109,7 +109,7 @@ jobs: - name: Post SonarQube Results as Comment run: | - payload=$(jq -n --arg body "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ jobs.check-and-create-pr.outputs.pr_index }}" \ + payload=$(jq -n --arg body "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ steps.quality-gate.outputs.quality-gate-status }}" \ --arg path "path" \ --argjson position 0 \ '{ @@ -131,7 +131,7 @@ jobs: -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ -H 'Content-Type: application/json' \ - -d '${payload}' -s -i + -d '${payload}' -s -w "%http_code%" -i # Job 3: Merge PR if Quality Gate passes # merge-pr: From 283060327eb4f01d2c6653c068dd31eb9dbbc3cb Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 17:17:14 -0500 Subject: [PATCH 37/63] ... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 2b41fef5..99790adc 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -124,9 +124,9 @@ jobs: ], event: "COMMENT" }') - echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ jobs.check-and-create-pr.outputs.pr_index }}/reviews" + echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews" echo "${payload}" - curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ jobs.check-and-create-pr.outputs.pr_index }}/reviews \ + curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews \ -X POST \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ From 0d347e91ca4b41fddf648d0394e8ed9d94243c2f Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 17:25:42 -0500 Subject: [PATCH 38/63] ... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 99790adc..7602220a 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest outputs: pr_created: ${{ steps.cc-pr.outputs.pr_created }} - pr_index: ${{ steps.cc-pr.outputs.pr_index }} + pr_number: ${{ steps.cc-pr.outputs.pr_index }} steps: - name: Checkout Code uses: actions/checkout@v4 @@ -124,9 +124,9 @@ jobs: ], event: "COMMENT" }') - echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews" + echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ jobs.check-and-create-pr.outputs.pr_number }}/reviews" echo "${payload}" - curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews \ + curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ jobs.check-and-create-pr.outputs.pr_number }}/reviews \ -X POST \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ From abe2c45db8251fd546b5fdee21a2b099b8ec7909 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 19:33:13 -0500 Subject: [PATCH 39/63] ... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 7602220a..cdeacf8f 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -110,23 +110,21 @@ jobs: - name: Post SonarQube Results as Comment run: | payload=$(jq -n --arg body "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ steps.quality-gate.outputs.quality-gate-status }}" \ - --arg path "path" \ --argjson position 0 \ '{ body: "string", comments: [ { body: $body, - path: $path, old_position: $position, new_position: $position } ], event: "COMMENT" }') - echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ jobs.check-and-create-pr.outputs.pr_number }}/reviews" + echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews" echo "${payload}" - curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ jobs.check-and-create-pr.outputs.pr_number }}/reviews \ + curl "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews" \ -X POST \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ From f56c40382cf8c0ab4875b205ad37b564d8ad54c6 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 19:51:31 -0500 Subject: [PATCH 40/63] ... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index cdeacf8f..f80150c9 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -108,6 +108,8 @@ jobs: json: "${{ steps.json-cleanup.outputs.conditions }}" - name: Post SonarQube Results as Comment + env: + PR_NUMBER: ${{ needs.check-and-create-pr.outputs.pr_number }} run: | payload=$(jq -n --arg body "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ steps.quality-gate.outputs.quality-gate-status }}" \ --argjson position 0 \ @@ -122,9 +124,9 @@ jobs: ], event: "COMMENT" }') - echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews" + echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews" echo "${payload}" - curl "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${{ steps.cc-pr.outputs.pr_index }}/reviews" \ + curl "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews" \ -X POST \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ From 8c6e86aff4fcdb66d4ee18f25c3d45bc76590505 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 19:57:35 -0500 Subject: [PATCH 41/63] So close and yet so far... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index f80150c9..2d7857ac 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -126,7 +126,7 @@ jobs: }') echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews" echo "${payload}" - curl "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews" \ + curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews \ -X POST \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ From 64bcd8c063997f7f7e2e1058ebed7cde19f42415 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 20:05:42 -0500 Subject: [PATCH 42/63] Changing URL for comment curl... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 2d7857ac..9c1f8caf 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -126,7 +126,7 @@ jobs: }') echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews" echo "${payload}" - curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews \ + curl http://gitea:3000/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews \ -X POST \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ From 38348d63c3a1247c791ad3e15d402f8c684f3966 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 20:16:30 -0500 Subject: [PATCH 43/63] Adding envs --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 9c1f8caf..6b6a7373 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -109,6 +109,7 @@ jobs: - name: Post SonarQube Results as Comment env: + RINOA_GITEA_URL: ${{ vars.RINOA_GITEA_URL }} PR_NUMBER: ${{ needs.check-and-create-pr.outputs.pr_number }} run: | payload=$(jq -n --arg body "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ steps.quality-gate.outputs.quality-gate-status }}" \ @@ -124,9 +125,9 @@ jobs: ], event: "COMMENT" }') - echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews" + echo "${RINOA_GITEA_URL}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews" echo "${payload}" - curl http://gitea:3000/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews \ + curl "${RINOA_GITEA_URL}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews" \ -X POST \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ From 65d8e288adb3e277b2c25e40ef61cfb7c8867a33 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 20:44:31 -0500 Subject: [PATCH 44/63] Variable tweaks here and there. --- .../workflows/branch-sonarscan-pr-merge.yml | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 6b6a7373..6b92dcc4 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -109,26 +109,18 @@ jobs: - name: Post SonarQube Results as Comment env: - RINOA_GITEA_URL: ${{ vars.RINOA_GITEA_URL }} PR_NUMBER: ${{ needs.check-and-create-pr.outputs.pr_number }} + SQ_RESULTS: ${{ steps.convert-json-to-md.outputs.table }} + QG_STATUS: ${{ steps.quality-gate.outputs.quality-gate-status }} run: | - payload=$(jq -n --arg body "SonarQube analysis results:\n\n${{ steps.convert-json-to-md.outputs.table }}\n\n${{ steps.quality-gate.outputs.quality-gate-status }}" \ - --argjson position 0 \ + payload=$(jq -n --arg body "SonarQube analysis results:\n\n${{ env.SQ_RESULTS }}\n\n${{ env.QG_STATUS }}" \ '{ - body: "string", - comments: [ - { - body: $body, - old_position: $position, - new_position: $position - } - ], - event: "COMMENT" + body: $body }') - echo "${RINOA_GITEA_URL}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews" + echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews" echo "${payload}" - curl "${RINOA_GITEA_URL}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews" \ - -X POST \ + curl "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews" \ + -X 'POST' \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ -H 'Content-Type: application/json' \ From 7a0e1c9f41bde2e1f3f18ec6b7af70ff0c3d1fc2 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 20:50:56 -0500 Subject: [PATCH 45/63] Variable tweaks here and there. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 6b92dcc4..67920e73 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -119,7 +119,7 @@ jobs: }') echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews" echo "${payload}" - curl "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews" \ + curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews \ -X 'POST' \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ From 207bb7c86ee8d886f60d5bd66ac004264b69edd2 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 21:02:21 -0500 Subject: [PATCH 46/63] Variable tweaks here and there. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 67920e73..0e8dae16 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -91,15 +91,11 @@ jobs: sed -E 's/([a-zA-Z0-9_]+):/\\"\1\\":/g; s/:([^",{}\[\]]+)/:"\1"/g' qg_input.txt > qg_raw.json jq -c '.' qg_raw.json > qg_fixed_json.json projstatus=$(jq -r '.projectStatus.status' qg_fixed_json.json) - echo "${projstatus}" caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json) - echo "${caycStatus}" conditions=$(jq -c '.projectStatus.conditions' qg_fixed_json.json) - echo "${conditions}" echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT echo "conditions=${conditions}" >> $GITHUB_OUTPUT - echo "qg_fixed_json=$(cat qg_fixed_json.json)" >> $GITHUB_ENV - name: Convert JSON to Markdown Table id: convert-json-to-md @@ -117,14 +113,13 @@ jobs: '{ body: $body }') - echo "${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews" - echo "${payload}" + echo ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews \ -X 'POST' \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ -H 'Content-Type: application/json' \ - -d '${payload}' -s -w "%http_code%" -i + -d '${payload}' -s -w "%http_code%" # Job 3: Merge PR if Quality Gate passes # merge-pr: From 9b813487583221689ab5127ba456dcd16829582d Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 21:34:22 -0500 Subject: [PATCH 47/63] Variable tweaks here and there. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 0e8dae16..0cd9aa9b 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -113,13 +113,13 @@ jobs: '{ body: $body }') - echo ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews + echo "payload=${payload}" >> $GITHUB_ENV curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews \ -X 'POST' \ -H 'Accept: application/json' \ -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ -H 'Content-Type: application/json' \ - -d '${payload}' -s -w "%http_code%" + -d '${{ env.payload }}' -s -w "%http_code%" -i # Job 3: Merge PR if Quality Gate passes # merge-pr: From 6fff22f6bc7408ba7cb390217b2214f803796599 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 21:51:48 -0500 Subject: [PATCH 48/63] Echo debugging... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 0cd9aa9b..51922ce2 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -113,7 +113,7 @@ jobs: '{ body: $body }') - echo "payload=${payload}" >> $GITHUB_ENV + echo "${payload}" curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews \ -X 'POST' \ -H 'Accept: application/json' \ From 8bffbf9102594a37617782541642232d14e375f0 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 22:07:58 -0500 Subject: [PATCH 49/63] ... Ahhhh. --- .../workflows/branch-sonarscan-pr-merge.yml | 39 +++++++++++++------ 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 51922ce2..f492dbb2 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -108,18 +108,35 @@ jobs: PR_NUMBER: ${{ needs.check-and-create-pr.outputs.pr_number }} SQ_RESULTS: ${{ steps.convert-json-to-md.outputs.table }} QG_STATUS: ${{ steps.quality-gate.outputs.quality-gate-status }} + RINOA_GITEA_URL: ${{ vars.RINOA_GITEA_URL }} + GITHUB_REPOSITORY: ${{ github.repository }} + BOT_GITEA_TOKEN: ${{ secrets.BOT_GITEA_TOKEN }} run: | - payload=$(jq -n --arg body "SonarQube analysis results:\n\n${{ env.SQ_RESULTS }}\n\n${{ env.QG_STATUS }}" \ - '{ - body: $body - }') - echo "${payload}" - curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}/reviews \ - -X 'POST' \ - -H 'Accept: application/json' \ - -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ - -H 'Content-Type: application/json' \ - -d '${{ env.payload }}' -s -w "%http_code%" -i + payload=$(jq -n \ + --arg body "SonarQube analysis results:\n\n${SQ_RESULTS}\n\n${QG_STATUS}" \ + '{ body: $body }') + + + echo "Constructed Payload:" + echo "$payload" + + response=$(curl -s -o response.json -w "%{http_code}" \ + -X POST \ + -H "Accept: application/json" \ + -H "Authorization: token ${BOT_GITEA_TOKEN}" \ + -H "Content-Type: application/json" \ + -d "$payload" \ + "${RINOA_GITEA_URL}/api/v1/repos/${GITHUB_REPOSITORY}/pulls/${PR_NUMBER}/reviews") + + echo "HTTP Status Code: $response" + echo "Response Body:" + cat response.json + + if [ "$response" -ne 200 ]; then + echo "Error: Failed to post comment. HTTP Status Code: $response" + exit 1 + fi + # Job 3: Merge PR if Quality Gate passes # merge-pr: From f8dd5b773e9e2729efb85ed99a53757072491fdb Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 22:20:22 -0500 Subject: [PATCH 50/63] Holy shit, it's actually working! Now for even more tweaking o_O --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index f492dbb2..46c5b035 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -102,6 +102,7 @@ jobs: uses: buildingcash/json-to-markdown-table-action@v1.1.0 with: json: "${{ steps.json-cleanup.outputs.conditions }}" + align-pipes: 'true' - name: Post SonarQube Results as Comment env: @@ -113,7 +114,7 @@ jobs: BOT_GITEA_TOKEN: ${{ secrets.BOT_GITEA_TOKEN }} run: | payload=$(jq -n \ - --arg body "SonarQube analysis results:\n\n${SQ_RESULTS}\n\n${QG_STATUS}" \ + --arg body "SonarQube analysis results:\n\n${SQ_RESULTS} \n\n${QG_STATUS}" \ '{ body: $body }') From f35886eebbe5bc4de0b304fcce0846dc9b5ff6b8 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 22:30:01 -0500 Subject: [PATCH 51/63] Switching JSON-to-MD action for better MD formatting. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 46c5b035..c740acbb 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -99,7 +99,7 @@ jobs: - name: Convert JSON to Markdown Table id: convert-json-to-md - uses: buildingcash/json-to-markdown-table-action@v1.1.0 + uses: parkerbxyz/json-to-markdown-table@v1.1.2 with: json: "${{ steps.json-cleanup.outputs.conditions }}" align-pipes: 'true' From eca1975ec19fcaada6af2046b505bc134d32b16a Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 22:49:34 -0500 Subject: [PATCH 52/63] Attempts at format fixing... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index c740acbb..8ff479f4 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -113,8 +113,9 @@ jobs: GITHUB_REPOSITORY: ${{ github.repository }} BOT_GITEA_TOKEN: ${{ secrets.BOT_GITEA_TOKEN }} run: | + result_cleanup=$(echo "${SQ_RESULTS}" | sed 's|\\n||g') payload=$(jq -n \ - --arg body "SonarQube analysis results:\n\n${SQ_RESULTS} \n\n${QG_STATUS}" \ + --arg body "SonarQube analysis results:\n\n${result_cleanup} \n\n${QG_STATUS}" \ '{ body: $body }') From c8abff7a096b6581de57e85eade22e1a65950881 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 23:01:10 -0500 Subject: [PATCH 53/63] Attempts at format fixing... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 8ff479f4..e05676eb 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -113,7 +113,7 @@ jobs: GITHUB_REPOSITORY: ${{ github.repository }} BOT_GITEA_TOKEN: ${{ secrets.BOT_GITEA_TOKEN }} run: | - result_cleanup=$(echo "${SQ_RESULTS}" | sed 's|\\n||g') + result_cleanup=$(echo "$SQ_RESULTS" | sed 's/|/\\|/g') payload=$(jq -n \ --arg body "SonarQube analysis results:\n\n${result_cleanup} \n\n${QG_STATUS}" \ '{ body: $body }') From 9ae52f76970c86db0baaa0c8f9bb428544ad8d6c Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 23:08:39 -0500 Subject: [PATCH 54/63] Attempts at format fixing... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index e05676eb..5fe4b519 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -104,6 +104,9 @@ jobs: json: "${{ steps.json-cleanup.outputs.conditions }}" align-pipes: 'true' + - name: Print Table + run: echo "${{ steps.convert-json-to-md.outputs.table }}" + - name: Post SonarQube Results as Comment env: PR_NUMBER: ${{ needs.check-and-create-pr.outputs.pr_number }} @@ -113,9 +116,8 @@ jobs: GITHUB_REPOSITORY: ${{ github.repository }} BOT_GITEA_TOKEN: ${{ secrets.BOT_GITEA_TOKEN }} run: | - result_cleanup=$(echo "$SQ_RESULTS" | sed 's/|/\\|/g') payload=$(jq -n \ - --arg body "SonarQube analysis results:\n\n${result_cleanup} \n\n${QG_STATUS}" \ + --arg body "SonarQube analysis results:\n\n${{ env.SQ_RESULTS }} \n\n${QG_STATUS}" \ '{ body: $body }') From 7a4431035f01dadc5180f6486cf0e479af393d97 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 00:43:50 -0500 Subject: [PATCH 55/63] Table not outputting... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 5fe4b519..f90c15dd 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -101,7 +101,7 @@ jobs: id: convert-json-to-md uses: parkerbxyz/json-to-markdown-table@v1.1.2 with: - json: "${{ steps.json-cleanup.outputs.conditions }}" + json: ${{ steps.json-cleanup.outputs.conditions }} align-pipes: 'true' - name: Print Table From dc5899e41ea9f339200adc803f2afb1f682bd9ec Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 00:56:47 -0500 Subject: [PATCH 56/63] Revert "Switching JSON-to-MD action for better MD formatting." This reverts commit f35886eebbe5bc4de0b304fcce0846dc9b5ff6b8. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index f90c15dd..46c5b035 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -99,14 +99,11 @@ jobs: - name: Convert JSON to Markdown Table id: convert-json-to-md - uses: parkerbxyz/json-to-markdown-table@v1.1.2 + uses: buildingcash/json-to-markdown-table-action@v1.1.0 with: - json: ${{ steps.json-cleanup.outputs.conditions }} + json: "${{ steps.json-cleanup.outputs.conditions }}" align-pipes: 'true' - - name: Print Table - run: echo "${{ steps.convert-json-to-md.outputs.table }}" - - name: Post SonarQube Results as Comment env: PR_NUMBER: ${{ needs.check-and-create-pr.outputs.pr_number }} @@ -117,7 +114,7 @@ jobs: BOT_GITEA_TOKEN: ${{ secrets.BOT_GITEA_TOKEN }} run: | payload=$(jq -n \ - --arg body "SonarQube analysis results:\n\n${{ env.SQ_RESULTS }} \n\n${QG_STATUS}" \ + --arg body "SonarQube analysis results:\n\n${SQ_RESULTS} \n\n${QG_STATUS}" \ '{ body: $body }') From 3013cde6afe84bd50f1a90bed46e4c3104f86def Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 01:08:45 -0500 Subject: [PATCH 57/63] Formatting tweaks. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 46c5b035..b7b52d75 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -114,10 +114,10 @@ jobs: BOT_GITEA_TOKEN: ${{ secrets.BOT_GITEA_TOKEN }} run: | payload=$(jq -n \ - --arg body "SonarQube analysis results:\n\n${SQ_RESULTS} \n\n${QG_STATUS}" \ + --arg body "SonarQube analysis results: \ + ${SQ_RESULTS} \n\n${QG_STATUS}" \ '{ body: $body }') - echo "Constructed Payload:" echo "$payload" @@ -137,7 +137,6 @@ jobs: echo "Error: Failed to post comment. HTTP Status Code: $response" exit 1 fi - # Job 3: Merge PR if Quality Gate passes # merge-pr: From 8076058e3bf0d01ccf29dec42ffea06d4ed71839 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 01:17:24 -0500 Subject: [PATCH 58/63] Formatting tweaks. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index b7b52d75..d14f8222 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -114,8 +114,7 @@ jobs: BOT_GITEA_TOKEN: ${{ secrets.BOT_GITEA_TOKEN }} run: | payload=$(jq -n \ - --arg body "SonarQube analysis results: \ - ${SQ_RESULTS} \n\n${QG_STATUS}" \ + --arg body "${QG_STATUS}

SonarQube analysis results:
${SQ_RESULTS} " \ '{ body: $body }') echo "Constructed Payload:" From 0de18fd036a62bd48e9465dce31724c2f1c6618d Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 01:31:53 -0500 Subject: [PATCH 59/63] Formatting tweaks. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index d14f8222..45660bff 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -102,7 +102,6 @@ jobs: uses: buildingcash/json-to-markdown-table-action@v1.1.0 with: json: "${{ steps.json-cleanup.outputs.conditions }}" - align-pipes: 'true' - name: Post SonarQube Results as Comment env: @@ -113,6 +112,8 @@ jobs: GITHUB_REPOSITORY: ${{ github.repository }} BOT_GITEA_TOKEN: ${{ secrets.BOT_GITEA_TOKEN }} run: | + formatted_results=$(echo "${SQ_RESULTS}" | sed 's/\\n/\ + /g') payload=$(jq -n \ --arg body "${QG_STATUS}

SonarQube analysis results:
${SQ_RESULTS} " \ '{ body: $body }') From 98f67143c4c2b1b6e9e666d5018288794c969348 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 01:43:37 -0500 Subject: [PATCH 60/63] Formatting tweaks. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 45660bff..bf41c1ff 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -115,7 +115,10 @@ jobs: formatted_results=$(echo "${SQ_RESULTS}" | sed 's/\\n/\ /g') payload=$(jq -n \ - --arg body "${QG_STATUS}

SonarQube analysis results:
${SQ_RESULTS} " \ + --arg body "${QG_STATUS} \ + SonarQube analysis results: \ + \ + ${SQ_RESULTS} " \ '{ body: $body }') echo "Constructed Payload:" From 53ecdbd05905e95065f8f53f66fa5b09db558aa6 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 01:50:33 -0500 Subject: [PATCH 61/63] Formatting tweaks. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index bf41c1ff..840ea0aa 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -118,7 +118,7 @@ jobs: --arg body "${QG_STATUS} \ SonarQube analysis results: \ \ - ${SQ_RESULTS} " \ + ${formatted_results} " \ '{ body: $body }') echo "Constructed Payload:" From 6b4a2d01aaae763c546181659a8b5b82dc870573 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 06:21:16 -0500 Subject: [PATCH 62/63] Yes, up this early messing around with this... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 840ea0aa..3510d99b 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -115,10 +115,10 @@ jobs: formatted_results=$(echo "${SQ_RESULTS}" | sed 's/\\n/\ /g') payload=$(jq -n \ - --arg body "${QG_STATUS} \ - SonarQube analysis results: \ - \ - ${formatted_results} " \ + --arg body "SonarQube analysis results: +
+
+ ${{ env.SQ_RESULTS }}" \ '{ body: $body }') echo "Constructed Payload:" From e5f33f857047e6e7beaf861a40acf56dc70d963a Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 06:37:23 -0500 Subject: [PATCH 63/63] Removing all the echoes/prints from troubleshooting. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 3510d99b..b8ec4292 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -86,7 +86,6 @@ jobs: id: json-cleanup run: | echo "Cleaning up quality gate response..." - echo '${{ steps.quality-gate-check.outputs.quality-gate-result }}' echo '${{ steps.quality-gate-check.outputs.quality-gate-result }}' > qg_input.txt sed -E 's/([a-zA-Z0-9_]+):/\\"\1\\":/g; s/:([^",{}\[\]]+)/:"\1"/g' qg_input.txt > qg_raw.json jq -c '.' qg_raw.json > qg_fixed_json.json @@ -116,14 +115,10 @@ jobs: /g') payload=$(jq -n \ --arg body "SonarQube analysis results: -

${{ env.SQ_RESULTS }}" \ '{ body: $body }') - - echo "Constructed Payload:" - echo "$payload" - + response=$(curl -s -o response.json -w "%{http_code}" \ -X POST \ -H "Accept: application/json" \ @@ -132,15 +127,6 @@ jobs: -d "$payload" \ "${RINOA_GITEA_URL}/api/v1/repos/${GITHUB_REPOSITORY}/pulls/${PR_NUMBER}/reviews") - echo "HTTP Status Code: $response" - echo "Response Body:" - cat response.json - - if [ "$response" -ne 200 ]; then - echo "Error: Failed to post comment. HTTP Status Code: $response" - exit 1 - fi - # Job 3: Merge PR if Quality Gate passes # merge-pr: # runs-on: ubuntu-latest