From 8ac3b8292fd5202dd18d54d7f76b1e38f6def554 Mon Sep 17 00:00:00 2001 From: Taj Singh Date: Wed, 8 Apr 2026 13:13:41 +0100 Subject: [PATCH] Update action to only send ref when pr number is not included and vice versa --- action.yml | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/action.yml b/action.yml index 4893c98..1b07e2d 100644 --- a/action.yml +++ b/action.yml @@ -73,19 +73,27 @@ runs: # coverage reports. gzip -c "$INPUT_FILE" | base64 -w 0 > __coverage_b64.txt - jq -n \ - --arg commit_oid "$COMMIT_OID" \ - --arg ref "$REF" \ - --rawfile coverage_report __coverage_b64.txt \ - --arg language_name "$INPUT_LANGUAGE" \ - --arg label "$INPUT_LABEL" \ - '{commit_oid: $commit_oid, ref: $ref, coverage_report: $coverage_report, language_name: $language_name, label: $label}' \ - > __body.json - + # The API requires either ref or pull_request_number (not both). if [ -n "${PR_NUMBER:-}" ]; then - jq --argjson pr_number "$PR_NUMBER" \ - '. + {pull_request_number: $pr_number}' __body.json > __body_tmp.json \ - && mv __body_tmp.json __body.json + # pull-request-based upload: provide pull_request_number, omit ref + jq -n \ + --arg commit_oid "$COMMIT_OID" \ + --rawfile coverage_report __coverage_b64.txt \ + --arg language_name "$INPUT_LANGUAGE" \ + --arg label "$INPUT_LABEL" \ + --argjson pr_number "$PR_NUMBER" \ + '{commit_oid: $commit_oid, coverage_report: $coverage_report, language_name: $language_name, label: $label, pull_request_number: $pr_number}' \ + > __body.json + else + # ref-based upload: provide ref, omit pull_request_number + jq -n \ + --arg commit_oid "$COMMIT_OID" \ + --arg ref "$REF" \ + --rawfile coverage_report __coverage_b64.txt \ + --arg language_name "$INPUT_LANGUAGE" \ + --arg label "$INPUT_LABEL" \ + '{commit_oid: $commit_oid, ref: $ref, coverage_report: $coverage_report, language_name: $language_name, label: $label}' \ + > __body.json fi UPLOAD_OUTPUT=$(gh api --method PUT "/repos/${{ github.repository }}/code-coverage/report" \