Copilot commented on code in PR #6730:
URL: https://github.com/apache/texera/pull/6730#discussion_r3626893546


##########
.github/workflows/build.yml:
##########
@@ -137,44 +137,44 @@ jobs:
         run: ./bin/licensing/check_binary_deps.py ${{ inputs.mode == 'PR' && 
'--ignore-transitive-version' || '' }} npm frontend/dist/3rdpartylicenses.json
       - name: Run frontend unit tests
         run: yarn --cwd frontend run test:ci
-      - name: Upload frontend coverage to Codecov
-        if: matrix.os == 'ubuntu-latest' && always()
-        uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f 
# v7.0.0
-        with:
-          token: ${{ secrets.CODECOV_TOKEN }}
-          files: ./frontend/coverage/**/lcov.info
-          flags: frontend
-          fail_ci_if_error: false
-      - name: Upload frontend unit test results to Codecov
-        # vitest.config.ts adds a `junit` reporter that writes to junit.xml
-        # in the working dir; the @angular/build:unit-test runner forwards
-        # vitest config through unchanged.
-        if: matrix.os == 'ubuntu-latest' && !cancelled()
-        uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f 
# v7.0.0
-        with:
-          token: ${{ secrets.CODECOV_TOKEN }}
-          files: ./frontend/junit.xml
-          flags: frontend
-          report_type: test_results
-          disable_search: true
-          fail_ci_if_error: false
       - name: Install Playwright Chromium
         run: yarn --cwd frontend playwright install ${{ matrix.os == 
'ubuntu-latest' && '--with-deps' || '' }} chromium
       - name: Run frontend browser-mode tests
         run: yarn --cwd frontend ng run gui:test-browser
-      - name: Upload frontend browser-mode test results to Codecov
-        # vitest.browser.config.ts emits junit-browser.xml (distinct from
-        # the unit-test report). Same `frontend` flag — Codecov merges
-        # multi-file uploads under one flag.
-        if: matrix.os == 'ubuntu-latest' && !cancelled()
-        uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f 
# v7.0.0
+      # Codecov upload is deferred to the codecov-upload.yml workflow, which 
runs
+      # on workflow_run in the base-repo context. A PR from a fork never 
receives
+      # secrets.CODECOV_TOKEN on the pull_request event, so uploading directly 
from
+      # here falls back to Codecov's tokenless path; under a burst of fork-PR
+      # uploads Codecov still processes the report but silently drops the PR 
comment
+      # (reported on #6685). Staging the reports as an artifact lets the 
follow-up workflow
+      # re-upload them with a token so the comment posts reliably. Skipped on
+      # backport builds — they check out a different ref and would collide on 
the
+      # artifact name across the target matrix.
+      - name: Stage frontend coverage for deferred Codecov upload
+        if: matrix.os == 'ubuntu-latest' && inputs.backport_target_branch == 
'' && !cancelled()

Review Comment:
   This staging step won’t run if the unit tests or browser-mode tests fail 
(default step condition is success()), so the deferred workflow won’t have 
coverage/JUnit artifacts to upload. Previously the Codecov upload steps were 
explicitly configured to run on failures (always()/!cancelled()). Add always() 
so staging still happens on failure (while still skipping cancellations).



##########
.github/workflows/build.yml:
##########
@@ -137,44 +137,44 @@ jobs:
         run: ./bin/licensing/check_binary_deps.py ${{ inputs.mode == 'PR' && 
'--ignore-transitive-version' || '' }} npm frontend/dist/3rdpartylicenses.json
       - name: Run frontend unit tests
         run: yarn --cwd frontend run test:ci
