What’s something you’ve gotten into your CICD pipeline recently that you like?
I recently automated a little bot for our GitHub CICD. It runs a few tests that we care about, but don’t want to block deployment, and posts them on the PR. It uses gh pr comment --edit-last
so it isn’t spammint the channel. It’s been pretty helpful in automating some of the more annoying parts of code review.
At work integrating convco last year to verify commit messages conforming to conventional commits and to generate release notes / a changelog - for builds and releases.
Private, the last interesting thing I did was set up GitHub Actions to fork and daily fetch upstream GitLab changes of MKVToolNix to generate releases and release notes on the releases - because they don’t do either. So with GitHub release notifications I now see a release with a change list immediately. https://github.com/Kissaki/MKVToolNix
We have strict data sovereignty requirements, so we do a lot of self hosting. We are also a kubernetes shop, so we’ve been using the Argo-CD / Argo Workflows combo. I quite like it, there’s a lot of freedom to spin up a container and do anything you want in it while passing results to the next step, it might be too much freedom for some folks though. CD systems have some variety to them since there’s so many ways to deploy code, but CI systems all feel pretty similar to me. The main differences are the format of the instructions you write for the system, and how much or how little it holds your hand.
At work I use Jenkins, and I am very frustrated with it. I’ve worked with GitHub Actions, GitLab CI, and Azure Pipelines, and none were truly enjoyable to work with. They’re acceptable.
The last change I made on our project was to send a build failure and build fix notification email on branches to the last committer. (After having disabled branch build failure notification emails because Jenkins (or its plugins) were not able to send to only the branch developer/new change pusher/author a while ago.)
The best thing we did was introducing commit message conventions and convco to verify them, and to generate changelogs automatically.
I don’t have much experience with setting up ci/cd stuff. But last time i tried Circle CI and it was really easy to set up and get working. I’m thinking of looking into GitHub actions soon though.