From f83dec5aa96adf98f5beea4bc445769fc380bbcd Mon Sep 17 00:00:00 2001 From: Xe Iaso Date: Sat, 16 May 2026 01:34:13 -0400 Subject: [PATCH] ci: fix tekton pipeline Signed-off-by: Xe Iaso --- .tekton/xe-site-pipeline.yaml | 2 +- lume/src/blog/2026/tekton.mdx | 44 +++++++++++++++++++++++++++++++++++ package.json | 4 ++-- 3 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 lume/src/blog/2026/tekton.mdx diff --git a/.tekton/xe-site-pipeline.yaml b/.tekton/xe-site-pipeline.yaml index 7638457f..b4ccfbf1 100644 --- a/.tekton/xe-site-pipeline.yaml +++ b/.tekton/xe-site-pipeline.yaml @@ -72,7 +72,7 @@ spec: value: [ "--cache", - "--cache-repo=registry.int.xeserv.us/xeiaso.net/site/ci/cache:latest", + "--cache-repo=registry.int.xeserv.us/xeiaso.net/site/ci/cache", "--label=org.tangled.actor=$(params.actor)", ] - name: go-test diff --git a/lume/src/blog/2026/tekton.mdx b/lume/src/blog/2026/tekton.mdx new file mode 100644 index 00000000..4552292e --- /dev/null +++ b/lume/src/blog/2026/tekton.mdx @@ -0,0 +1,44 @@ +--- +title: "Slowly going mad with power using Tekton" +desc: "Starting the slow migration off of GitHub, one CI pipeline at a time" +date: 2026-05-09 +hero: + ai: "Photo by Xe Iaso" + file: "" + prompt: "" + social: false +--- + +- I'm not feeling good about the future of GitHub + - https://red-squares.cian.lol/ + - I have a bunch of repos I'd like to migrate off of GitHub + - One small problem: all my CI flows assume I'm using GitHub Actions + - I mean this is reasonable, I've used GitHub Actions for most of my career + - All my GitHub Actions flows only really work on GitHub + - I've moved some of them off of GitHub in the past, but it requires some significant modification and hacking because my actions really rely on GitHub platform features + - Recently I discovered [Tekton](https://tekton.dev/) + - Tekton is a kubernetes operator that lets you create CI/CD systems on top of Kubernetes clusters + - I have a lot of slack compute in my homelab cluster + - I want to see what it's like to use Tekton for CI/CD instead of GitHub Actions + - Tekton is also supported by [Tack](https://tangled.org/mitchellh.com/tack), a Tangled -> non-Nix CI bridge + - If I do in fact choose to not move my repos to Tangled long-term, moving the CI to Tekton means that my CI workflows will be fundamentally vendor-neutral, which will have knock-on effects that make me more resilient to enshittification in the future +- Tekton in a nutshell + - Think about Tekton as the layer _under_ something like GitHub Actions. + - It uses Kubernetes for scheduling, storage, networking, logging, and other orchestration + - CI/CD jobs are broken out into the following categories: + - Tasks: individual bits of work to be done, akin to function definitions + - TaskRuns: binding between Tasks and parameters / workspaces, akin to function invocation + - Pipeline: A sequence of tasks that may or may not be ordered, akin to function definitions + - PipelineRun: binding between Pipelines and parameters / workspaces, akin to function invocation +- A simple pipeline from Kefka + - Fix permissions on the PVC with repo clone + - Why? + - Clone repo + - Go tests + - Shared Go mod cache PVC + - Why? + - Docker image building +- Docker image building + - Setting up automatic builds for ChainGuard's fork of Kaniko + - `go build` exiting with a vague VCS error +- diff --git a/package.json b/package.json index d4f65ad4..1fe92010 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dev": "go run ./cmd/xesite --site-url https://preview.xeiaso.net --devel", "dev:sponsor-panel": "cd ./cmd/sponsor-panel && go generate ./... && go run .", "deploy": "kubectl --context limsa-lominsa apply -k manifest", - "deploy:ci": "kubectl --context alrest apply -k .tekton", + "deploy:ci": "kubectl --context admin@alrest apply -k .tekton", "extract-meta": "node scripts/extract-meta.js", "validate-content-dates": "node scripts/validate-blog-dates.js" }, @@ -45,4 +45,4 @@ "semantic-release": "^25.0.3", "tailwindcss": "^4.1.18" } -} +} \ No newline at end of file -- 2.51.2