-
Notifications
You must be signed in to change notification settings - Fork 2
feat!: port mutexbot actions to rust and add isolation channels #7
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
Conversation
38c3cf9 to
91d2619
Compare
91d2619 to
024fe18
Compare
bayandin
left a comment
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.
Personally, I think Rust is a bit too much for this task: we have less Rust experience in the company than in Python, for example. Also it's (relatively) harder to install and configure locally.
But, if you think that Rust is the best tool for this task, let's keep it.
The thing that we need to fix — it shouldn't take 5 minutes to setup the action
4f41d5a to
01e42e9
Compare
I'm not sure about "best tool for the task", but it's the one I'm most accustomed to. We could probably achieve the same in python, even with static checks using mypy to ensure type safety and other static analysis tools, but getting this going in Rust was the quicker route for me personally, as I'm more used to that ecosystem than to python and the static analysis tools there.
It will not:
|
7e7999c to
7b225a8
Compare
|
There's a pre-built image now that's coming from CI here. We're down to 6 seconds from job start to successful reservation. |
edac334 to
28892b9
Compare
8f30c4a to
81f9644
Compare
81f9644 to
b353e6a
Compare
Problem
To send notifcations for dev and prod deployments into different channels we needed to use the isolation channel feature of mutexbot.
Summary of changes
mutexbot/reserveandmutexbot/releaseinto onemutexbotaction to dedupe codekebap-casetosnake_case, because of rust best practices. I was not able to make rust happy withkebap-casein parameters. If should be possible to do that by patching https://github.com/42ByteLabs/ghactionsTesting
I have created a test workflow in a temporary repo under https://github.com/neondatabase-labs/tmp-mutexbot-test/blob/main/.github/workflows/test.yml, which successfully reserves the resources. A workflow run that shows this working is https://github.com/neondatabase-labs/tmp-mutexbot-test/actions/runs/12694965092/job/35385895290