SkunkWerks specializes in FreeBSD as Operating System. They maintain their own versions for use with the Oracle Cloud Infrastructure. Each week they build a new version with the latest bugfixes and updates.
This task was done manually using some flakey scripts for the Fish shell. SkunkWerks wanted to automate this so nobody anymore had to waste time every week doing it. My task was to automate it using Ansible that they will integrate with their Github hooks workflow. The system needed to be configurable so that you could specify which processor you were building for (AMD or ARM).
I decompose their Fish script. Most of it was using OCI cli, other parts QEMU, most of it shell scripts.
I converted all the OCI bits into OCI Ansible collection so that error control could be built in in the YAML code.
The code would then:
I enjoyed this project a lot since I learnt plenty new skills with it.