-
-
Notifications
You must be signed in to change notification settings - Fork 422
[skip changelog] Enable Codecov comments on PRs from forks #1819
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Versions of the `codecov/codecov-action` GitHub Actions action prior to 1.0.6 required the use of a token provided by Codecov in order to upload data to Codecov. This token was stored in secret in the Arduino CLI repository and used in the test workflow. For security reasons, secrets are not accessible when a workflow is triggered by an event generated by a fork of the repository. This meant that it was impossible to upload coverage data for the test runs triggered by PRs from forks. A conditional was added to the upload step of the workflow to cause it to only run on `push` event triggers, which effectively prevented its failure for runs on PRs from forks. The token requirement was removed in the 1.0.6 release of `codecov/codecov-action`, but the now pointless conditional was never removed from the workflow. This prevented PRs from forks from receiving the automated code coverage report comments that would otherwise encourage those contributors to resolve coverage deficiencies and facilitate the review process. The harmful conditional is hereby removed from the coverage data upload steps of the workflow and PRs from forks will now receive coverage report comments, just as PRs from branches do already.
Codecov Report
@@ Coverage Diff @@ ## master #1819 +/- ## ======================================= Coverage 35.53% 35.53% ======================================= Files 231 231 Lines 19543 19543 ======================================= Hits 6945 6945 Misses 11773 11773 Partials 825 825
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good job for spotting, highlighting and solving the problem! The PR's message is very clear.
Uh oh!
There was an error while loading. Please reload this page.
Please check if the PR fulfills these requirements
before creating one)
our contributing guidelines
UPGRADING.md
has been updated with a migration guide (for breaking changes)What kind of change does this PR introduce?
Infrastructure enhancement
What is the current behavior?
Versions of the
codecov/codecov-action
GitHub Actions action prior to 1.0.6 required the use of a token provided by Codecov in order to upload coverage data to Codecov. This token was stored in a secret in the Arduino CLI repository and used in the test workflow.For security reasons, secrets are not accessible when a workflow is triggered by an event generated by a fork of the repository. This meant that it was impossible to upload coverage data for the test runs triggered by PRs from forks (codecov/codecov-action#29). A conditional was added to the upload step of the workflow to cause it to only run on
push
event triggers, which effectively prevented its failure for runs on PRs from forks (#388).The token requirement was removed in the 1.0.6 release of
codecov/codecov-action
, but the now pointless conditional was never removed from the workflow. This prevented PRs from forks from receiving the automated code coverage report comments that would otherwise encourage those contributors to resolve coverage deficiencies and facilitate the review process.What is the new behavior?
The harmful conditional is removed from the coverage data upload steps of the workflow and PRs from forks will now receive coverage report comments, just as PRs from branches do already.
Does this PR introduce a breaking change
No breaking change.
Other information
The configuration of the coverage data upload step proposed here is aligned with our standardized "template" workflow:
https://github.com/arduino/tooling-project-assets/blob/d9f73eb4e5b16c0141e184d7f04493cd62221ea4/workflow-templates/test-go-task.yml#L104
That form of the workflow is already in use in several other Arduino tooling projects. For example: