Modern deployment workflows extensively employ CI/CD tools for tasks that go from simple testing to automating the creation of container images. Most of these machines have a version of Perl installed; in many cases because it's an essential language used for many tools in the operating system it runs, in some other cases simply because it's there. In most cases, though, its existence is undocumented. In this talk we will make a small introduction to Perl and how it's relevant to 21st century computing, and then we'll show how to put it to good use in environments such as Travis, Github Actions and even Docker Hub.
I've been using Perl for more than 25 years, and in fact I started using Travis because it was the only CI/CD tool back then that gave good support to this language. However, over the years I have seen how new tools stopped mentioning it for other languages, notably JavaScript. This meant that, when I needed to write new workflows on base environments, I needed to use shell script and other tools like awk and sed. Which are wonderful tools, but it's almost impossible to be really productive with them. Out of curiosity mainly, I started running uname -v and perl --version over the machines where I was bumping my head against shell scripts, and lo and behold, I discovered that, undocumented, Perl was there. That started a quest for creating pull requests all over the place so that its presence is documented... And also a series of initiatives to actually put it down to use.
Baseline is: since Perl is already present in the environments used to run workflows, you can save precious seconds of language installation, and you can actually perform some serious data munging and processing using the base configuration. We will show different examples of this in different environments, and also some ways to speed up even more your workflows to save those precious seconds that are in such short supply in the free tier lately.
Speakers: Juan Julián Merelo