Raku / whateverable

🤖 Different IRC bots that operate on a bunch of prebuilt Rakudo versions
https://gist.github.com/Whateverable
GNU Affero General Public License v3.0
18 stars 14 forks source link

The state of Whateverable (2023 server migration) #388

Open AlexDaniel opened 11 months ago

AlexDaniel commented 11 months ago

As I'm moving to the new server, I'm trying to dockerize everything that I had and migrate it. Whateverable is one of the projects. Note that for now I'll keep hosting it (I think I've been doing a good job at that throughout the years), but once dockerized, the bots can be moved to Raku infrastructure if needed.

The work turned out to be more difficult than I expected do to several regressions or changes in Rakudo that resulted in bitrot. This is a ticket to document the progress and the obstacles.

AlexDaniel commented 11 months ago

First Rakudo regression:

Basically, trying to use Pastebin::Gist results in 100% CPU usage.

Because of this bug I'm forced to use Rakudo star 2023.02 which is unfortunately stuck on Debian bullseye. This doesn't allow me to use the latest GLIBC version… and I have a bunch of builds that were built using the new GLIBC. Current plan is to ignore the rakudo regression and just rebuild all of the affected builds.

Rakudobug: https://github.com/rakudo/rakudo/issues/5463

AlexDaniel commented 11 months ago

Notable (and probably other bots) are unable to run because of this issue:

Invocant of method 'match' must be a type object of type 'Any', not an
object instance of type 'IRC::Client::Message::Privmsg::Channel'.  Did
you forget a 'multi'?

Rakudobug: https://github.com/rakudo/rakudo/issues/5464

AlexDaniel commented 11 months ago

OK, so I found this branch:

Interestingly, all those changes are actually needed (or so I think) to kick off the build process in a service. I think the code there is finished but is simply not tested yet, so that's what I'll do.

AlexDaniel commented 11 months ago

All recent changes were pushed to the main Raku/whateverable repo. The secrets are set up and now all commits to this repo will trigger a redeploy of the bots. So far so good, now I just need to bring the buildable-rework branch up to date and make it work.

AlexDaniel commented 10 months ago

Buildable is up and running, it'll take a few days to rebuild the builds with the older GLIBC. Otherwise, everything looks good now! I haven't deleted the wrong builds yet, will do that soon.

AlexDaniel commented 10 months ago

I have removed all builds that required a newer GLIBC. That was about 2000 builds. They'll be rebuilt automatically. Currently, there is a new build per roughly 6 minutes, so that's like 240 per day. In 10+ days everything will be back to normal. That being said, all bots are already functional, it's just that there are some gaps if you decide to use bisectable.