fix(ci): wire CODECOV_TOKEN to coverage uploads (Phase 2)#4666
Merged
Conversation
Codecov's tokenless flow only authenticates fork PRs. Push events on the protected default branch get rejected with "Token required because branch is protected", which has been silent because fail_ci_if_error is false — result: zero reports on apache:main. Closes apache#4665. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4666 +/- ##
=======================================
Coverage ? 46.75%
Complexity ? 2065
=======================================
Files ? 1013
Lines ? 39571
Branches ? 3852
=======================================
Hits ? 18500
Misses ? 20285
Partials ? 786
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
github-actions Bot
pushed a commit
that referenced
this pull request
May 2, 2026
…4666) ### What changes were proposed in this PR? Phase 2 of #4645. Pass `token: ${{ secrets.CODECOV_TOKEN }}` to all four `codecov/codecov-action` invocations in `.github/workflows/build.yml` (frontend, scala, python, agent-service). ```diff - name: Upload <stack> coverage to Codecov uses: codecov/codecov-action@75cd116 # v5.5.4 with: + token: ${{ secrets.CODECOV_TOKEN }} files: ... flags: <stack> fail_ci_if_error: false ``` The token has been added as a repo secret. Phase 1 deferred this on the assumption that the tokenless flow was sufficient; in practice Codecov rejects tokenless uploads on protected default branches (`{"message":"Token required because branch is protected"}`), which has been silent because `fail_ci_if_error: false`. ### Any related issues, documentation, discussions? Closes #4665. Follow-up to #4645. ### How was this PR tested? Will be verified post-merge: a new commit on `main` should appear at https://app.codecov.io/gh/apache/texera/branch/main with a coverage report (currently 404 — no main commit has ever produced a report). ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Claude Code (Opus 4.7, 1M context) Co-authored-by: Yicong Huang <yiconghuang@cs.umass.edu> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> (backported from commit 1780287)
This was referenced May 3, 2026
Yicong-Huang
added a commit
that referenced
this pull request
May 3, 2026
### What changes were proposed in this PR? Add a Codecov coverage badge to the existing `<p align="center">` stats block in `README.md`. The badge links to https://app.codecov.io/gh/apache/texera so reviewers / contributors can see the current overall coverage and click through to the per-flag breakdown without leaving the repo home page. ```diff <img alt="Static Badge" src="https://img.shields.io/badge/Largest_Deployment-100_nodes,_400_cores-green"> + <a href="https://app.codecov.io/gh/apache/texera"><img alt="Coverage" src="https://img.shields.io/codecov/c/github/apache/texera/main?logo=codecov&label=coverage"></a> </p> ``` Why now: PR #4666 wired `CODECOV_TOKEN` so push events on `main` and `release/**` now upload coverage. The latest few main commits at `https://codecov.io/api/v2/github/apache/repos/texera/branches/main` are reporting `46%` overall (frontend / scala / python / agent-service flags broken out). Without the badge, every "what's the current coverage?" question is a manual hop to the Codecov dashboard. Style note: shields.io to match the neighboring `Static Badge` images. Linked so a click jumps straight to the dashboard (the existing badges are images-only). ### Any related issues, documentation, discussions? Closes #4713. Related: #4666 (Phase 2 token wiring), #4645 (Phase 1 tokenless wiring). ### How was this PR tested? This is a one-line README change; rendered the new line in the GitHub markdown preview locally. The badge URL is already producing a non-`unknown` value (the dashboard returns `46%` for the latest main commits), so the rendered badge will be a real number on first view, not the placeholder. ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Claude Code (Opus 4.7, 1M context) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Yicong-Huang
added a commit
that referenced
this pull request
May 3, 2026
### What changes were proposed in this PR? Add a Codecov coverage badge to the existing `<p align="center">` stats block in `README.md`. The badge links to https://app.codecov.io/gh/apache/texera so reviewers / contributors can see the current overall coverage and click through to the per-flag breakdown without leaving the repo home page. ```diff <img alt="Static Badge" src="https://img.shields.io/badge/Largest_Deployment-100_nodes,_400_cores-green"> + <a href="https://app.codecov.io/gh/apache/texera"><img alt="Coverage" src="https://img.shields.io/codecov/c/github/apache/texera/main?logo=codecov&label=coverage"></a> </p> ``` Why now: PR #4666 wired `CODECOV_TOKEN` so push events on `main` and `release/**` now upload coverage. The latest few main commits at `https://codecov.io/api/v2/github/apache/repos/texera/branches/main` are reporting `46%` overall (frontend / scala / python / agent-service flags broken out). Without the badge, every "what's the current coverage?" question is a manual hop to the Codecov dashboard. Style note: shields.io to match the neighboring `Static Badge` images. Linked so a click jumps straight to the dashboard (the existing badges are images-only). ### Any related issues, documentation, discussions? Closes #4713. Related: #4666 (Phase 2 token wiring), #4645 (Phase 1 tokenless wiring). ### How was this PR tested? This is a one-line README change; rendered the new line in the GitHub markdown preview locally. The badge URL is already producing a non-`unknown` value (the dashboard returns `46%` for the latest main commits), so the rendered badge will be a real number on first view, not the placeholder. ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Claude Code (Opus 4.7, 1M context) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> (backported from commit 09715e1)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this PR?
Phase 2 of #4645. Pass
token: ${{ secrets.CODECOV_TOKEN }}to all fourcodecov/codecov-actioninvocations in.github/workflows/build.yml(frontend, scala, python, agent-service).- name: Upload <stack> coverage to Codecov uses: codecov/codecov-action@75cd11691c0faa626561e295848008c8a7dddffe # v5.5.4 with: + token: ${{ secrets.CODECOV_TOKEN }} files: ... flags: <stack> fail_ci_if_error: falseThe token has been added as a repo secret. Phase 1 deferred this on the assumption that the tokenless flow was sufficient; in practice Codecov rejects tokenless uploads on protected default branches (
{"message":"Token required because branch is protected"}), which has been silent becausefail_ci_if_error: false.Any related issues, documentation, discussions?
Closes #4665. Follow-up to #4645.
How was this PR tested?
Will be verified post-merge: a new commit on
mainshould appear at https://app.codecov.io/gh/apache/texera/branch/main with a coverage report (currently 404 — no main commit has ever produced a report).Was this PR authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Opus 4.7, 1M context)