-      - name: Upload frontend coverage to Codecov
-        if: matrix.os == 'ubuntu-latest' && always()
-        uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f 
# v7.0.0
-        with:
-          token: ${{ secrets.CODECOV_TOKEN }}
-          files: ./frontend/coverage/**/lcov.info
-          flags: frontend
-          fail_ci_if_error: false
-      - name: Upload frontend unit test results to Codecov
-        # vitest.config.ts adds a `junit` reporter that writes to junit.xml
-        # in the working dir; the @angular/build:unit-test runner forwards
-        # vitest config through unchanged.
-        if: matrix.os == 'ubuntu-latest' && !cancelled()
-        uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f 
# v7.0.0
-        with:
-          token: ${{ secrets.CODECOV_TOKEN }}
-          files: ./frontend/junit.xml
-          flags: frontend
-          report_type: test_results
-          disable_search: true
-          fail_ci_if_error: false
       - name: Install Playwright Chromium
         run: yarn --cwd frontend playwright install ${{ matrix.os == 
'ubuntu-latest' && '--with-deps' || '' }} chromium
       - name: Run frontend browser-mode tests
         run: yarn --cwd frontend ng run gui:test-browser
-      - name: Upload frontend browser-mode test results to Codecov
-        # vitest.browser.config.ts emits junit-browser.xml (distinct from
-        # the unit-test report). Same `frontend` flag — Codecov merges
-        # multi-file uploads under one flag.
-        if: matrix.os == 'ubuntu-latest' && !cancelled()
-        uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f 
# v7.0.0
+      # Codecov upload is deferred to the codecov-upload.yml workflow, which 
runs
+      # on workflow_run in the base-repo context. A PR from a fork never 
receives
+      # secrets.CODECOV_TOKEN on the pull_request event, so uploading directly 
from
+      # here falls back to Codecov's tokenless path; under a burst of fork-PR
+      # uploads Codecov still processes the report but silently drops the PR 
comment
+      # (reported on #6685). Staging the reports as an artifact lets the 
follow-up workflow
+      # re-upload them with a token so the comment posts reliably. Skipped on
+      # backport builds — they check out a different ref and would collide on 
the
+      # artifact name across the target matrix.
+      - name: Stage frontend coverage for deferred Codecov upload
+        if: matrix.os == 'ubuntu-latest' && inputs.backport_target_branch == 
'' && !cancelled()
+        shell: bash
+        run: |
+          mkdir -p frontend/codecov-report
+          cp frontend/coverage/gui/lcov.info frontend/codecov-report/ 
2>/dev/null || true
+          cp frontend/junit.xml frontend/codecov-report/ 2>/dev/null || true
+          cp frontend/junit-browser.xml frontend/codecov-report/ 2>/dev/null 
|| true
+          # Persist the identifiers the deferred upload needs to attach 
coverage to
+          # the right pull request: the workflow_run event resolves to the 
default
+          # branch and its pull_requests array is empty for forks, and the PR 
build
+          # checks out the merge commit (github.sha) while Codecov keys on the 
PR
+          # head sha — so stash the head sha explicitly. All three fall back 
to the
+          # push-commit values when there is no pull_request (push to main).
+          echo "${{ github.event.pull_request.number }}" > 
frontend/codecov-report/pr-number.txt
+          echo "${{ github.event.pull_request.head.sha || github.sha }}" > 
frontend/codecov-report/commit-sha.txt
+          echo "${{ github.event.pull_request.head.ref || github.ref_name }}" 
> frontend/codecov-report/branch.txt
+      - name: Upload frontend coverage artifact
+        if: matrix.os == 'ubuntu-latest' && inputs.backport_target_branch == 
'' && !cancelled()

Review Comment:
   Same as the staging step above: without always(), this artifact upload won’t 
run when earlier steps fail, so the follow-up workflow can’t re-upload to 
Codecov on failing test runs. Include always() (and keep !cancelled()) to 
preserve the prior behavior of uploading diagnostics even on failures.



