Adds an option to the action to run in "fix" mode#84
Conversation
kezhenxu94
left a comment
There was a problem hiding this comment.
@ryanmrichard thank you very much for the patch.
can you please also add some doc to mention that users need to use other GitHub Action to commit the fixed changes and the exit code of fix mode is always 0 so they cannot rely on the exit code to block the CI status?
|
@kezhenxu94 I added a subsection detailing fix mode usage per your request. |
| if any of the processed files are missing license headers. If `mode` is set to | ||
| `fix`, the action will instead apply the license header to any processed file | ||
| that is missing a license header. The fixed files can then be pushed back to the | ||
| pull request using another GitHub action. For example: |
There was a problem hiding this comment.
So, one action would commit and push, then make the CI failing, right? Just confirming. Then maintainers should rerun the CI task to make it passed.
There was a problem hiding this comment.
@wu-sheng The SkyWalking-Eyes action will edit the files in place. The subsequent "add-and-commit" action will use git to commit the changed files back to the PR. The action I linked to has a couple returns (see here); if you wanted to, you could add a step to the action which errs if the "add-and-commit" action makes a commit. Automating the re-run is not straightforward because GitHub doesn't like workflows triggering other workflows, so the maintainer will probably need to manually re-run the failed workflow.
In practice I usually don't worry about this becasue there's usually other changes needed to the PR; so when the PR author submits those changes (which will necessarily need to be synched with the automatic commit) they'll re-trigger CI.
This PR is a small change which adds an additional, optional, input to the action called
mode. My goal with this change is to make it so CI pipelines can automatically apply the licenses to PRs which lack them (applying the changes would be handled by a different action like this one). I looked around and did not see any mention of such functionality; apologies if I missed it.Some additional notes:
modecan take one of two values:checkorfix. I set the default tocheckto preserve existing behavior.