diff --git a/.github/workflows/ci-openapi.yml b/.github/workflows/ci-openapi.yml index 6b7d4223bd..b5810655b1 100644 --- a/.github/workflows/ci-openapi.yml +++ b/.github/workflows/ci-openapi.yml @@ -101,11 +101,25 @@ jobs: - id: read-diff name: Read openapi-diff output run: | + # Read and fix markdown body=$(cat openapi-changes.md) body="${body//'%'/'%25'}" body="${body//$'\n'/'%0A'}" body="${body//$'\r'/'%0D'}" - echo ::set-output name=body::$body + # Write to workflow summary + echo $body >> $GITHUB_STEP_SUMMARY + # Set ApiChanged var + if [ $body != '' ]; then + echo "ApiChanged=1" >> "$GITHUB_OUTPUT" + else + echo "ApiChanged=0" >> "$GITHUB_OUTPUT" + fi + # Add header/footer for diff comment + echo '' > openapi-changes-reply.md + echo "
" >> openapi-changes-reply.md + echo "Changes in OpenAPI specification found. Expand to see details." >> openapi-changes-reply.md + echo "$body" >> openapi-changes-reply.md + echo "
" >> openapi-changes-reply.md - name: Find difference comment uses: peter-evans/find-comment@3eae4d37986fb5a8592848f6a574fdf654e61f9e # v3.1.0 id: find-comment @@ -115,22 +129,15 @@ jobs: body-includes: openapi-diff-workflow-comment - name: Reply or edit difference comment (changed) uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 - if: ${{ steps.read-diff.outputs.body != '' }} + if: ${{ steps.read-diff.outputs.ApiChanged == '1' }} with: issue-number: ${{ github.event.pull_request.number }} comment-id: ${{ steps.find-comment.outputs.comment-id }} edit-mode: replace - body: | - -
- Changes in OpenAPI specification found. Expand to see details. - - ${{ steps.read-diff.outputs.body }} - -
+ body-path: openapi-changes-reply.md - name: Edit difference comment (unchanged) uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 - if: ${{ steps.read-diff.outputs.body == '' && steps.find-comment.outputs.comment-id != '' }} + if: ${{ steps.read-diff.outputs.ApiChanged == '0' && steps.find-comment.outputs.comment-id != '' }} with: issue-number: ${{ github.event.pull_request.number }} comment-id: ${{ steps.find-comment.outputs.comment-id }}