##########
.github/workflows/codecov-upload.yml:
##########
@@ -0,0 +1,128 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Deferred, authenticated Codecov upload for coverage produced by "Required 
Checks".
+#
+# Why this exists (reported on #6685): a PR from a fork never receives 
secrets.CODECOV_TOKEN —
+# the build runs on the `pull_request` event and GitHub withholds secrets from 
fork
+# runs. A direct upload from the build therefore uses Codecov's tokenless path,
+# which is rate-limited; under a burst of fork-PR uploads Codecov processes the
+# report but silently drops the PR comment. This workflow runs on 
`workflow_run`, in
+# the base-repo context where the token IS available, and re-uploads the staged
+# coverage artifact with authentication so the comment posts reliably even in 
bursts.
+#
+# Proof of concept: only the `frontend` flag is routed through here for now. 
build.yml
+# stages the frontend lcov + JUnit reports as the `codecov-frontend` artifact; 
every
+# other flag still uploads directly from build.yml.
+#
+# NOTE: `workflow_run` only fires from the copy of this file on the default 
branch, so
+# this has NO effect until it is merged to main. After merge, exercise it 
manually via
+# the workflow_dispatch entry below, passing a finished "Required Checks" run 
id.
+
+name: Codecov Upload
+
+on:
+  workflow_run:
+    workflows: ["Required Checks"]
+    types:
+      - completed
+  workflow_dispatch:
+    inputs:
+      run_id:
+        description: "Finished 'Required Checks' run id to pull the 
codecov-frontend artifact from"
+        required: true
+        type: string
+
+permissions:
+  contents: read
+  actions: read # download-artifact needs this to read artifacts from another 
run
+
+# One upload per source run; a re-run of the source supersedes rather than 
races.
+concurrency:
+  group: codecov-upload-${{ github.event.workflow_run.id || inputs.run_id }}
+  cancel-in-progress: false
+
+jobs:
+  frontend:
+    # Skip only a cancelled/skipped upstream; still run on failure so partial
+    # coverage is reported (mirrors the old always()/!cancelled() upload 
steps).
+    if: >-
+      github.event_name == 'workflow_dispatch' ||
+      (github.event.workflow_run.conclusion != 'cancelled' &&
+       github.event.workflow_run.conclusion != 'skipped')
+    runs-on: ubuntu-latest
+    steps:
+      - name: Resolve source run id
+        id: src
+        shell: bash
+        run: echo "run_id=${{ github.event.workflow_run.id || inputs.run_id 
}}" >> "$GITHUB_OUTPUT"
+      - name: Download staged frontend coverage
+        id: dl
+        continue-on-error: true # absent when the frontend job was label-gated 
out
+        uses: actions/download-artifact@v4
+        with:
+          name: codecov-frontend
+          path: codecov-frontend
+          run-id: ${{ steps.src.outputs.run_id }}
+          github-token: ${{ github.token }}
+      - name: Read coverage metadata
+        if: steps.dl.outcome == 'success'
+        id: meta
+        shell: bash
+        # The artifact content comes from a (possibly fork) PR build, so 
sanitize
+        # each value to its expected charset before handing it to the Codecov 
CLI.
+        run: |
+          echo "pr=$(cat codecov-frontend/pr-number.txt 2>/dev/null | tr -cd 
'0-9')" >> "$GITHUB_OUTPUT"
+          echo "sha=$(cat codecov-frontend/commit-sha.txt 2>/dev/null | tr -cd 
'0-9a-fA-F')" >> "$GITHUB_OUTPUT"
+          echo "branch=$(cat codecov-frontend/branch.txt 2>/dev/null | tr -cd 
'[:alnum:]._/:-')" >> "$GITHUB_OUTPUT"
+      - name: Upload frontend coverage to Codecov
+        if: steps.dl.outcome == 'success' && 
hashFiles('codecov-frontend/lcov.info') != ''
+        uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f 
# v7.0.0
+        with:
+          token: ${{ secrets.CODECOV_TOKEN }}
+          files: codecov-frontend/lcov.info
+          flags: frontend
+          disable_search: true
+          fail_ci_if_error: false
+          override_commit: ${{ steps.meta.outputs.sha }}
+          override_branch: ${{ steps.meta.outputs.branch }}
+          override_pr: ${{ steps.meta.outputs.pr }}
+      - name: Upload frontend unit test results to Codecov

