From 9e5a42875504696b91dfb32134893fdbdb9d400b Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Thu, 19 Dec 2024 11:45:50 -0500 Subject: [PATCH 001/121] 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 002/121] 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 003/121] ... 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 004/121] ... 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 005/121] 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 006/121] 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 007/121] 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 008/121] 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 009/121] 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 010/121] 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 011/121] 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 012/121] 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 013/121] 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 014/121] 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 015/121] 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 016/121] 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 017/121] 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 018/121] 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 019/121] 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 020/121] 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 021/121] 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 022/121] 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 023/121] 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 024/121] 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 025/121] 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 026/121] ... --- .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 027/121] 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 028/121] 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 029/121] 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 030/121] 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 031/121] 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 032/121] 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 033/121] 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 034/121] 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 035/121] 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 036/121] ... --- .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 037/121] ... --- .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 038/121] ... --- .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 039/121] ... --- .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 040/121] ... --- .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 041/121] 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 042/121] 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 043/121] 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 044/121] 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 045/121] 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 046/121] 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 047/121] 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 048/121] 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 049/121] ... 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 050/121] 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 051/121] 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 052/121] 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 053/121] 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 054/121] 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 055/121] 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 056/121] 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 057/121] 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 058/121] 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 059/121] 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 060/121] 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 061/121] 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 062/121] 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 063/121] 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 From 7de2991925db74efd105496c0cadbc8367090c6d Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 08:07:41 -0500 Subject: [PATCH 064/121] Adding dry run for Docker Compose. --- .../workflows/branch-sonarscan-pr-merge.yml | 49 +++++++++++-------- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index b8ec4292..26128c4a 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -128,24 +128,33 @@ jobs: "${RINOA_GITEA_URL}/api/v1/repos/${GITHUB_REPOSITORY}/pulls/${PR_NUMBER}/reviews") # Job 3: Merge PR if Quality Gate passes - # merge-pr: - # runs-on: ubuntu-latest - # needs: [check-and-create-pr, sonarqube-analysis] - # if: needs.sonarqube-analysis.outputs.quality_gate_status == 'PASSED' - # steps: - # - name: Merge PR in Gitea - # uses: prasiman/gocurl@v1 - # with: - # url: "${{ secrets.GITEA_INSTANCE_URL }}/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls/${{ needs.check-and-create-pr.outputs.pr_index }}" - # method: "POST" - # headers: '{ "Authorization": "token ${{ secrets.GITEA_API_TOKEN }}", "Content-Type": "application/json" }' - # params: >- - # { - # "Do": "merge", - # "delete_branch_after_merge": true, - # "force_merge": true, - # "merge_when_checks_succeed": true - # } + dry-run-merge-pr: + runs-on: ubuntu-latest + needs: [check-and-create-pr, sonarqube-analysis] + if: needs.sonarqube-analysis.outputs.quality_gate_status == 'PASSED' + steps: + - name: Docker Compose Dry Run + uses: s3i7h/spin-up-docker-compose-action@v1.2 + with: + file: docker-compose.yml + pull: true + pull-opts: --dry-run + up: true + up-opts: -d --dry-run - # - name: Confirm Merge - # run: echo "PR has been successfully merged into main." + # - name: Merge PR in Gitea + # uses: prasiman/gocurl@v1 + # with: + # url: "${{ secrets.GITEA_INSTANCE_URL }}/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls/${{ needs.check-and-create-pr.outputs.pr_index }}" + # method: "POST" + # headers: '{ "Authorization": "token ${{ secrets.GITEA_API_TOKEN }}", "Content-Type": "application/json" }' + # params: >- + # { + # "Do": "merge", + # "delete_branch_after_merge": true, + # "force_merge": true, + # "merge_when_checks_succeed": true + # } + + # - name: Confirm Merge + # run: echo "PR has been successfully merged into main." From 501808583cedbfdaf171ad344f356c0b2df0cb66 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 08:59:01 -0500 Subject: [PATCH 065/121] Forgot to checkout code in 3rd job. Hah. Good morning. --- .../workflows/branch-sonarscan-pr-merge.yml | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 26128c4a..94dde973 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -133,6 +133,9 @@ jobs: needs: [check-and-create-pr, sonarqube-analysis] if: needs.sonarqube-analysis.outputs.quality_gate_status == 'PASSED' steps: + - name: Checkout Code + uses: actions/checkout@v4 + - name: Docker Compose Dry Run uses: s3i7h/spin-up-docker-compose-action@v1.2 with: @@ -142,19 +145,19 @@ jobs: up: true up-opts: -d --dry-run - # - name: Merge PR in Gitea - # uses: prasiman/gocurl@v1 - # with: - # url: "${{ secrets.GITEA_INSTANCE_URL }}/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls/${{ needs.check-and-create-pr.outputs.pr_index }}" - # method: "POST" - # headers: '{ "Authorization": "token ${{ secrets.GITEA_API_TOKEN }}", "Content-Type": "application/json" }' - # params: >- - # { - # "Do": "merge", - # "delete_branch_after_merge": true, - # "force_merge": true, - # "merge_when_checks_succeed": true - # } + - name: Merge PR in Gitea + uses: prasiman/gocurl@v1 + with: + url: "${{ secrets.GITEA_INSTANCE_URL }}/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls/${{ needs.check-and-create-pr.outputs.pr_index }}" + method: "POST" + headers: '{ "Authorization": "token ${{ secrets.GITEA_API_TOKEN }}", "Content-Type": "application/json" }' + params: >- + { + "Do": "merge", + "delete_branch_after_merge": true, + "force_merge": true, + "merge_when_checks_succeed": true + } - # - name: Confirm Merge - # run: echo "PR has been successfully merged into main." + - name: Confirm Merge + run: echo "PR has been successfully merged into main." From e5e4622b895eb9c8ac76c8f708fc62b910346d75 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 09:53:12 -0500 Subject: [PATCH 066/121] Running SQ scan and Docker dry run in same job. --- .../workflows/branch-sonarscan-pr-merge.yml | 146 +++++++++--------- 1 file changed, 75 insertions(+), 71 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 94dde973..73d21059 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -11,7 +11,6 @@ jobs: name: Check and Create PR runs-on: ubuntu-latest outputs: - pr_created: ${{ steps.cc-pr.outputs.pr_created }} pr_number: ${{ steps.cc-pr.outputs.pr_index }} steps: - name: Checkout Code @@ -53,10 +52,14 @@ jobs: exit 1 fi - sonarqube-analysis: + sonarqube-analysis-dry-run: name: SonarQube Analysis runs-on: ubuntu-latest needs: check-and-create-pr + outputs: + qg_status_status: ${{ steps.quality-gate.outputs.quality-gate-status }} + qg_results: ${{ steps.quality-gate-check.outputs.quality-gate-result }} + steps: - name: Checkout Code uses: actions/checkout@v4 @@ -82,60 +85,6 @@ jobs: 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) - caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json) - conditions=$(jq -c '.projectStatus.conditions' qg_fixed_json.json) - echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT - echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT - echo "conditions=${conditions}" >> $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 }}" - - - name: Post SonarQube Results as Comment - env: - 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: | - formatted_results=$(echo "${SQ_RESULTS}" | sed 's/\\n/\ - /g') - payload=$(jq -n \ - --arg body "SonarQube analysis results: -
- ${{ env.SQ_RESULTS }}" \ - '{ body: $body }') - - 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") - - # Job 3: Merge PR if Quality Gate passes - dry-run-merge-pr: - runs-on: ubuntu-latest - needs: [check-and-create-pr, sonarqube-analysis] - if: needs.sonarqube-analysis.outputs.quality_gate_status == 'PASSED' - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - name: Docker Compose Dry Run uses: s3i7h/spin-up-docker-compose-action@v1.2 with: @@ -144,20 +93,75 @@ jobs: pull-opts: --dry-run up: true up-opts: -d --dry-run + # Job 3: Merge PR if Quality Gate passes + # dry-run-merge-pr: + # runs-on: ubuntu-latest + # needs: [check-and-create-pr, sonarqube-analysis] + # if: needs.sonarqube-analysis.outputs.quality_gate_status == 'PASSED' + # steps: + # - name: Checkout Code + # uses: actions/checkout@v4 - - name: Merge PR in Gitea - uses: prasiman/gocurl@v1 - with: - url: "${{ secrets.GITEA_INSTANCE_URL }}/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls/${{ needs.check-and-create-pr.outputs.pr_index }}" - method: "POST" - headers: '{ "Authorization": "token ${{ secrets.GITEA_API_TOKEN }}", "Content-Type": "application/json" }' - params: >- - { - "Do": "merge", - "delete_branch_after_merge": true, - "force_merge": true, - "merge_when_checks_succeed": true - } + # - name: JSON clean-up for Custom Quality Gate Check... + # 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 + # echo "qgfixedjson=$(cat qg_fixed_json.json)" >> $GITHUB_OUTPUT + # echo "JSON cleanup complete. + # projstatus=$(jq -r '.projectStatus.status' qg_fixed_json.json) + # caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json) + # conditions=$(jq -c '.projectStatus.conditions' qg_fixed_json.json) + # echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT + # echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT + # echo "conditions=${conditions}" >> $GITHUB_OUTPUT + # - name: Post SonarQube Results as Comment + # env: + # 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: | + # formatted_results=$(echo "${SQ_RESULTS}" | sed 's/\\n/\ + # /g') + # payload=$(jq -n \ + # --arg body "SonarQube analysis results: + #
+ # ${{ env.SQ_RESULTS }}" \ + # '{ body: $body }') + + # 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") - - name: Confirm Merge - run: echo "PR has been successfully merged into main." + # - 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: Merge PR in Gitea + # uses: prasiman/gocurl@v1 + # with: + # url: "${{ secrets.GITEA_INSTANCE_URL }}/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls/${{ needs.check-and-create-pr.outputs.pr_index }}" + # method: "POST" + # headers: '{ "Authorization": "token ${{ secrets.GITEA_API_TOKEN }}", "Content-Type": "application/json" }' + # params: >- + # { + # "Do": "merge", + # "delete_branch_after_merge": true, + # "force_merge": true, + # "merge_when_checks_succeed": true + # } + + # - name: Confirm Merge + # run: echo "PR has been successfully merged into main." From 9c9d28ea22dda00c9fe4b11b4030738861ecba90 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 10:17:12 -0500 Subject: [PATCH 067/121] Added step for ephemeral env. --- .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 73d21059..0d822c55 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -85,6 +85,10 @@ jobs: sonar-host-url: ${{ secrets.SONARQUBE_HOST }} sonar-token: ${{ secrets.SONARQUBE_TOKEN }} + - name: Generate Epemeral .env for Dry Run + run: | + echo "${{ secrets.RINOA_ENV }}" > .env + - name: Docker Compose Dry Run uses: s3i7h/spin-up-docker-compose-action@v1.2 with: From fadd1b97fe0895a8b68add46ecf9912a9c93bca2 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 10:55:29 -0500 Subject: [PATCH 068/121] Switching action for compose dry run. --- .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 0d822c55..1f2b7abc 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -90,13 +90,10 @@ jobs: echo "${{ secrets.RINOA_ENV }}" > .env - name: Docker Compose Dry Run - uses: s3i7h/spin-up-docker-compose-action@v1.2 + uses: hoverkraft-tech/compose-action@v2.0.2 with: - file: docker-compose.yml - pull: true - pull-opts: --dry-run - up: true - up-opts: -d --dry-run + compose-file: "" + up-flags: --dry-run # Job 3: Merge PR if Quality Gate passes # dry-run-merge-pr: # runs-on: ubuntu-latest From bf7a3642a137c77d00e73f1d00e28a5455f1f9fc Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 11:02:36 -0500 Subject: [PATCH 069/121] Spelling fix and compose file input. --- .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 1f2b7abc..812f72fc 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -85,14 +85,14 @@ jobs: sonar-host-url: ${{ secrets.SONARQUBE_HOST }} sonar-token: ${{ secrets.SONARQUBE_TOKEN }} - - name: Generate Epemeral .env for Dry Run + - name: Generate Ephemeral .env for Dry Run run: | echo "${{ secrets.RINOA_ENV }}" > .env - name: Docker Compose Dry Run uses: hoverkraft-tech/compose-action@v2.0.2 with: - compose-file: "" + compose-file: "./docker-compose.yml" up-flags: --dry-run # Job 3: Merge PR if Quality Gate passes # dry-run-merge-pr: From 5044b110be7893bbdb02041b0f753c687c732eb3 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 11:14:36 -0500 Subject: [PATCH 070/121] Added env for docker_host in step (not even sure if that's a thing). --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 812f72fc..6b07e1cb 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -94,6 +94,8 @@ jobs: with: compose-file: "./docker-compose.yml" up-flags: --dry-run + env: + DOCKER_HOST: tcp://localhost:2375 # Job 3: Merge PR if Quality Gate passes # dry-run-merge-pr: # runs-on: ubuntu-latest From bb0db07e6608c6cb62c8122dbdf6b0a1f4b02612 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 11:23:21 -0500 Subject: [PATCH 071/121] Damn AI copilots are getting in the way... --- .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 6b07e1cb..ba1b464f 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -53,7 +53,7 @@ jobs: fi sonarqube-analysis-dry-run: - name: SonarQube Analysis + name: SonarQube Analysis & Compose Dry-Run runs-on: ubuntu-latest needs: check-and-create-pr outputs: @@ -95,7 +95,7 @@ jobs: compose-file: "./docker-compose.yml" up-flags: --dry-run env: - DOCKER_HOST: tcp://localhost:2375 + DOCKER_HOST: tcp://dockerproxy:2375 # Job 3: Merge PR if Quality Gate passes # dry-run-merge-pr: # runs-on: ubuntu-latest From 6861bffc556b28b6424a2b8cdc7892ba598c49f4 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 12:47:54 -0500 Subject: [PATCH 072/121] Switching back compose dry run action. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index ba1b464f..ebdd8d2e 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -90,10 +90,13 @@ jobs: echo "${{ secrets.RINOA_ENV }}" > .env - name: Docker Compose Dry Run - uses: hoverkraft-tech/compose-action@v2.0.2 + uses: s3i7h/spin-up-docker-compose-action@v1.2 with: - compose-file: "./docker-compose.yml" - up-flags: --dry-run + file: docker-compose.yml + pull: true + pull-opts: --dry-run + up: true + up-opts: -d --dry-run env: DOCKER_HOST: tcp://dockerproxy:2375 # Job 3: Merge PR if Quality Gate passes From 435d384095b619a01d9c533ceea19618d0aba4b6 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 13:13:09 -0500 Subject: [PATCH 073/121] Dry run action doesn't appear to terminate on its own or return any outputs; adding log scanner. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index ebdd8d2e..c91c8eea 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -90,6 +90,7 @@ jobs: echo "${{ secrets.RINOA_ENV }}" > .env - name: Docker Compose Dry Run + id: docker-compose-dry-run uses: s3i7h/spin-up-docker-compose-action@v1.2 with: file: docker-compose.yml @@ -99,6 +100,15 @@ jobs: up-opts: -d --dry-run env: DOCKER_HOST: tcp://dockerproxy:2375 + + - name: Parse Docker Compose Dry Run Output + uses: niklas-weber/scan-log + with: + error: 'level=' + gh-token: ${{ secrets.BOT_GITEA_TOKEN }} + run-id: ${{ gitea.run_id }} + job-name: docker-compose-dry-run + # Job 3: Merge PR if Quality Gate passes # dry-run-merge-pr: # runs-on: ubuntu-latest From e25bf8273c165209001f6cb66b86941cedfd4447 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 13:19:50 -0500 Subject: [PATCH 074/121] Action fix. --- .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 c91c8eea..0f522bf8 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -102,7 +102,7 @@ jobs: DOCKER_HOST: tcp://dockerproxy:2375 - name: Parse Docker Compose Dry Run Output - uses: niklas-weber/scan-log + uses: niklas-weber/scan-log@v1.0.2 with: error: 'level=' gh-token: ${{ secrets.BOT_GITEA_TOKEN }} From 345eaa40d3445aee719eddbeddb6ee727bc49799 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 13:35:29 -0500 Subject: [PATCH 075/121] Log scan tweaking. --- .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 0f522bf8..b1726db4 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -107,7 +107,7 @@ jobs: error: 'level=' gh-token: ${{ secrets.BOT_GITEA_TOKEN }} run-id: ${{ gitea.run_id }} - job-name: docker-compose-dry-run + job-name: sonarqube-analysis-dry-run # Job 3: Merge PR if Quality Gate passes # dry-run-merge-pr: From 633c679ce93687b59dba0a8e7bb2450838862719 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 13:40:50 -0500 Subject: [PATCH 076/121] Log scan tweaking. --- .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 b1726db4..4ac53fab 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -106,7 +106,7 @@ jobs: with: error: 'level=' gh-token: ${{ secrets.BOT_GITEA_TOKEN }} - run-id: ${{ gitea.run_id }} + run-id: ${{ github.run_id }} job-name: sonarqube-analysis-dry-run # Job 3: Merge PR if Quality Gate passes From 0cc325740767504cbdc460872170e2e33ed3bc36 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 13:47:36 -0500 Subject: [PATCH 077/121] Log scan tweaking. --- .../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 4ac53fab..eede4dde 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -101,23 +101,23 @@ jobs: env: DOCKER_HOST: tcp://dockerproxy:2375 + # Job 3: Merge PR if Quality Gate passes + scan-json-merge-pr: + runs-on: ubuntu-latest + needs: [check-and-create-pr, sonarqube-analysis] + if: needs.sonarqube-analysis.outputs.quality_gate_status == 'PASSED' + steps: + - name: Checkout Code + uses: actions/checkout@v4 + - name: Parse Docker Compose Dry Run Output uses: niklas-weber/scan-log@v1.0.2 with: error: 'level=' gh-token: ${{ secrets.BOT_GITEA_TOKEN }} - run-id: ${{ github.run_id }} + run-id: ${{ gitea.run_id }} job-name: sonarqube-analysis-dry-run - # Job 3: Merge PR if Quality Gate passes - # dry-run-merge-pr: - # runs-on: ubuntu-latest - # needs: [check-and-create-pr, sonarqube-analysis] - # if: needs.sonarqube-analysis.outputs.quality_gate_status == 'PASSED' - # steps: - # - name: Checkout Code - # uses: actions/checkout@v4 - # - name: JSON clean-up for Custom Quality Gate Check... # id: json-cleanup # run: | From 54a360df14feb2c461b534a25f554cdd3a72fcf5 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 13:58:04 -0500 Subject: [PATCH 078/121] Log scan tweaking. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index eede4dde..37c52318 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -57,7 +57,7 @@ jobs: runs-on: ubuntu-latest needs: check-and-create-pr outputs: - qg_status_status: ${{ steps.quality-gate.outputs.quality-gate-status }} + qg_status: ${{ steps.quality-gate.outputs.quality-gate-status }} qg_results: ${{ steps.quality-gate-check.outputs.quality-gate-result }} steps: @@ -103,9 +103,10 @@ jobs: # Job 3: Merge PR if Quality Gate passes scan-json-merge-pr: + name: Merge PR if checks pass runs-on: ubuntu-latest - needs: [check-and-create-pr, sonarqube-analysis] - if: needs.sonarqube-analysis.outputs.quality_gate_status == 'PASSED' + needs: [check-and-create-pr, sonarqube-analysis-dry-run] + if: needs.sonarqube-analysis-dry-run.outputs.quality_gate_status == 'PASSED' steps: - name: Checkout Code uses: actions/checkout@v4 From a7d7bb9ad0d66b8a6cb0abc005b37c22c470a2b7 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 14:13:44 -0500 Subject: [PATCH 079/121] Adjusting jobs needs. --- .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 37c52318..74bf4570 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -105,7 +105,7 @@ jobs: scan-json-merge-pr: name: Merge PR if checks pass runs-on: ubuntu-latest - needs: [check-and-create-pr, sonarqube-analysis-dry-run] + needs: sonarqube-analysis-dry-run if: needs.sonarqube-analysis-dry-run.outputs.quality_gate_status == 'PASSED' steps: - name: Checkout Code From 8f1fb9fd94128a55d087eae4a5fac95d8521fe85 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 14:21:03 -0500 Subject: [PATCH 080/121] Adjusting job params.... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 74bf4570..99675a73 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -106,7 +106,6 @@ jobs: name: Merge PR if checks pass runs-on: ubuntu-latest needs: sonarqube-analysis-dry-run - if: needs.sonarqube-analysis-dry-run.outputs.quality_gate_status == 'PASSED' steps: - name: Checkout Code uses: actions/checkout@v4 From 364f8b8f4707c8f74236e44b3a97ce559c4d79c3 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 14:38:16 -0500 Subject: [PATCH 081/121] Action fix. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 99675a73..4fbee8b6 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -89,15 +89,11 @@ jobs: run: | echo "${{ secrets.RINOA_ENV }}" > .env - - name: Docker Compose Dry Run - id: docker-compose-dry-run - uses: s3i7h/spin-up-docker-compose-action@v1.2 + - name: Docker Compose Lint + id: docker-compose-lint + uses: sjafferali/docker-compose-lint-action@v0.1.2 with: - file: docker-compose.yml - pull: true - pull-opts: --dry-run - up: true - up-opts: -d --dry-run + compose-file: './docker-compose.yml' env: DOCKER_HOST: tcp://dockerproxy:2375 From bb30b7b14f6101b57fd582b0db549e4ea24be93a Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 15:09:16 -0500 Subject: [PATCH 082/121] Re-validating comment post functionality. --- .../workflows/branch-sonarscan-pr-merge.yml | 98 +++++++++---------- 1 file changed, 45 insertions(+), 53 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 4fbee8b6..22973e2c 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -6,7 +6,7 @@ on: - main jobs: - # Job 1: Check if PR exists and create one if the branch is new + check-and-create-pr: name: Check and Create PR runs-on: ubuntu-latest @@ -97,7 +97,6 @@ jobs: env: DOCKER_HOST: tcp://dockerproxy:2375 - # Job 3: Merge PR if Quality Gate passes scan-json-merge-pr: name: Merge PR if checks pass runs-on: ubuntu-latest @@ -106,60 +105,53 @@ jobs: - name: Checkout Code uses: actions/checkout@v4 - - name: Parse Docker Compose Dry Run Output - uses: niklas-weber/scan-log@v1.0.2 + - name: JSON clean-up for Custom Quality Gate Check... + id: json-cleanup + run: | + echo "Cleaning up quality gate response..." + echo '${{ needs.sonarqube-analysis-dry-run.outputs.qg_results }}' > 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 + echo "qgfixedjson=$(cat qg_fixed_json.json)" >> $GITHUB_OUTPUT + echo "JSON cleanup complete." + projstatus=$(jq -r '.projectStatus.status' qg_fixed_json.json) + caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json) + conditions=$(jq -c '.projectStatus.conditions' qg_fixed_json.json) + echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT + echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT + echo "conditions=${conditions}" >> $GITHUB_OUTPUT + + - name: Convert JSON to Markdown Table + id: convert-json-to-md + uses: buildingcash/json-to-markdown-table-action@v1.1.0 with: - error: 'level=' - gh-token: ${{ secrets.BOT_GITEA_TOKEN }} - run-id: ${{ gitea.run_id }} - job-name: sonarqube-analysis-dry-run + json: "${{ steps.json-cleanup.outputs.conditions }}" - # - name: JSON clean-up for Custom Quality Gate Check... - # 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 - # echo "qgfixedjson=$(cat qg_fixed_json.json)" >> $GITHUB_OUTPUT - # echo "JSON cleanup complete. - # projstatus=$(jq -r '.projectStatus.status' qg_fixed_json.json) - # caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json) - # conditions=$(jq -c '.projectStatus.conditions' qg_fixed_json.json) - # echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT - # echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT - # echo "conditions=${conditions}" >> $GITHUB_OUTPUT - # - name: Post SonarQube Results as Comment - # env: - # 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: | - # formatted_results=$(echo "${SQ_RESULTS}" | sed 's/\\n/\ - # /g') - # payload=$(jq -n \ - # --arg body "SonarQube analysis results: - #
- # ${{ env.SQ_RESULTS }}" \ - # '{ body: $body }') + - name: Post SonarQube Results as Comment + env: + PR_NUMBER: ${{ needs.check-and-create-pr.outputs.pr_number }} + SQ_RESULTS: ${{ steps.convert-json-to-md.outputs.table }} + QG_STATUS: ${{ needs.quality-gate.outputs.qg_status }} + QG_RESULTS: ${{ needs.sonarqube-analysis-dry-run.outputs.qg_results }} + RINOA_GITEA_URL: ${{ vars.RINOA_GITEA_URL }} + 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 "SonarQube analysis results: +
+ ${{ env.SQ_RESULTS }}" \ + '{ body: $body }') - # 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") - - # - 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 }}" - + 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") # - name: Merge PR in Gitea # uses: prasiman/gocurl@v1 From f2a7a69adabceb19bfdf3e33830e724d377047da Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 15:21:03 -0500 Subject: [PATCH 083/121] Re-validating comment post functionality. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 22973e2c..2abc8c01 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -109,7 +109,7 @@ jobs: id: json-cleanup run: | echo "Cleaning up quality gate response..." - echo '${{ needs.sonarqube-analysis-dry-run.outputs.qg_results }}' > qg_input.txt + echo '${QG_RESULTS}' > 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 echo "qgfixedjson=$(cat qg_fixed_json.json)" >> $GITHUB_OUTPUT @@ -120,6 +120,8 @@ jobs: echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT echo "conditions=${conditions}" >> $GITHUB_OUTPUT + env: + QG_RESULTS: ${{ needs.sonarqube-analysis-dry-run.outputs.qg_results }} - name: Convert JSON to Markdown Table id: convert-json-to-md From 57c284f5684e00bab52ac5563f2dc79932b7e533 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 15:41:07 -0500 Subject: [PATCH 084/121] Re-validating comment post functionality. --- .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 2abc8c01..f370ffea 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -121,7 +121,7 @@ jobs: echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT echo "conditions=${conditions}" >> $GITHUB_OUTPUT env: - QG_RESULTS: ${{ needs.sonarqube-analysis-dry-run.outputs.qg_results }} + QG_RESULTS: ${{ toJSON(needs.sonarqube-analysis-dry-run.outputs.qg_results) }} - name: Convert JSON to Markdown Table id: convert-json-to-md From d21b97fa54fa344f38492cbf4ca3fcc60ccdcb2b Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 16:08:06 -0500 Subject: [PATCH 085/121] Re-validating comment post functionality. --- .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 f370ffea..0588bd98 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -107,6 +107,8 @@ jobs: - name: JSON clean-up for Custom Quality Gate Check... id: json-cleanup + env: + QG_RESULTS: ${{ needs.sonarqube-analysis-dry-run.outputs.qg_results }} run: | echo "Cleaning up quality gate response..." echo '${QG_RESULTS}' > qg_input.txt @@ -120,8 +122,7 @@ jobs: echo "projstatus=${projstatus}" >> $GITHUB_OUTPUT echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT echo "conditions=${conditions}" >> $GITHUB_OUTPUT - env: - QG_RESULTS: ${{ toJSON(needs.sonarqube-analysis-dry-run.outputs.qg_results) }} + - name: Convert JSON to Markdown Table id: convert-json-to-md From 940582a56fa4e3d328acd3a9e1aa6f25536329aa Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 17:54:25 -0500 Subject: [PATCH 086/121] Re-jiggery.... --- .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 0588bd98..aaeacd96 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -91,9 +91,12 @@ jobs: - name: Docker Compose Lint id: docker-compose-lint - uses: sjafferali/docker-compose-lint-action@v0.1.2 + uses: https://git.trez.wtf/Trez.One/spin-up-docker-compose-action@v1.3 with: - compose-file: './docker-compose.yml' + compose-file: "./docker-compose.yml" + up-flags: --dry-run -d + pull: true + pull-opts: --dry-run env: DOCKER_HOST: tcp://dockerproxy:2375 From 26b612872ecf61823c7014e2b3c5a7a410907840 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 18:04:44 -0500 Subject: [PATCH 087/121] Removing the compose linting for now. --- .../workflows/branch-sonarscan-pr-merge.yml | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index aaeacd96..580764ce 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -85,20 +85,20 @@ jobs: sonar-host-url: ${{ secrets.SONARQUBE_HOST }} sonar-token: ${{ secrets.SONARQUBE_TOKEN }} - - name: Generate Ephemeral .env for Dry Run - run: | - echo "${{ secrets.RINOA_ENV }}" > .env + # - name: Generate Ephemeral .env for Dry Run + # run: | + # echo "${{ secrets.RINOA_ENV }}" > .env - - name: Docker Compose Lint - id: docker-compose-lint - uses: https://git.trez.wtf/Trez.One/spin-up-docker-compose-action@v1.3 - with: - compose-file: "./docker-compose.yml" - up-flags: --dry-run -d - pull: true - pull-opts: --dry-run - env: - DOCKER_HOST: tcp://dockerproxy:2375 + # - name: Docker Compose Lint + # id: docker-compose-lint + # uses: https://git.trez.wtf/Trez.One/spin-up-docker-compose-action@v1.3 + # with: + # compose-file: "./docker-compose.yml" + # up-flags: --dry-run -d + # pull: true + # pull-opts: --dry-run + # env: + # DOCKER_HOST: tcp://dockerproxy:2375 scan-json-merge-pr: name: Merge PR if checks pass From 990cc72ca3ae9890df2bfc9c1d044f14f132f8ef Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 18:21:03 -0500 Subject: [PATCH 088/121] Reverting back to earlier version. --- .../workflows/branch-sonarscan-pr-merge.yml | 94 ++++++++----------- 1 file changed, 40 insertions(+), 54 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 580764ce..94dde973 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -6,11 +6,12 @@ on: - main jobs: - + # Job 1: Check if PR exists and create one if the branch is new check-and-create-pr: name: Check and Create PR runs-on: ubuntu-latest outputs: + pr_created: ${{ steps.cc-pr.outputs.pr_created }} pr_number: ${{ steps.cc-pr.outputs.pr_index }} steps: - name: Checkout Code @@ -52,14 +53,10 @@ jobs: exit 1 fi - sonarqube-analysis-dry-run: - name: SonarQube Analysis & Compose Dry-Run + sonarqube-analysis: + name: SonarQube Analysis runs-on: ubuntu-latest needs: check-and-create-pr - outputs: - qg_status: ${{ steps.quality-gate.outputs.quality-gate-status }} - qg_results: ${{ steps.quality-gate-check.outputs.quality-gate-result }} - steps: - name: Checkout Code uses: actions/checkout@v4 @@ -85,40 +82,13 @@ jobs: sonar-host-url: ${{ secrets.SONARQUBE_HOST }} sonar-token: ${{ secrets.SONARQUBE_TOKEN }} - # - name: Generate Ephemeral .env for Dry Run - # run: | - # echo "${{ secrets.RINOA_ENV }}" > .env - - # - name: Docker Compose Lint - # id: docker-compose-lint - # uses: https://git.trez.wtf/Trez.One/spin-up-docker-compose-action@v1.3 - # with: - # compose-file: "./docker-compose.yml" - # up-flags: --dry-run -d - # pull: true - # pull-opts: --dry-run - # env: - # DOCKER_HOST: tcp://dockerproxy:2375 - - scan-json-merge-pr: - name: Merge PR if checks pass - runs-on: ubuntu-latest - needs: sonarqube-analysis-dry-run - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - - name: JSON clean-up for Custom Quality Gate Check... + - name: JSON clean-up for proccessing... id: json-cleanup - env: - QG_RESULTS: ${{ needs.sonarqube-analysis-dry-run.outputs.qg_results }} run: | echo "Cleaning up quality gate response..." - echo '${QG_RESULTS}' > qg_input.txt + 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 - echo "qgfixedjson=$(cat qg_fixed_json.json)" >> $GITHUB_OUTPUT - echo "JSON cleanup complete." projstatus=$(jq -r '.projectStatus.status' qg_fixed_json.json) caycStatus=$(jq -r '.projectStatus.caycStatus' qg_fixed_json.json) conditions=$(jq -c '.projectStatus.conditions' qg_fixed_json.json) @@ -126,7 +96,6 @@ jobs: echo "caycStatus=${caycStatus}" >> $GITHUB_OUTPUT echo "conditions=${conditions}" >> $GITHUB_OUTPUT - - name: Convert JSON to Markdown Table id: convert-json-to-md uses: buildingcash/json-to-markdown-table-action@v1.1.0 @@ -137,8 +106,7 @@ jobs: env: PR_NUMBER: ${{ needs.check-and-create-pr.outputs.pr_number }} SQ_RESULTS: ${{ steps.convert-json-to-md.outputs.table }} - QG_STATUS: ${{ needs.quality-gate.outputs.qg_status }} - QG_RESULTS: ${{ needs.sonarqube-analysis-dry-run.outputs.qg_results }} + 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 }} @@ -159,19 +127,37 @@ jobs: -d "$payload" \ "${RINOA_GITEA_URL}/api/v1/repos/${GITHUB_REPOSITORY}/pulls/${PR_NUMBER}/reviews") - # - name: Merge PR in Gitea - # uses: prasiman/gocurl@v1 - # with: - # url: "${{ secrets.GITEA_INSTANCE_URL }}/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls/${{ needs.check-and-create-pr.outputs.pr_index }}" - # method: "POST" - # headers: '{ "Authorization": "token ${{ secrets.GITEA_API_TOKEN }}", "Content-Type": "application/json" }' - # params: >- - # { - # "Do": "merge", - # "delete_branch_after_merge": true, - # "force_merge": true, - # "merge_when_checks_succeed": true - # } + # Job 3: Merge PR if Quality Gate passes + dry-run-merge-pr: + runs-on: ubuntu-latest + needs: [check-and-create-pr, sonarqube-analysis] + if: needs.sonarqube-analysis.outputs.quality_gate_status == 'PASSED' + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - name: Docker Compose Dry Run + uses: s3i7h/spin-up-docker-compose-action@v1.2 + with: + file: docker-compose.yml + pull: true + pull-opts: --dry-run + up: true + up-opts: -d --dry-run - # - name: Confirm Merge - # run: echo "PR has been successfully merged into main." + - name: Merge PR in Gitea + uses: prasiman/gocurl@v1 + with: + url: "${{ secrets.GITEA_INSTANCE_URL }}/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls/${{ needs.check-and-create-pr.outputs.pr_index }}" + method: "POST" + headers: '{ "Authorization": "token ${{ secrets.GITEA_API_TOKEN }}", "Content-Type": "application/json" }' + params: >- + { + "Do": "merge", + "delete_branch_after_merge": true, + "force_merge": true, + "merge_when_checks_succeed": true + } + + - name: Confirm Merge + run: echo "PR has been successfully merged into main." From 2d50f7c8dd74593e384a5509035fb4c00a0d3b60 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 18:28:37 -0500 Subject: [PATCH 089/121] Re-testing flow. --- .../workflows/branch-sonarscan-pr-merge.yml | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 94dde973..c7fbaaa1 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -57,6 +57,8 @@ jobs: name: SonarQube Analysis runs-on: ubuntu-latest needs: check-and-create-pr + outputs: + qg_status: ${{ steps.quality-gate.outputs.quality-gate-status }} steps: - name: Checkout Code uses: actions/checkout@v4 @@ -130,8 +132,8 @@ jobs: # Job 3: Merge PR if Quality Gate passes dry-run-merge-pr: runs-on: ubuntu-latest - needs: [check-and-create-pr, sonarqube-analysis] - if: needs.sonarqube-analysis.outputs.quality_gate_status == 'PASSED' + needs: sonarqube-analysis + if: needs.sonarqube-analysis.outputs.qg_status == 'PASSED' steps: - name: Checkout Code uses: actions/checkout@v4 @@ -145,19 +147,19 @@ jobs: up: true up-opts: -d --dry-run - - name: Merge PR in Gitea - uses: prasiman/gocurl@v1 - with: - url: "${{ secrets.GITEA_INSTANCE_URL }}/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls/${{ needs.check-and-create-pr.outputs.pr_index }}" - method: "POST" - headers: '{ "Authorization": "token ${{ secrets.GITEA_API_TOKEN }}", "Content-Type": "application/json" }' - params: >- - { - "Do": "merge", - "delete_branch_after_merge": true, - "force_merge": true, - "merge_when_checks_succeed": true - } + # - name: Merge PR in Gitea + # uses: prasiman/gocurl@v1 + # with: + # url: "${{ secrets.GITEA_INSTANCE_URL }}/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls/${{ needs.check-and-create-pr.outputs.pr_index }}" + # method: "POST" + # headers: '{ "Authorization": "token ${{ secrets.GITEA_API_TOKEN }}", "Content-Type": "application/json" }' + # params: >- + # { + # "Do": "merge", + # "delete_branch_after_merge": true, + # "force_merge": true, + # "merge_when_checks_succeed": true + # } - - name: Confirm Merge - run: echo "PR has been successfully merged into main." + # - name: Confirm Merge + # run: echo "PR has been successfully merged into main." From a815fbdf96dda6ed37b1b32ba021252e8e448ece Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 18:39:41 -0500 Subject: [PATCH 090/121] Re-testing flow. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index c7fbaaa1..d670459c 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -138,6 +138,9 @@ jobs: - name: Checkout Code uses: actions/checkout@v4 + - name: Generate Ephemeral .env for Docker Compose Dry Run + run: | + echo ${{ secrets.RINOA_ENV }} - name: Docker Compose Dry Run uses: s3i7h/spin-up-docker-compose-action@v1.2 with: From bd1b2e5590a68e85a61789c5a7a5e01a49967e1a Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 18:56:09 -0500 Subject: [PATCH 091/121] Re-testing flow. --- .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 d670459c..c479c276 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -140,7 +140,8 @@ jobs: - name: Generate Ephemeral .env for Docker Compose Dry Run run: | - echo ${{ secrets.RINOA_ENV }} + echo ${{ secrets.RINOA_ENV }} > .env + - name: Docker Compose Dry Run uses: s3i7h/spin-up-docker-compose-action@v1.2 with: From 80626c8a356061770d4e257d5cdc5837911cb339 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 19:05:23 -0500 Subject: [PATCH 092/121] Re-testing flow. --- .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 c479c276..9a459a71 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -140,8 +140,8 @@ jobs: - name: Generate Ephemeral .env for Docker Compose Dry Run run: | - echo ${{ secrets.RINOA_ENV }} > .env - + echo "${{ secrets.RINOA_ENV }}" > .env + - name: Docker Compose Dry Run uses: s3i7h/spin-up-docker-compose-action@v1.2 with: From 29fae8b0b2a5aa3d534f15bb934be049dcb1f404 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 19:15:24 -0500 Subject: [PATCH 093/121] Forgot to re-add dockerproxy. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 9a459a71..715f89f3 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -144,6 +144,8 @@ jobs: - name: Docker Compose Dry Run uses: s3i7h/spin-up-docker-compose-action@v1.2 + env: + DOCKER_HOST: tcp://dockerproxy:2375 with: file: docker-compose.yml pull: true From 2de412fb729ffa8ec4f1a2dbbbe32e78dca278a3 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 20:08:23 -0500 Subject: [PATCH 094/121] Adding PR merge step. --- .../workflows/branch-sonarscan-pr-merge.yml | 39 +++++++++++-------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 715f89f3..b5a25f11 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -129,7 +129,6 @@ jobs: -d "$payload" \ "${RINOA_GITEA_URL}/api/v1/repos/${GITHUB_REPOSITORY}/pulls/${PR_NUMBER}/reviews") - # Job 3: Merge PR if Quality Gate passes dry-run-merge-pr: runs-on: ubuntu-latest needs: sonarqube-analysis @@ -153,19 +152,27 @@ jobs: up: true up-opts: -d --dry-run - # - name: Merge PR in Gitea - # uses: prasiman/gocurl@v1 - # with: - # url: "${{ secrets.GITEA_INSTANCE_URL }}/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls/${{ needs.check-and-create-pr.outputs.pr_index }}" - # method: "POST" - # headers: '{ "Authorization": "token ${{ secrets.GITEA_API_TOKEN }}", "Content-Type": "application/json" }' - # params: >- - # { - # "Do": "merge", - # "delete_branch_after_merge": true, - # "force_merge": true, - # "merge_when_checks_succeed": true - # } + - name: Merge PR + env: + PR_INDEX: ${{ needs.check-and-create-pr.outputs.pr_number }} + run: | + merge_response=$(curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_INDEX}/merge -s \ + -X 'POST' \ + -H 'Accept: application/json' \ + -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ + -H 'Content-Type: application/json' \ + -d '{ + "Do": "merge", + "delete_branch_after_merge": true, + "force_merge": true, + "merge_when_checks_succeed": true + }' -w "{%http_code%}") + if [ "$merge_response" -eq 200 ]; then + echo "PR has been successfully merged into main." + else + echo "Failed to merge PR. Response code: {$merge_response}" + exit 1 + fi - # - name: Confirm Merge - # run: echo "PR has been successfully merged into main." + - name: Confirm Merge + run: echo "PR has been successfully merged into main." From ae8de2dcfa292734963f10df4ac657a73f79a9ea Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 20:21:22 -0500 Subject: [PATCH 095/121] Small fixes. --- .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 b5a25f11..1b2be37f 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -166,8 +166,8 @@ jobs: "delete_branch_after_merge": true, "force_merge": true, "merge_when_checks_succeed": true - }' -w "{%http_code%}") - if [ "$merge_response" -eq 200 ]; then + }' -w "%{http_code}") + if [ "${merge_response}" -eq "200" ]; then echo "PR has been successfully merged into main." else echo "Failed to merge PR. Response code: {$merge_response}" From 35cbf42f3ba4ca949e3f1a480a31600dd3e428cd Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 21:16:49 -0500 Subject: [PATCH 096/121] Small fixes. --- .../workflows/branch-sonarscan-pr-merge.yml | 32 +++++++------------ 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 1b2be37f..97e3adb5 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -155,24 +155,14 @@ jobs: - name: Merge PR env: PR_INDEX: ${{ needs.check-and-create-pr.outputs.pr_number }} - run: | - merge_response=$(curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_INDEX}/merge -s \ - -X 'POST' \ - -H 'Accept: application/json' \ - -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ - -H 'Content-Type: application/json' \ - -d '{ - "Do": "merge", - "delete_branch_after_merge": true, - "force_merge": true, - "merge_when_checks_succeed": true - }' -w "%{http_code}") - if [ "${merge_response}" -eq "200" ]; then - echo "PR has been successfully merged into main." - else - echo "Failed to merge PR. Response code: {$merge_response}" - exit 1 - fi - - - name: Confirm Merge - run: echo "PR has been successfully merged into main." + uses: Frozen-Tapestry/docker-run-action@v6 + with: + image: tgerczei/tea + run: | + tea login add --token ${{ secrets.GITHUB_TOKEN }} --name github + env: | + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITEA_USER="gitea-sonarqube-bot" + GITEA_SERVER_URL=${{ vars.RINOA_GITEA_URL }} + GITEA_SERVER_TOKEN=${{ secrets.BOT_GITEA_TOKEN }} + DOCKER_HOST: tcp://dockerproxy:2375 From 6fe83fcc1c0b8c0c95f3635e64d34a00d94deccd Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 21:20:53 -0500 Subject: [PATCH 097/121] Testing merge PR step with Docker Action. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 97e3adb5..32b58885 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -155,14 +155,13 @@ jobs: - name: Merge PR env: PR_INDEX: ${{ needs.check-and-create-pr.outputs.pr_number }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITEA_USER: "gitea-sonarqube-bot" + GITEA_SERVER_URL: ${{ vars.RINOA_GITEA_URL }} + GITEA_SERVER_TOKEN: ${{ secrets.BOT_GITEA_TOKEN }} + DOCKER_HOST: tcp://dockerproxy:2375 uses: Frozen-Tapestry/docker-run-action@v6 with: image: tgerczei/tea - run: | - tea login add --token ${{ secrets.GITHUB_TOKEN }} --name github - env: | - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GITEA_USER="gitea-sonarqube-bot" - GITEA_SERVER_URL=${{ vars.RINOA_GITEA_URL }} - GITEA_SERVER_TOKEN=${{ secrets.BOT_GITEA_TOKEN }} - DOCKER_HOST: tcp://dockerproxy:2375 + run: tea pr ls + socket: ${DOCKER_HOST} From 773ad102aa33723d06985e3a756c203959978636 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 21:32:21 -0500 Subject: [PATCH 098/121] Small fixes. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 32b58885..d5aa4aab 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -164,4 +164,3 @@ jobs: with: image: tgerczei/tea run: tea pr ls - socket: ${DOCKER_HOST} From 0aa64e92559372ac48fd6dcb2100f1aa9d4feb94 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 21:46:01 -0500 Subject: [PATCH 099/121] Small fixes. --- .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 d5aa4aab..116c3326 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -162,5 +162,6 @@ jobs: DOCKER_HOST: tcp://dockerproxy:2375 uses: Frozen-Tapestry/docker-run-action@v6 with: - image: tgerczei/tea + image: gitea/tea:latest + sheLL: /bin/bash run: tea pr ls From c2aafeaea0e84017b2237c11a0e2b5be92009206 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 21:56:42 -0500 Subject: [PATCH 100/121] Small fixes. --- .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 116c3326..37c1ca9c 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -163,5 +163,5 @@ jobs: uses: Frozen-Tapestry/docker-run-action@v6 with: image: gitea/tea:latest - sheLL: /bin/bash + sheLL: /bin/sh run: tea pr ls From cb7742ea67be6d222c2a85d861a2373181ba6406 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 22:04:59 -0500 Subject: [PATCH 101/121] Small fixes. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 37c1ca9c..29f1bfdc 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -163,5 +163,4 @@ jobs: uses: Frozen-Tapestry/docker-run-action@v6 with: image: gitea/tea:latest - sheLL: /bin/sh run: tea pr ls From bd955c3cc5ffa7a471f673dfcf2c47401e46b794 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 20 Dec 2024 22:20:06 -0500 Subject: [PATCH 102/121] Small fixes. --- .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 29f1bfdc..b9882af0 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -164,3 +164,4 @@ jobs: with: image: gitea/tea:latest run: tea pr ls + shell: tea From 0dd4182bbbc14074e03083040f01e85fec4daf3b Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 09:12:18 -0500 Subject: [PATCH 103/121] Small fixes. --- .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 b9882af0..961631c5 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -163,5 +163,5 @@ jobs: uses: Frozen-Tapestry/docker-run-action@v6 with: image: gitea/tea:latest - run: tea pr ls - shell: tea + run: pr ls + shell: /tea From 980ec39a795276217770ef554c2e4f59289584a6 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 09:42:07 -0500 Subject: [PATCH 104/121] Tea CLI set up. --- .../workflows/branch-sonarscan-pr-merge.yml | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 961631c5..e81f946c 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -131,6 +131,7 @@ jobs: dry-run-merge-pr: runs-on: ubuntu-latest + name: Dry Run & PR Merge needs: sonarqube-analysis if: needs.sonarqube-analysis.outputs.qg_status == 'PASSED' steps: @@ -152,16 +153,15 @@ jobs: up: true up-opts: -d --dry-run - - name: Merge PR + - name: Install & Setup Tea CLI + run: | + curl -sSL https://dl.gitea.com/tea/main/tea-main-linux-amd64 -o /usr/local/bin/tea + chmod +x /usr/local/bin/tea + tea login add --name gitea-rinoa --url "${{ secrets.RINOA_GITEA_SERVER }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" + + - name: Merge PR with Tea CLI env: PR_INDEX: ${{ needs.check-and-create-pr.outputs.pr_number }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GITEA_USER: "gitea-sonarqube-bot" - GITEA_SERVER_URL: ${{ vars.RINOA_GITEA_URL }} - GITEA_SERVER_TOKEN: ${{ secrets.BOT_GITEA_TOKEN }} - DOCKER_HOST: tcp://dockerproxy:2375 - uses: Frozen-Tapestry/docker-run-action@v6 - with: - image: gitea/tea:latest - run: pr ls - shell: /tea + run: | + echo "${{ gitea.event.pull_request.number }}" + tea pr m --message "Automatically merged by Gitea Actions" --output table "${PR_INDEX}" From e81953459d5bff5b9e489ac712ff39edec1ae1d4 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 09:51:28 -0500 Subject: [PATCH 105/121] Tweaking PR merge step. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index e81f946c..c034ac99 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -153,15 +153,13 @@ jobs: up: true up-opts: -d --dry-run - - name: Install & Setup Tea CLI + - name: ITea CLI Setup & PR Merge + env: + PR_NUMBER: ${{ github.event.pull_request.number }} + RINOA_GITEA_URL: ${{ vars.RINOA_GITEA_URL }} run: | curl -sSL https://dl.gitea.com/tea/main/tea-main-linux-amd64 -o /usr/local/bin/tea chmod +x /usr/local/bin/tea tea login add --name gitea-rinoa --url "${{ secrets.RINOA_GITEA_SERVER }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" - - - name: Merge PR with Tea CLI - env: - PR_INDEX: ${{ needs.check-and-create-pr.outputs.pr_number }} - run: | - echo "${{ gitea.event.pull_request.number }}" - tea pr m --message "Automatically merged by Gitea Actions" --output table "${PR_INDEX}" + tea pr m --message "Automatically merged by Gitea Actions" --output table ${PR_INDEX} + From 941790ae4674cc0214af62f5a0c883749bbe17df Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 10:03:21 -0500 Subject: [PATCH 106/121] Tweaking PR merge step. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index c034ac99..520616f7 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -155,11 +155,10 @@ jobs: - name: ITea CLI Setup & PR Merge env: - PR_NUMBER: ${{ github.event.pull_request.number }} - RINOA_GITEA_URL: ${{ vars.RINOA_GITEA_URL }} + PR_INDEX: ${{ needs.check-pr-status.outputs.pr_number }} + RINOA_GITEA_URL: ${{ vars.RINOA_GITEA_URL }} run: | curl -sSL https://dl.gitea.com/tea/main/tea-main-linux-amd64 -o /usr/local/bin/tea chmod +x /usr/local/bin/tea - tea login add --name gitea-rinoa --url "${{ secrets.RINOA_GITEA_SERVER }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" + tea login add --name gitea-rinoa --url "${{ vars.RINOA_GITEA_URL }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" tea pr m --message "Automatically merged by Gitea Actions" --output table ${PR_INDEX} - From 031639383fb5eb3ca022bee7737b441a1a5980e5 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 10:10:08 -0500 Subject: [PATCH 107/121] Tweaking PR merge step. --- .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 520616f7..7512ca5f 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -161,4 +161,4 @@ jobs: curl -sSL https://dl.gitea.com/tea/main/tea-main-linux-amd64 -o /usr/local/bin/tea chmod +x /usr/local/bin/tea tea login add --name gitea-rinoa --url "${{ vars.RINOA_GITEA_URL }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" - tea pr m --message "Automatically merged by Gitea Actions" --output table ${PR_INDEX} + tea pr m --repo ${{ github.repository }}--message "Automatically merged by Gitea Actions" --output table ${PR_INDEX} From cd7b7decbf039fc9b5d7561f208fd74b616d5973 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 10:10:50 -0500 Subject: [PATCH 108/121] Typo fix, L156 --- .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 7512ca5f..162fd2d4 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -153,7 +153,7 @@ jobs: up: true up-opts: -d --dry-run - - name: ITea CLI Setup & PR Merge + - name: Tea CLI Setup & PR Merge env: PR_INDEX: ${{ needs.check-pr-status.outputs.pr_number }} RINOA_GITEA_URL: ${{ vars.RINOA_GITEA_URL }} From 0f129818a8f15ac00f5cc9f6fe182566fca4bce5 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 10:17:43 -0500 Subject: [PATCH 109/121] Typo fix, L158 --- .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 162fd2d4..3ed68e99 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -155,10 +155,11 @@ jobs: - name: Tea CLI Setup & PR Merge env: - PR_INDEX: ${{ needs.check-pr-status.outputs.pr_number }} + PR_INDEX: ${{ needs.check-and-create-pr.outputs.pr_number }} RINOA_GITEA_URL: ${{ vars.RINOA_GITEA_URL }} run: | curl -sSL https://dl.gitea.com/tea/main/tea-main-linux-amd64 -o /usr/local/bin/tea chmod +x /usr/local/bin/tea + echo "${PR_INDEX}" tea login add --name gitea-rinoa --url "${{ vars.RINOA_GITEA_URL }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" tea pr m --repo ${{ github.repository }}--message "Automatically merged by Gitea Actions" --output table ${PR_INDEX} From 75a25d155afefb1fe39d858e4a904303209ba612 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 11:27:33 -0500 Subject: [PATCH 110/121] Echo debug for merge --- .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 3ed68e99..a38eadec 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -158,6 +158,7 @@ jobs: PR_INDEX: ${{ needs.check-and-create-pr.outputs.pr_number }} RINOA_GITEA_URL: ${{ vars.RINOA_GITEA_URL }} run: | + echo ${PR_INDEX} curl -sSL https://dl.gitea.com/tea/main/tea-main-linux-amd64 -o /usr/local/bin/tea chmod +x /usr/local/bin/tea echo "${PR_INDEX}" From 93c8da4f0976e31d3907961b802cdd382e0c953f Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 11:29:55 -0500 Subject: [PATCH 111/121] Echo debug for merge --- .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 a38eadec..03416379 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -163,4 +163,4 @@ jobs: chmod +x /usr/local/bin/tea echo "${PR_INDEX}" tea login add --name gitea-rinoa --url "${{ vars.RINOA_GITEA_URL }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" - tea pr m --repo ${{ github.repository }}--message "Automatically merged by Gitea Actions" --output table ${PR_INDEX} + tea pr m --repo ${{ github.repository }}--message "Automatically merged by Gitea Actions" ${PR_INDEX} From 6da70adef87f179e123e18a233660b425bda3f40 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 11:37:39 -0500 Subject: [PATCH 112/121] Typo fix, L166 --- .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 03416379..36899537 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -163,4 +163,4 @@ jobs: chmod +x /usr/local/bin/tea echo "${PR_INDEX}" tea login add --name gitea-rinoa --url "${{ vars.RINOA_GITEA_URL }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" - tea pr m --repo ${{ github.repository }}--message "Automatically merged by Gitea Actions" ${PR_INDEX} + tea pr m --repo ${{ github.repository }} --message "Automatically merged by Gitea Actions" --output table ${PR_INDEX} From 785258035be64bb1ee001d76e4dfc49a852047cf Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 11:51:33 -0500 Subject: [PATCH 113/121] Small fixes. --- .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 36899537..b978289e 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -154,13 +154,10 @@ jobs: up-opts: -d --dry-run - name: Tea CLI Setup & PR Merge - env: - PR_INDEX: ${{ needs.check-and-create-pr.outputs.pr_number }} - RINOA_GITEA_URL: ${{ vars.RINOA_GITEA_URL }} run: | echo ${PR_INDEX} curl -sSL https://dl.gitea.com/tea/main/tea-main-linux-amd64 -o /usr/local/bin/tea chmod +x /usr/local/bin/tea - echo "${PR_INDEX}" - tea login add --name gitea-rinoa --url "${{ vars.RINOA_GITEA_URL }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" - tea pr m --repo ${{ github.repository }} --message "Automatically merged by Gitea Actions" --output table ${PR_INDEX} + tea login add --name gitea-rinoa --url "${{ vars.RINOA_GITEA_URL }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" + tea pr ls --repo ${{ github.repository }} --state open --output csv + \ No newline at end of file From 7b5d1ed92a64dde1c13c25093696e491daaf2b87 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 11:59:00 -0500 Subject: [PATCH 114/121] Small fixes. --- .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 b978289e..46320249 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -155,7 +155,7 @@ jobs: - name: Tea CLI Setup & PR Merge run: | - echo ${PR_INDEX} + echo ${{ gitea.ref_name }} curl -sSL https://dl.gitea.com/tea/main/tea-main-linux-amd64 -o /usr/local/bin/tea chmod +x /usr/local/bin/tea tea login add --name gitea-rinoa --url "${{ vars.RINOA_GITEA_URL }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" From ba84803f2694a2e5f443f91366cf4e43ffd8a821 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 12:09:07 -0500 Subject: [PATCH 115/121] Curiosity... --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 46320249..a3c4fe1a 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -156,8 +156,21 @@ jobs: - name: Tea CLI Setup & PR Merge run: | echo ${{ gitea.ref_name }} + echo ${{ gitea.server_url }} + echo ${{ gitea.repository.full_name }} + echo ${{ gitea.actor }} + echo ${{ gitea.event.pull_request.number }} + echo ${{ gitea.event.pull_request.head.sha }} + echo ${{ gitea.event.pull_request.base.sha }} + echo ${{ gitea.event.pull_request.title }} + echo ${{ gitea.event.pull_request.body }} + echo ${{ gitea.event.pull_request.user.login }} + echo ${{ gitea.event.pull_request.user.email }} + echo ${{ gitea.event.pull_request.user.name }} + echo ${{ gitea.event.pull_request.user.username }} + echo ${{ gitea.event.pull_request.user.full_name }} curl -sSL https://dl.gitea.com/tea/main/tea-main-linux-amd64 -o /usr/local/bin/tea chmod +x /usr/local/bin/tea tea login add --name gitea-rinoa --url "${{ vars.RINOA_GITEA_URL }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" - tea pr ls --repo ${{ github.repository }} --state open --output csv + tea pr ls --repo ${{ github.repository }} --state open --output csv \ No newline at end of file From 8631d241b0594ae6fcc33a93efd2eaf1f589b76c Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 12:23:52 -0500 Subject: [PATCH 116/121] Small fixes. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index a3c4fe1a..8c108a1a 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -156,21 +156,9 @@ jobs: - name: Tea CLI Setup & PR Merge run: | echo ${{ gitea.ref_name }} - echo ${{ gitea.server_url }} - echo ${{ gitea.repository.full_name }} - echo ${{ gitea.actor }} - echo ${{ gitea.event.pull_request.number }} - echo ${{ gitea.event.pull_request.head.sha }} - echo ${{ gitea.event.pull_request.base.sha }} - echo ${{ gitea.event.pull_request.title }} - echo ${{ gitea.event.pull_request.body }} - echo ${{ gitea.event.pull_request.user.login }} - echo ${{ gitea.event.pull_request.user.email }} - echo ${{ gitea.event.pull_request.user.name }} - echo ${{ gitea.event.pull_request.user.username }} - echo ${{ gitea.event.pull_request.user.full_name }} + curl -sSL https://dl.gitea.com/tea/main/tea-main-linux-amd64 -o /usr/local/bin/tea chmod +x /usr/local/bin/tea tea login add --name gitea-rinoa --url "${{ vars.RINOA_GITEA_URL }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" - tea pr ls --repo ${{ github.repository }} --state open --output csv + tea pr ls --repo ${{ github.repository }} --state open --output csv | egrep "${{ gitea.ref_name }}" | awk -F, '{print $1}' | xargs -I {} tea pr merge --repo ${{ github.repository }} --title "Auto-merging PR" --output table \ No newline at end of file From 4a0236220ccc2deb783a4167e26ee43eff0b2af2 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 12:30:37 -0500 Subject: [PATCH 117/121] Small fixes. --- .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 8c108a1a..9fcc4a7a 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -160,5 +160,5 @@ jobs: curl -sSL https://dl.gitea.com/tea/main/tea-main-linux-amd64 -o /usr/local/bin/tea chmod +x /usr/local/bin/tea tea login add --name gitea-rinoa --url "${{ vars.RINOA_GITEA_URL }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" - tea pr ls --repo ${{ github.repository }} --state open --output csv | egrep "${{ gitea.ref_name }}" | awk -F, '{print $1}' | xargs -I {} tea pr merge --repo ${{ github.repository }} --title "Auto-merging PR" --output table + tea pr ls --repo ${{ github.repository }} --state open --output csv | egrep "${{ gitea.ref_name }}" | awk -F, '{print $1}' \ No newline at end of file From e50041f69ba8675c261f8d8812b8f09a3cf711f3 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 12:46:01 -0500 Subject: [PATCH 118/121] Small fixes. --- .gitea/workflows/branch-sonarscan-pr-merge.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 9fcc4a7a..953e733f 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -155,10 +155,9 @@ jobs: - name: Tea CLI Setup & PR Merge run: | - echo ${{ gitea.ref_name }} - curl -sSL https://dl.gitea.com/tea/main/tea-main-linux-amd64 -o /usr/local/bin/tea chmod +x /usr/local/bin/tea + echo "Merging PR..." tea login add --name gitea-rinoa --url "${{ vars.RINOA_GITEA_URL }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" - tea pr ls --repo ${{ github.repository }} --state open --output csv | egrep "${{ gitea.ref_name }}" | awk -F, '{print $1}' - \ No newline at end of file + pr_index=$(tea pr ls --repo ${{ github.repository }} --state open --output csv | egrep "${{ gitea.ref_name }}" | awk -F, '{print $1}' | sed -e 's|"||g') + tea pr m --repo ${{ gitea.ref_name }} --output table --title "Auto Merge" --message "Merged by ${{ gitea.actor }}" \ No newline at end of file From a43c9ef0406b6fa752f02551dd68eb2e0f25f51e Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 12:52:18 -0500 Subject: [PATCH 119/121] Small fixes. --- .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 953e733f..dbfd2629 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -160,4 +160,4 @@ jobs: echo "Merging PR..." tea login add --name gitea-rinoa --url "${{ vars.RINOA_GITEA_URL }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" pr_index=$(tea pr ls --repo ${{ github.repository }} --state open --output csv | egrep "${{ gitea.ref_name }}" | awk -F, '{print $1}' | sed -e 's|"||g') - tea pr m --repo ${{ gitea.ref_name }} --output table --title "Auto Merge" --message "Merged by ${{ gitea.actor }}" \ No newline at end of file + tea pr m --repo ${{ gitea.ref_name }} --output table --title "Auto Merge" --message "Merged by ${{ gitea.actor }}" ${pr_index} \ No newline at end of file From e9367e26d86a99bffa3075e82e286e8810a89b2f Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 13:09:50 -0500 Subject: [PATCH 120/121] Removing Zitadel as part of testing. --- docker-compose.yml | 50 ---------------------------------------------- 1 file changed, 50 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index c3b47446..1cd8800a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6991,56 +6991,6 @@ services: target: /opt/zammad/storage type: volume volume: {} - zitadel: - container_name: zitadel - image: ghcr.io/zitadel/zitadel:latest - command: 'start-from-init --masterkeyFromEnv --tlsMode external' - # depends_on: - # zitadel-pg-db: - # condition: 'service_healthy' - environment: - ZITADEL_DATABASE_POSTGRES_HOST: zitadel-pg-db - ZITADEL_DATABASE_POSTGRES_PORT: 5432 - ZITADEL_DATABASE_POSTGRES_DATABASE: zitadel - ZITADEL_DATABASE_POSTGRES_USER_USERNAME: zitadel - ZITADEL_DATABASE_POSTGRES_USER_PASSWORD: ${ZITADEL_DB_PASSWORD} - ZITADEL_DATABASE_POSTGRES_USER_SSL_MODE: disable - ZITADEL_DATABASE_POSTGRES_ADMIN_USERNAME: postgres - ZITADEL_DATABASE_POSTGRES_ADMIN_PASSWORD: ${ZITADEL_DB_ADMIN_PASSWORD} - ZITADEL_DATABASE_POSTGRES_ADMIN_SSL_MODE: disable - ZITADEL_EXTERNALSECURE: true - ZITADEL_EXTERNALPORT: 443 - ZITADEL_EXTERNALDOMAIN: zitadel.trez.wtf - ZITADEL_MASTERKEY: ${ZITADEL_MASTER_KEY} - expose: - - 8080 - labels: - - swag=enable - - swag_proto=http - - swag_port=8080 - - swag_url=zitadel.${MY_TLD} - - homepage.group=System Administration - - homepage.name=Zitadel - - homepage.href=https://zitadel.${MY_TLD} - - homepage.icon=zitadel.svg - - homepage.description=Centralized authentication management - zitadel-pg-db: - container_name: zitadel-pg-db - environment: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: ${ZITADEL_DB_ADMIN_PASSWORD} - expose: - - 5432 - healthcheck: - test: ["CMD-SHELL", "pg_isready", "-d", "zitadel", "-U", "postgres"] - interval: '10s' - timeout: '30s' - retries: 5 - start_period: '20s' - image: postgres:16-alpine - restart: always - volumes: - - zitadel-pg-db:/var/lib/postgresql/data volumes: authelia-pg-db: name: compose_authelia-pg-db From 02b82b85cc49884cbfc64f06722cc3c882c78433 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 21 Dec 2024 13:23:11 -0500 Subject: [PATCH 121/121] Small fixes. --- .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 dbfd2629..0c6bd62f 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -160,4 +160,4 @@ jobs: echo "Merging PR..." tea login add --name gitea-rinoa --url "${{ vars.RINOA_GITEA_URL }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token "${{ secrets.BOT_GITEA_TOKEN }}" pr_index=$(tea pr ls --repo ${{ github.repository }} --state open --output csv | egrep "${{ gitea.ref_name }}" | awk -F, '{print $1}' | sed -e 's|"||g') - tea pr m --repo ${{ gitea.ref_name }} --output table --title "Auto Merge" --message "Merged by ${{ gitea.actor }}" ${pr_index} \ No newline at end of file + tea pr m --repo ${{ github.repository }} --title "Auto Merge" --message "Merged by ${{ gitea.actor }}" --output table ${pr_index} \ No newline at end of file