LUCIRUNSDOCSPUBLIC CI

Luci docs

Local wrapper

def ci [...args] { ssh -p 2223 root@ci.bugabinga.net ...$args }

CLI

ci status [--all]
ci repo <repo>
ci show <run-id>
ci log <run-id> <child-id>
ci run <repo> <job> --ref <ref>
ci run <repo> <job> --rev <commit>
ci docs

.ci/*.kdl

job "test" {
  image "docker.io/library/alpine:latest"
  cache "deps" {
    path ".cache"
    key {
      file "lockfile"
    }
  }
  secret "TOKEN" env="TOKEN"
  run "project-test-command"
  publish "site" {
    from "dist"
    to "docs/"
  }
}

Trigger behavior

Push jobs match branch/tag globs. Manual runs require the job to exist.

Secrets layout

$LUCI_DATA_DIR/secrets/<repo>/<job>/<secret-name>

Known values are masked from logs best-effort.

Publish targets

registry pushes an image with configured auth. pkg and site atomically replace configured local destinations. Missing adapter config fails the job.

Security model

Repositories, logs, and artifacts are public. Never rely on log masking as the only secret protection.