Review Comment:
   override_pr is always set, but on non-PR runs (e.g. push to main) 
pr-number.txt is empty, so override_pr becomes an empty string. Depending on 
codecov-action’s parsing this can fail the upload or mis-associate it. Split 
into PR vs push upload steps and only pass override_pr when it’s non-empty.



##########
.github/workflows/codecov-upload.yml:
##########
@@ -0,0 +1,128 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Deferred, authenticated Codecov upload for coverage produced by "Required 
Checks".
+#
+# Why this exists (reported on #6685): a PR from a fork never receives 
secrets.CODECOV_TOKEN —
+# the build runs on the `pull_request` event and GitHub withholds secrets from 
fork
+# runs. A direct upload from the build therefore uses Codecov's tokenless path,
+# which is rate-limited; under a burst of fork-PR uploads Codecov processes the
+# report but silently drops the PR comment. This workflow runs on 
`workflow_run`, in
+# the base-repo context where the token IS available, and re-uploads the staged
+# coverage artifact with authentication so the comment posts reliably even in 
bursts.
+#
+# Proof of concept: only the `frontend` flag is routed through here for now. 
build.yml
+# stages the frontend lcov + JUnit reports as the `codecov-frontend` artifact; 
every
+# other flag still uploads directly from build.yml.
+#
+# NOTE: `workflow_run` only fires from the copy of this file on the default 
branch, so
+# this has NO effect until it is merged to main. After merge, exercise it 
manually via
+# the workflow_dispatch entry below, passing a finished "Required Checks" run 
id.
+
+name: Codecov Upload
+
+on:
+  workflow_run:
+    workflows: ["Required Checks"]
+    types:
+      - completed
+  workflow_dispatch:
+    inputs:
+      run_id:
+        description: "Finished 'Required Checks' run id to pull the 
codecov-frontend artifact from"
+        required: true
+        type: string
+
+permissions:
+  contents: read
+  actions: read # download-artifact needs this to read artifacts from another 
run
+
+# One upload per source run; a re-run of the source supersedes rather than 
races.
+concurrency:
+  group: codecov-upload-${{ github.event.workflow_run.id || inputs.run_id }}
+  cancel-in-progress: false
+
+jobs:
+  frontend:
+    # Skip only a cancelled/skipped upstream; still run on failure so partial
+    # coverage is reported (mirrors the old always()/!cancelled() upload 
steps).
+    if: >-
+      github.event_name == 'workflow_dispatch' ||
+      (github.event.workflow_run.conclusion != 'cancelled' &&
+       github.event.workflow_run.conclusion != 'skipped')
+    runs-on: ubuntu-latest
+    steps:
+      - name: Resolve source run id
+        id: src
+        shell: bash
+        run: echo "run_id=${{ github.event.workflow_run.id || inputs.run_id 
}}" >> "$GITHUB_OUTPUT"
+      - name: Download staged frontend coverage
+        id: dl
+        continue-on-error: true # absent when the frontend job was label-gated 
out
+        uses: actions/download-artifact@v4
+        with:
+          name: codecov-frontend
+          path: codecov-frontend
+          run-id: ${{ steps.src.outputs.run_id }}
+          github-token: ${{ github.token }}
+      - name: Read coverage metadata
+        if: steps.dl.outcome == 'success'
+        id: meta
+        shell: bash
+        # The artifact content comes from a (possibly fork) PR build, so 
sanitize
+        # each value to its expected charset before handing it to the Codecov 
CLI.
+        run: |
+          echo "pr=$(cat codecov-frontend/pr-number.txt 2>/dev/null | tr -cd 
'0-9')" >> "$GITHUB_OUTPUT"
+          echo "sha=$(cat codecov-frontend/commit-sha.txt 2>/dev/null | tr -cd 
'0-9a-fA-F')" >> "$GITHUB_OUTPUT"
+          echo "branch=$(cat codecov-frontend/branch.txt 2>/dev/null | tr -cd 
'[:alnum:]._/:-')" >> "$GITHUB_OUTPUT"
+      - name: Upload frontend coverage to Codecov
+        if: steps.dl.outcome == 'success' && 
hashFiles('codecov-frontend/lcov.info') != ''
+        uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f 
# v7.0.0
+        with:
+          token: ${{ secrets.CODECOV_TOKEN }}
+          files: codecov-frontend/lcov.info
+          flags: frontend
+          disable_search: true
+          fail_ci_if_error: false
+          override_commit: ${{ steps.meta.outputs.sha }}
+          override_branch: ${{ steps.meta.outputs.branch }}
+          override_pr: ${{ steps.meta.outputs.pr }}
+      - name: Upload frontend unit test results to Codecov
+        if: steps.dl.outcome == 'success' && 
hashFiles('codecov-frontend/junit.xml') != ''
+        uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f 
# v7.0.0
+        with:
+          token: ${{ secrets.CODECOV_TOKEN }}
+          files: codecov-frontend/junit.xml
+          flags: frontend
+          report_type: test_results
+          disable_search: true
+          fail_ci_if_error: false
+          override_commit: ${{ steps.meta.outputs.sha }}
+          override_branch: ${{ steps.meta.outputs.branch }}
+          override_pr: ${{ steps.meta.outputs.pr }}
+      - name: Upload frontend browser-mode test results to Codecov
+        if: steps.dl.outcome == 'success' && 
hashFiles('codecov-frontend/junit-browser.xml') != ''
+        uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f 
# v7.0.0
+        with:
+          token: ${{ secrets.CODECOV_TOKEN }}
+          files: codecov-frontend/junit-browser.xml
+          flags: frontend
+          report_type: test_results
+          disable_search: true
+          fail_ci_if_error: false
+          override_commit: ${{ steps.meta.outputs.sha }}
+          override_branch: ${{ steps.meta.outputs.branch }}
+          override_pr: ${{ steps.meta.outputs.pr }}

