Add required actions rule (and supporting tests) to enforce usage of specific GitHub Actions in workflows#474
Open
chrisreddington wants to merge 1 commit intorhysd:mainfrom
Open
Conversation
…specific GitHub Actions in workflows
546edd4 to
ddfe181
Compare
05e056b to
5aaa4ce
Compare
|
@chrisreddington this is a very interesting addition. I am investigating if we can introduce some light governance where certain actions are required to be part of our enterprises workflows. It sounds like this approach could help us lint the workflow to be compliant with such requirements? The PR has been stalled for a while. Is anyone waiting for something? |
1327bf4 to
859504b
Compare
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.
This PR implements issue #469 that I raised a few days ago. It introduces a new linting rule to ensure specific GitHub Actions are present in workflows, along with corresponding tests. Changes include updating the configuration structure, adding the new rule to the linter, implementing the rule, and creating tests for it.
Configuration Changes:
RequiredActionsfield to theConfigstruct inconfig.goto specify mandatory GitHub Actions in workflows.Linter Rule Implementation:
linter.goto include the new ruleRuleRequiredActionsifRequiredActionsare specified in the configuration.rule_required_actions.goto define theRequiredActionRulestruct and implement theRuleRequiredActionsclass, which checks for the presence and correct version of required GitHub Actions in workflows.Testing:
rule_required_actions_test.goto test the functionality ofRuleRequiredActionsand theparseActionReffunction. This includes various test cases to ensure the rule works correctly under different scenarios.