Musing on creative CI/CD


This week I am doing a dojo (ie workshop) on git and CI/CD. CI/CD is a term in programming and devops that means continuous delivery continuous integration.

There are different tools to implement CI/CD such as jenkins. In this dojo, however, we are using GitLab. GitLab is a platform that implements a git repository as well as a CI/CD system. A git repository, is a place that keeps track of file changes in accordance with the git protocol. The git protocol is amazing and I’ll discuss it someplace else. Here I am going to discuss CI/CD.

So in GitLab, there is a file in the root of your repo – a .gitlab-ci.yml file. This file specifies CI/CD pipeline, that is all the different jobs that run on your project after you commit the code to the repo. These can be unit tests, linters, packagers, deployments to servers, etc.

Thinking in terms of CI/CD is new. Now it is no longer a matter of building your code, but treating your code as an atomic unit and then processing actions on top of your code. We can have instrumentation or code sanitation jobs that run on our CI/CD pipeline.

I often think of the world as a computer program. What if we think of the world as a CI/CD pipeline? A CI/CD pipeline is a computer program, but it is a particular type of computer program. It is a meta-program in a sense, or maybe meta-computation.

What are some creative things we can put in a CI/CD pipeline. What are different types of CI/CD pipelines. I am working on a poetry project right now – the tower – and I have been working on different types of tooling to help write the program. The poetry is not the tooling but it is an integral part in my process. What these toolings run as jobs on the poetry pipeline? What if I have different types of pipelines, a visualization pipeline a musical pipeline.

One of the things I think about is transduction – the change in energy from one form to another. I think about this in terms of data, for example, that we can experience in different ways as different visualizations for example. Pipelines are transduction pipelines. Here we can define the different metaphoric transformations on the energy of a computer program. We can also think of pipelines as worlds perhaps that unfold in different ways.