Review Comment:
   Same issue as the other Codecov uploads: override_pr will be empty on push 
runs, but is still passed unconditionally. Add a push variant step that omits 
override_pr when steps.meta.outputs.pr is empty.



##########
.github/workflows/codecov-upload.yml:
##########
@@ -0,0 +1,128 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Deferred, authenticated Codecov upload for coverage produced by "Required 
Checks".
+#
+# Why this exists (reported on #6685): a PR from a fork never receives 
secrets.CODECOV_TOKEN —
+# the build runs on the `pull_request` event and GitHub withholds secrets from 
fork
+# runs. A direct upload from the build therefore uses Codecov's tokenless path,
+# which is rate-limited; under a burst of fork-PR uploads Codecov processes the
+# report but silently drops the PR comment. This workflow runs on 
`workflow_run`, in
+# the base-repo context where the token IS available, and re-uploads the staged
+# coverage artifact with authentication so the comment posts reliably even in 
bursts.
+#
+# Proof of concept: only the `frontend` flag is routed through here for now. 
build.yml
+# stages the frontend lcov + JUnit reports as the `codecov-frontend` artifact; 
every
+# other flag still uploads directly from build.yml.
+#
+# NOTE: `workflow_run` only fires from the copy of this file on the default 
branch, so
+# this has NO effect until it is merged to main. After merge, exercise it 
manually via
+# the workflow_dispatch entry below, passing a finished "Required Checks" run 
id.
+
+name: Codecov Upload
+
+on:
+  workflow_run:
+    workflows: ["Required Checks"]
+    types:
+      - completed
+  workflow_dispatch:
+    inputs:
+      run_id:
+        description: "Finished 'Required Checks' run id to pull the 
codecov-frontend artifact from"
+        required: true
+        type: string
+
+permissions:
+  contents: read
+  actions: read # download-artifact needs this to read artifacts from another 
run
+
+# One upload per source run; a re-run of the source supersedes rather than 
races.
+concurrency:
+  group: codecov-upload-${{ github.event.workflow_run.id || inputs.run_id }}
+  cancel-in-progress: false
+
+jobs:
+  frontend:
+    # Skip only a cancelled/skipped upstream; still run on failure so partial
+    # coverage is reported (mirrors the old always()/!cancelled() upload 
steps).
+    if: >-
+      github.event_name == 'workflow_dispatch' ||
+      (github.event.workflow_run.conclusion != 'cancelled' &&
+       github.event.workflow_run.conclusion != 'skipped')
+    runs-on: ubuntu-latest
+    steps:
+      - name: Resolve source run id
+        id: src
+        shell: bash
+        run: echo "run_id=${{ github.event.workflow_run.id || inputs.run_id 
}}" >> "$GITHUB_OUTPUT"
+      - name: Download staged frontend coverage
+        id: dl
+        continue-on-error: true # absent when the frontend job was label-gated 
out
+        uses: actions/download-artifact@v4
+        with:
+          name: codecov-frontend
+          path: codecov-frontend
+          run-id: ${{ steps.src.outputs.run_id }}
+          github-token: ${{ github.token }}
+      - name: Read coverage metadata
+        if: steps.dl.outcome == 'success'
+        id: meta
+        shell: bash
+        # The artifact content comes from a (possibly fork) PR build, so 
sanitize
+        # each value to its expected charset before handing it to the Codecov 
CLI.
+        run: |
+          echo "pr=$(cat codecov-frontend/pr-number.txt 2>/dev/null | tr -cd 
'0-9')" >> "$GITHUB_OUTPUT"
+          echo "sha=$(cat codecov-frontend/commit-sha.txt 2>/dev/null | tr -cd 
'0-9a-fA-F')" >> "$GITHUB_OUTPUT"
+          echo "branch=$(cat codecov-frontend/branch.txt 2>/dev/null | tr -cd 
'[:alnum:]._/:-')" >> "$GITHUB_OUTPUT"
+      - name: Upload frontend coverage to Codecov
+        if: steps.dl.outcome == 'success' && 
hashFiles('codecov-frontend/lcov.info') != ''
+        uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f 
# v7.0.0
+        with:
+          token: ${{ secrets.CODECOV_TOKEN }}
+          files: codecov-frontend/lcov.info
+          flags: frontend
+          disable_search: true
+          fail_ci_if_error: false
+          override_commit: ${{ steps.meta.outputs.sha }}
+          override_branch: ${{ steps.meta.outputs.branch }}
+          override_pr: ${{ steps.meta.outputs.pr }}
+      - name: Upload frontend unit test results to Codecov
+        if: steps.dl.outcome == 'success' && 
hashFiles('codecov-frontend/junit.xml') != ''
+        uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f 
# v7.0.0
+        with:
+          token: ${{ secrets.CODECOV_TOKEN }}
+          files: codecov-frontend/junit.xml
+          flags: frontend
+          report_type: test_results
+          disable_search: true
+          fail_ci_if_error: false
+          override_commit: ${{ steps.meta.outputs.sha }}
+          override_branch: ${{ steps.meta.outputs.branch }}
+          override_pr: ${{ steps.meta.outputs.pr }}

Review Comment:
   Same issue as the coverage upload: override_pr is always passed, but it will 
be empty on push runs. Add a push variant of this upload step that omits 
override_pr when steps.meta.outputs.pr is empty.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to