-
Notifications
You must be signed in to change notification settings - Fork 12
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
Refactor Workflow Linter #231
Conversation
…ests run on it or any of it's children
While in review, I saw some unused imports for some files such as |
…adopt that pattern
I think this is finally ready for review 😅. I'd like to push out packaging for PyPi to a followup task. |
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.
Nothing crazy from me on the changes. They look good.
I am curious how the reliability of the various usage of loading data from keys, with the assumption that the data will just be there.
For example, this assumes that there will be a value for tag_name
, correct me if I am wrong, but I think we personally have run into situations where there wasn't a tag available. This would raise a KeyError
that isn't handled by the application itself.
tag_name = json.loads(response.data)["tag_name"]
This isn't necessarily something that must change today, but something in the future that would improve the reliability of the linting application.
Yikes...we need to figure out that rate limiting issue... |
@mimartin12 I definitely think that that resiliency should be built-in. This is a great callout. We shouldn't be assuming that there is data. I'll go back through and update these in all of the places that I can find. |
After a quick scan, it seems like the major offender (and I believe the only offender) is I think we are implicitly safe since all GitHub Release will have a tag and an associated |
🎟️ Tracking
🚧 Type of change
📔 Objective
Make the Workflow Linter more easily maintainable through abstracting
Rule
s and creatingWorkflow
,Job
, andStep
level objects to test against📋 Code changes
This is almost a full rewrite. All of the files are new
📸 Screenshots
Output of no changes needed:
Output of failed jobs:
⏰ Reminders before review
🦮 Reviewer guidelines
:+1:
) or similar for great changes:memo:
) or ℹ️ (:information_source:
) for notes or general info:question:
) for questions:thinking:
) or 💭 (:thought_balloon:
) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion:art:
) for suggestions / improvements:x:
) or:warning:
) for more significant problems or concerns needing attention:seedling:
) or ♻️ (:recycle:
) for future improvements or indications of technical debt:pick:
) for minor or nitpick changes