tkn-act

module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 1, 2026 License: Apache-2.0

README

tkn-act

Run Tekton Pipelines locally on Docker — no Kubernetes cluster required. Inspired by nektos/act.

Status

v1 alpha. Single Docker backend. k3d cluster backend planned for v1.x.

Install

go install github.com/dfbmorinigo/tkn-act/cmd/tkn-act@latest

Or via tkn's plugin discovery — drop the binary on your PATH and run tkn act ....

Usage

cd my-repo-with-pipeline.yaml
tkn-act               # auto-discovers pipeline.yaml / .tekton/

tkn-act run -f pipeline.yaml -p revision=main -w shared=./build
tkn-act validate
tkn-act list

What's supported (v1)

  • Tekton tekton.dev/v1 Task, Pipeline, PipelineRun, TaskRun
  • Steps with image, command, args, script, env, workingDir
  • Params (string, array, object), defaults, $(params.x) and $(params.x[*])
  • Results (file-based at /tekton/results/<n>) and $(tasks.X.results.Y)
  • Workspaces shared across tasks (host bind mounts)
  • DAG ordering via runAfter and result-data deps
  • when expressions (operator: in, notin)
  • finally tasks

What's not supported in v1

Sidecars, StepActions, retries, Resolvers (git/hub/cluster), tekton-results, custom tasks, volumeClaimTemplate workspaces, signed pipelines, Windows.

See docs/superpowers/specs/2026-05-01-tkn-act-design.md for the full spec.

License

Apache 2.0

Directories

Path Synopsis
cmd
tkn-act command
internal
backend
Package backend defines the contract between the engine and an execution substrate (Docker, k3d, ...).
Package backend defines the contract between the engine and an execution substrate (Docker, k3d, ...).
backend/docker
Package docker implements backend.Backend using a local Docker daemon.
Package docker implements backend.Backend using a local Docker daemon.
discovery
Package discovery finds Tekton YAML files in a project directory using a fixed priority order: pipelinerun.yaml, pipeline.yaml, .tekton/*, tekton/*.
Package discovery finds Tekton YAML files in a project directory using a fixed priority order: pipelinerun.yaml, pipeline.yaml, .tekton/*, tekton/*.
engine
Package engine orchestrates a Tekton PipelineRun.
Package engine orchestrates a Tekton PipelineRun.
engine/dag
Package dag implements a small directed acyclic graph: build, topological level grouping, cycle detection, descendant traversal.
Package dag implements a small directed acyclic graph: build, topological level grouping, cycle detection, descendant traversal.
loader
Package loader parses one or more Tekton YAML files into a Bundle of typed resources keyed by name.
Package loader parses one or more Tekton YAML files into a Bundle of typed resources keyed by name.
reporter
Package reporter formats engine events for the user.
Package reporter formats engine events for the user.
resolver
Package resolver performs Tekton-style variable substitution:
Package resolver performs Tekton-style variable substitution:
tektontypes
Package tektontypes defines minimal Go types matching the tekton.dev/v1 schema for Task, TaskRun, Pipeline, and PipelineRun.
Package tektontypes defines minimal Go types matching the tekton.dev/v1 schema for Task, TaskRun, Pipeline, and PipelineRun.
validator
Package validator runs semantic checks on a loaded Bundle: refs resolve, the pipeline DAG has no cycles, workspaces are bound, params are present.
Package validator runs semantic checks on a loaded Bundle: refs resolve, the pipeline DAG has no cycles, workspaces are bound, params are present.
workspace
Package workspace materializes Tekton workspaces as host directories that the Docker backend can bind-mount into Step containers.
Package workspace materializes Tekton workspaces as host directories that the Docker backend can bind-mount into Step containers.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL