Luigit
repositories / bugabinga.net

bugabinga.net

personal infrastructure for bugabinga!

owned by admin

.ci/go.kdl

Raw
job "go-test" {
  image "docker.io/library/golang:1.26"
  cache "go-mod" {
    path ".go-modcache"
    key {
      file "services/luci/go.sum"
      file "services/toad/go.sum"
    }
  }
  cache "go-build" {
    path ".go-cache"
    key {
      file "services/luci/go.sum"
      file "services/toad/go.sum"
    }
  }
  run "GOTOOLCHAIN=local GOMAXPROCS=2 GOFLAGS=-p=2 GOMODCACHE=$PWD/.go-modcache GOCACHE=$PWD/.go-cache scripts/local/go.sh check read services/luci"
  run "GOTOOLCHAIN=local GOMAXPROCS=2 GOFLAGS=-p=2 GOMODCACHE=$PWD/.go-modcache GOCACHE=$PWD/.go-cache scripts/local/go.sh check read services/toad"
  trigger {
    push {
      branch "trunk"
      include "services/luci/**"
      include "services/toad/**"
      include "scripts/local/go.sh"
      include "scripts/local/check.sh"
      include "scripts/local/check-staged.sh"
      include "scripts/local/verify.sh"
      include "scripts/local/test-go-tooling.sh"
      include "lefthook.yml"
      include "justfile"
      include ".ci/**"
    }
  }
}

job "go-race" {
  image "docker.io/library/golang:1.26"
  cache "go-mod" {
    path ".go-modcache"
    key {
      file "services/luci/go.sum"
      file "services/toad/go.sum"
    }
  }
  cache "go-build" {
    path ".go-cache"
    key {
      file "services/luci/go.sum"
      file "services/toad/go.sum"
    }
  }
  run "GOTOOLCHAIN=local GOMAXPROCS=2 GOFLAGS=-p=2 GOMODCACHE=$PWD/.go-modcache GOCACHE=$PWD/.go-cache scripts/local/go.sh race services/luci"
  run "GOTOOLCHAIN=local GOMAXPROCS=2 GOFLAGS=-p=2 GOMODCACHE=$PWD/.go-modcache GOCACHE=$PWD/.go-cache scripts/local/go.sh race services/toad"
  trigger {
    push {
      branch "trunk"
      include "services/luci/**"
      include "services/toad/**"
      include "scripts/local/go.sh"
      include "scripts/local/check.sh"
      include "scripts/local/check-staged.sh"
      include "scripts/local/verify.sh"
      include "scripts/local/test-go-tooling.sh"
      include "lefthook.yml"
      include "justfile"
      include ".ci/**"
    }
  }
}

job "go-staticcheck" {
  image "docker.io/library/golang:1.26"
  cache "go-mod" {
    path ".go-modcache"
    key {
      file "services/luci/go.sum"
      file "services/toad/go.sum"
    }
  }
  cache "go-build" {
    path ".go-cache"
    key {
      file "services/luci/go.sum"
      file "services/toad/go.sum"
    }
  }
  run "GOTOOLCHAIN=local GOMAXPROCS=2 GOFLAGS=-p=2 GOMODCACHE=$PWD/.go-modcache GOCACHE=$PWD/.go-cache scripts/local/go.sh staticcheck services/luci"
  run "GOTOOLCHAIN=local GOMAXPROCS=2 GOFLAGS=-p=2 GOMODCACHE=$PWD/.go-modcache GOCACHE=$PWD/.go-cache scripts/local/go.sh staticcheck services/toad"
  trigger {
    push {
      branch "trunk"
      include "services/luci/**"
      include "services/toad/**"
      include "scripts/local/go.sh"
      include "scripts/local/check.sh"
      include "scripts/local/check-staged.sh"
      include "scripts/local/verify.sh"
      include "scripts/local/test-go-tooling.sh"
      include "lefthook.yml"
      include "justfile"
      include ".ci/**"
    }
  }
}

job "go-vuln" {
  image "docker.io/library/golang:1.26"
  cache "go-mod" {
    path ".go-modcache"
    key {
      file "services/luci/go.sum"
      file "services/toad/go.sum"
    }
  }
  cache "go-build" {
    path ".go-cache"
    key {
      file "services/luci/go.sum"
      file "services/toad/go.sum"
    }
  }
  run "GOTOOLCHAIN=local GOMAXPROCS=2 GOFLAGS=-p=2 GOMODCACHE=$PWD/.go-modcache GOCACHE=$PWD/.go-cache scripts/local/go.sh vuln services/luci"
  run "GOTOOLCHAIN=local GOMAXPROCS=2 GOFLAGS=-p=2 GOMODCACHE=$PWD/.go-modcache GOCACHE=$PWD/.go-cache scripts/local/go.sh vuln services/toad"
  trigger {
    schedule "0 3 * * 1"
  }
}

job "rust-fmt" {
  image "docker.io/library/rust:1.98.0-bookworm"
  run "rustup component add rustfmt && scripts/local/rust.sh fmt"
  trigger {
    push {
      branch "trunk"
      include "services/luigit/**"
      include "scripts/local/rust.sh"
      include "justfile"
      include ".ci/**"
    }
  }
}

job "rust-clippy" {
  image "docker.io/library/rust:1.98.0-bookworm"
  cache "cargo-luigit" {
    path ".cargo-home"
    key {
      file "services/luigit/Cargo.lock"
    }
  }
  run "rustup component add clippy && CARGO_HOME=$PWD/.cargo-home CARGO_BUILD_JOBS=2 scripts/local/rust.sh clippy"
  trigger {
    push {
      branch "trunk"
      include "services/luigit/**"
      include "scripts/local/rust.sh"
      include "justfile"
      include ".ci/**"
    }
  }
}

job "rust-test" {
  image "docker.io/library/rust:1.98.0-bookworm"
  cache "cargo-luigit" {
    path ".cargo-home"
    key {
      file "services/luigit/Cargo.lock"
    }
  }
  run "CARGO_HOME=$PWD/.cargo-home CARGO_BUILD_JOBS=2 scripts/local/rust.sh test"
  trigger {
    push {
      branch "trunk"
      include "services/luigit/**"
      include "scripts/local/rust.sh"
      include "justfile"
      include ".ci/**"
    }
  }
}