-
Notifications
You must be signed in to change notification settings - Fork 758
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
Implement the HWSAPI bot functionalities through GitHub Actions #3144
Implement the HWSAPI bot functionalities through GitHub Actions #3144
Conversation
@MishimaHaruna i think the parallel job can be solved using concurrency |
I think concurrency will help, but won't fully solve the problem, as it only ensures that jobs (or workflows) with the same concurrency group are never executed in parallel, but it doesn't give control over the order (i.e. I can't put everything in the sam concurrency group to execute them serially, since I still have no way to tell it that the HWSAPI one should be executed first). It seems very useful in order to cancel previous executions of th HWSAPI build if subsequent commits are pushed though, since it'd fail to push its changes anyway. The stack overflow suggestion on how to implement some scheduling order between workflows looks interesting, I believe I can try and build on it. It's quite unfortunate that they don't support something like that natively without having to rely on that hack with workflows triggering each others but it seems feasible |
efd0e29
to
0b5dabb
Compare
Signed-off-by: Haru <[email protected]>
…nes automatically Signed-off-by: Haru <[email protected]>
Signed-off-by: Haru <[email protected]>
0b5dabb
to
5ef2cfa
Compare
I believe I reached a satisfactory compromise. The workflows are executes as follows: For pull requests:
For pushes:
The conditions in the Here is an example of a run on the master branch (on my fork): https://github.com/MishimaHaruna/Hercules/actions/runs/2411704198 |
@MishimaHaruna everything looks good. Btw, out of the PR but still can be added as separate commit, time to make CodeQL use v2 of it. |
Signed-off-by: Haru <[email protected]>
Good point. I checked their docs and I don't see any differences in basic usage, so it hopefully won't break anything |
Pull Request Prelude
Changes Proposed
This reimplements the "HWSAPI" build bot functionalities as a GitHub Actions workflow.
The HWSAPI build bot currently has the following duties (on each push to master):
The current buildbot is implemented as part of the legacy IRC bot (on a modified map-server core), which is scheduled to be retired within June 16th 2022 as part of an ongoing infrastructure modernization process and the discontinuation of the old hardware that was running it.
This action relies on two github secrets (GPG key and buildstats API key), which have already been added to the main repository.
An example of execution of this script can be seen here: https://github.com/MishimaHaruna/Hercules/runs/6639710150
A drawback of this approach is that (apparently) the order in which GitHub Actions workflows are executed isn't deterministic, as they're all started in parallel and handed over to runners as they become available. If anyone has any idea on how to prioritize this one so that it's scheduled before the other workflows (static analysis, tests), so that the changes are pushed as soon as possible, please suggest it.