It was a rather short day today.
Ok, I'm on pager duty - but they don't give us pagers (meaning, no PD installed on my phone). I'm supposed to check slack and email, for the case when somebody complains about something - but nobody does.
So I looked up what's there to fix; Sam wrote that this was a different PR that I was supposed to review - ok, I looked it up, it's pretty similar, and it's in a project with which I was working for a while, so ok.
The problem was that a bot bumped the version of some package, and now one method became deprecated. The method is this: "return JWT credentials wrapped in Option". There are three other methods, returning the same credentials wrapped in three other monads. But the thing is, I'm supposed to pass those credentials wrapped in Option to some other method... where's that method? I tried to convert other monads to Option, but the style checker complains about these too.
And then I found that the credentials are never used in that other method. Oh, neat. So I changed the signature (alternatively, I could pass a None).
But the thing is, now github could not finish reviewing this shit, because Jenkins was hanging while running tests. I asked the people, wtf, and where can I find Jenkins logs (in this company). Sam said that I can just ping github to rerun it (by sending an empty git push). NP, so I did. It still hangs.
Later (I was giving these bots a couple of hours to accomplish what takes several minutes on my machine) I found that, ha, Esteban approved the PR, and that was enough for the build system to merge it. No need to wait for the end of the tests run. Magic!
But I was still curious, and opened another page of our Jenkins, a board with all the builds currently running.
A discovery was waiting for me. Some builds have been running since August 30, 2023. Oh, I see! Thank you! Now I know where I work!
In another development, when Brad asked me to restore the service I was supposed to remove, so that the system won't start complaining, I did exactly that - turned that service into a dummy one. It has only one endpoint left: you ask it for the build info, and it returns the build info.
What's interesting about the build info, the class that contains the data contains four values wrapped in a monad. What monad? IO, probably. Where do the values come from? From constants generated by the build. But the crazy Spanish guys... well, I think, Juan Manuel is one of them. See his slides regarding tagless final.
But now my eyes are open.
No meetings today. Jeremey was supposed to have a 1-1 with me, but he moved it to tomorrow. The standup turned into writeup on Slack. Three people reported the status. That's it for today. Where's everyone else, I don't know. Seems like some (or most of them) are busy participated secret high-level meetings with high-level management. Perfecto!
So I just went to the couch and fell asleep. That's what retirees do, right?