CI/CD Pipelines

Francesco Ciannavei

CI/CD Pipelines

Most of my projects use GitHub Actions as their CI/CD platform. The most visible pipeline publishes this site's frontend; others build the Go services at HSPI and rebuild my resume. None of them deploy to my own servers any more.

The frontend to Cloudflare Workers

On every push to main, the workflow builds the Astro frontend, runs the tests and publishes it to Cloudflare Workers with Wrangler, Cloudflare's official CLI. No manual uploads. The page cache on Cloudflare can be cleared from the workflow too, with a Bash script, or by hand from the dashboard.

Matrix builds for the Go services

The Go services I write at HSPI have pipelines with matrix builds, which build the same service in several combinations from a single workflow.

The resume on a schedule

My resume is generated by a Node.js script inside a pipeline that runs once a month and on every push. That keeps the PDF current without my rebuilding it by hand.

No more deploys to my own servers

For a while my pipelines also deployed straight to my home servers over SSH, through a proxy. Then, for security reasons, I removed every automatic deploy to my own machines.

Checks before the pipeline

Not every check waits for CI: a Git hook runs my license-check script on every commit, before the code is shared.

Rating
8/10

Where i've used it: