-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
Migrate to actionlint #33074
base: main
Are you sure you want to change the base?
Migrate to actionlint #33074
Conversation
move jobparser in tree for quicker iteration
@Zettat123 @wolfogre Seeing as you are working on actions, could you take a look at this before I mess with this further? |
Once we introduce actinlint, we need to introduce it in act_runner and drop the act's parser at the same time. |
@TheFox0x7 Thank you for your attempts in this direction. However, I may not have the time to provide detailed assistance recently due to personal reasons. Here are my simple thoughts on this (please understand that I haven't investigated in depth, so it may not be accurate):
|
First of all, no worries. I mainly started this because I already worked on this and actions before, which made me think that taking this system was a mistake - but it's too late to reverse this and I don't want that work to go to waste. Worst case I'll close this and it might be useful to someone later.
Yes and no. Having actionlint as at least a validation layer, would give end user better errors and safeguard jobparser from bad yamls, plus access to permissions and concurrency fields. On the other hand, I did try to fully port gitea to actionlint before and there are some things which actionlint is just bad at for this use:
So I don't think dropping act parser or
Unless we explicitly add validation runs after parsing none of the additional rules will trigger - only syntax-check. So
act_runner as far as I saw, doesn't use
act already pulls actionlint as dependency and I guess here are/were some plans to use it for validation as per comment:
in pkg/runner/step_run.go. But touching act is outside of my area of expertise as I get lost in that codebase very fast and don't use it in general. |
Move from jobparser to actionlint as base for job processing
Both PR and description are very WIP.
For now it did three things: