markjgsmith

Notes

Rare is the day I get to start a morning note with some good news. Today is one of those days. I got the main website building and deploying with all the reusable workflows! As they say during football matches, get in! I've been trying to get the reusable workflows working on the main site for close to 3 weeks now, but been slowed down by non-stop warpath world. That combined with an impossible bug. I’m not sure if that’s an existing class of bugs, but it should be.

Every now and then you get a bug that is so devious, so utterly impossible to find, reproduce and fix that you basically completely run out of debugging options. I knew the file that the bug was in, but no matter what I did could not find the bug. It was a yml syntax error apparently, at least according to Github. The way I solved it was to create a minimal reusable workflow, both caller workflow and callee workflow, using the required amount of inputs and secrets. Github had been telling me that as soon as I got to the number of secrets I needed, that there was a syntax error and was refusing to run the workflow. Remove one secret and it worked again.

Once I got the minimal workflows working, I updated the callee workflow to have the same secret names as the production reusable workflow, then updated the production caller workflow to trigger the minimal reusable callee workflow. Once that was working I slowly, and laboriously I might add, rebuilt the callee reusable workflow, piece by piece, each time testing that it was still working. The fact that I only have internet access while standing up at the minute made this incredibly tedious. Something that would normally take a few hours, literally took 3 weeks. But it’s frigging working now. Yesterday evening once it was all working, I renamed the mininal reusable callee workflow, which was now no longer minimal but essentially the second incarnation of the original workflow minus the bug, to be the production reusable workflow and deleted the old one.

So what was the bug? I have no idea. If I find time I might be able to do a diff between the working reusable and the previous non-working one. That’s a bit tricky because of how difficult internet access is, and because of all the harrassment. My priority is to get the feature complete, but maybe I’ll circle back around to it, world willing.

I now have most of the plugins and the main website operational, all building and deploying using the reusable workflows. The feeds plugin still needs to be updated because, just like the main website, uses an npm module cache, but now the website is on the new workflows, the feeds plugin will be very similar. I’ve already made the updates, just need to test.

Then there are a few plugins that don’t have the right 3rd party vendor keys so small pieces aren’t working. Last I checked Amazon only allows two public/private key pairs. It’s likely I’ll actually have to update the AWS credentials for all the workflows, which is actually going to be quite tedious. So more laborious tedium, but I’ll eventually get it complete, and all the repos will build and deploy using the same reusable workflow.

Changing the foundations really takes a long time, especially when you are having to do it under duress. But it will be worth the effort.

As for harrassment, there’s been loads if it, and they are back to their old sex perverted tricks again. Lots of white tsunanis, red anger goading, sex goading with young women wearing unbelievably tiny mini skirts. Soon as I run out of food again they are bound to start the food goading again.

But whatever world, today’s update isn’t about that. #

For enquiries about my consulting, development, training and writing services, aswell as sponsorship opportunities contact me directly via email. More details about me here.