LUCIRUNSDOCSPUBLIC CI
Run summary

Run passed.

2 passed.

bugabinga.net / push

fix(klops): make maintenance checks cwd independent

··
Result output · infra-tofu-route
[luci] step 1/2: apk --root $PWD/.apk --initdb --keys-dir /etc/apk/keys --repositories-file /etc/apk/repositories --no-scripts --no-chown add --no-cache bash caddy git jq just opentofu
fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz
(1/31) Installing musl (1.2.5-r12)
(2/31) Installing busybox (1.37.0-r20)
(3/31) Installing busybox-binsh (1.37.0-r20)
(4/31) Installing ncurses-terminfo-base (6.5_p20250503-r0)
(5/31) Installing libncursesw (6.5_p20250503-r0)
(6/31) Installing readline (8.2.13-r1)
(7/31) Installing bash (5.2.37-r0)
(8/31) Installing libcrypto3 (3.5.8-r0)
(9/31) Installing ca-certificates (20260909-r0)
(10/31) Installing caddy (2.10.0-r5)
(11/31) Installing ca-certificates-bundle (20260909-r0)
(12/31) Installing brotli-libs (1.1.0-r2)
(13/31) Installing c-ares (1.34.8-r0)
(14/31) Installing libunistring (1.3-r0)
(15/31) Installing libidn2 (2.3.7-r0)
(16/31) Installing nghttp2-libs (1.69.0-r0)
(17/31) Installing libpsl (0.21.5-r3)
(18/31) Installing libssl3 (3.5.8-r0)
(19/31) Installing ssl_client (1.37.0-r20)
(20/31) Installing zlib (1.3.2-r0)
(21/31) Installing zstd-libs (1.5.7-r0)
(22/31) Installing libcurl (8.14.1-r3)
(23/31) Installing libexpat (2.8.5-r0)
(24/31) Installing pcre2 (10.46-r0)
(25/31) Installing git (2.49.1-r0)
(26/31) Installing git-init-template (2.49.1-r0)
(27/31) Installing oniguruma (6.9.10-r0)
(28/31) Installing jq (1.8.2-r0)
(29/31) Installing libgcc (14.2.0-r6)
(30/31) Installing just (1.40.0-r0)
(31/31) Installing opentofu (1.9.1-r6)
ERROR: 55 errors updating directory permissions
OK: 161 MiB in 31 packages
[luci] step 1/2 done in 3s
[luci] step 2/2: export PATH=$PWD/.apk/bin:$PWD/.apk/sbin:$PWD/.apk/usr/bin:$PWD/.apk/usr/sbin:$PATH LD_LIBRARY_PATH=$PWD/.apk/lib:$PWD/.apk/usr/lib; command -v tofu just caddy jq git && just --version && caddy version && jq --version && scripts/local/test-verify-infra.sh && just verify infra tofu-route
/work/.apk/usr/bin/tofu
just 1.40.0
v2.10.0
jq-1.8.2
warning: templates not found in /usr/share/git-core/templates
OpenTofu v1.9.1
on linux_amd64
+ provider registry.opentofu.org/hashicorp/local v2.9.0
+ provider registry.opentofu.org/hashicorp/null v3.3.0
+ provider registry.opentofu.org/hetznercloud/hcloud v1.68.0
Initializing modules...
- klops in modules/klops

Initializing provider plugins...
- Reusing previous version of hetznercloud/hcloud from the dependency lock file
- Reusing previous version of hashicorp/null from the dependency lock file
- Reusing previous version of hashicorp/local from the dependency lock file
- Installing hetznercloud/hcloud v1.68.0...
- Installed hetznercloud/hcloud v1.68.0 (signed, key ID 5219EACB3A77198B)
- Installing hashicorp/null v3.3.0...
- Installed hashicorp/null v3.3.0 (signed, key ID 0C0AF313E5FD9F80)
- Installing hashicorp/local v2.9.0...
- Installed hashicorp/local v2.9.0 (signed, key ID 0C0AF313E5FD9F80)

Providers are signed by their developers.
If you'd like to know more about provider signing, you can read about it here:
https://opentofu.org/docs/cli/plugins/signing/

OpenTofu has been successfully initialized!
Success! The configuration is valid.
[luci] step 2/2 done in 12s

Complete raw log

Passed · 2 executions
PASSEDinfra-tofu-route15s

Execution configuration

Imagedocker.io/library/alpine:3.22.0

Matrixnone

Triggerpush

Commands

apk --root $PWD/.apk --initdb --keys-dir /etc/apk/keys --repositories-file /etc/apk/repositories --no-scripts --no-chown add --no-cache bash caddy git jq just opentofu
export PATH=$PWD/.apk/bin:$PWD/.apk/sbin:$PWD/.apk/usr/bin:$PWD/.apk/usr/sbin:$PATH LD_LIBRARY_PATH=$PWD/.apk/lib:$PWD/.apk/usr/lib; command -v tofu just caddy jq git && just --version && caddy version && jq --version && scripts/local/test-verify-infra.sh && just verify infra tofu-route
Job source · .ci/infra.kdl
job "infra-tofu-route" {
image "docker.io/library/alpine:3.22.0"run "apk --root $PWD/.apk --initdb --keys-dir /etc/apk/keys --repositories-file /etc/apk/repositories --no-scripts --no-chown add --no-cache bash caddy git jq just opentofu"run "export PATH=$PWD/.apk/bin:$PWD/.apk/sbin:$PWD/.apk/usr/bin:$PWD/.apk/usr/sbin:$PATH LD_LIBRARY_PATH=$PWD/.apk/lib:$PWD/.apk/usr/lib; command -v tofu just caddy jq git && just --version && caddy version && jq --version && scripts/local/test-verify-infra.sh && just verify infra tofu-route"trigger {
push {
branch "trunk"include "*.tf"include "**/*.tf"include "*.tf.json"include "**/*.tf.json"include ".terraform.lock.hcl"include "modules/klops/**"include "services/toad/**"include "services/luigit/**"include "sites/index/**"include "sites/personal/**"include "sites/genie/**"include "sites/pkg/**"include "scripts/local/klops.sh"include "scripts/local/deploy-toad.sh"include "scripts/local/build-remote-image.sh"include "scripts/remote/**"include "assets/bugabinga.min.svg"include "assets/nugu.css"include "assets/jellyfin-branding.xml"include "assets/registry/index-BAkATJzA.css"include "assets/dawarich/application-b5a7662b4bd877f1de1fe5769d2b98adfa15a8095b784d392ae1154df6f3b865.js"include "scripts/local/verify-infra.sh"include "scripts/local/verify.sh"include "scripts/local/test-verify-infra.sh"include "justfile"include ".ci/infra.kdl"		}	}}
step timing
StepCommandTime
1/2apk --root $PWD/.apk --initdb --keys-dir /etc/apk/keys --repositories-file /etc/apk/repositories --no-scripts --no-chown add --no-cache bash caddy git jq just opentofu3s
2/2export PATH=$PWD/.apk/bin:$PWD/.apk/sbin:$PWD/.apk/usr/bin:$PWD/.apk/usr/sbin:$PATH LD_LIBRARY_PATH=$PWD/.apk/lib:$PWD/.apk/usr/lib; command -v tofu just caddy jq git && just --version && caddy version && jq --version && scripts/local/test-verify-infra.sh && just verify infra tofu-route12s

Complete raw log

Log tail
[luci] step 1/2: apk --root $PWD/.apk --initdb --keys-dir /etc/apk/keys --repositories-file /etc/apk/repositories --no-scripts --no-chown add --no-cache bash caddy git jq just opentofu
fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz
(1/31) Installing musl (1.2.5-r12)
(2/31) Installing busybox (1.37.0-r20)
(3/31) Installing busybox-binsh (1.37.0-r20)
(4/31) Installing ncurses-terminfo-base (6.5_p20250503-r0)
(5/31) Installing libncursesw (6.5_p20250503-r0)
(6/31) Installing readline (8.2.13-r1)
(7/31) Installing bash (5.2.37-r0)
(8/31) Installing libcrypto3 (3.5.8-r0)
(9/31) Installing ca-certificates (20260909-r0)
(10/31) Installing caddy (2.10.0-r5)
(11/31) Installing ca-certificates-bundle (20260909-r0)
(12/31) Installing brotli-libs (1.1.0-r2)
(13/31) Installing c-ares (1.34.8-r0)
(14/31) Installing libunistring (1.3-r0)
(15/31) Installing libidn2 (2.3.7-r0)
(16/31) Installing nghttp2-libs (1.69.0-r0)
(17/31) Installing libpsl (0.21.5-r3)
(18/31) Installing libssl3 (3.5.8-r0)
(19/31) Installing ssl_client (1.37.0-r20)
(20/31) Installing zlib (1.3.2-r0)
(21/31) Installing zstd-libs (1.5.7-r0)
(22/31) Installing libcurl (8.14.1-r3)
(23/31) Installing libexpat (2.8.5-r0)
(24/31) Installing pcre2 (10.46-r0)
(25/31) Installing git (2.49.1-r0)
(26/31) Installing git-init-template (2.49.1-r0)
(27/31) Installing oniguruma (6.9.10-r0)
(28/31) Installing jq (1.8.2-r0)
(29/31) Installing libgcc (14.2.0-r6)
(30/31) Installing just (1.40.0-r0)
(31/31) Installing opentofu (1.9.1-r6)
ERROR: 55 errors updating directory permissions
OK: 161 MiB in 31 packages
[luci] step 1/2 done in 3s
[luci] step 2/2: export PATH=$PWD/.apk/bin:$PWD/.apk/sbin:$PWD/.apk/usr/bin:$PWD/.apk/usr/sbin:$PATH LD_LIBRARY_PATH=$PWD/.apk/lib:$PWD/.apk/usr/lib; command -v tofu just caddy jq git && just --version && caddy version && jq --version && scripts/local/test-verify-infra.sh && just verify infra tofu-route
/work/.apk/usr/bin/tofu
just 1.40.0
v2.10.0
jq-1.8.2
warning: templates not found in /usr/share/git-core/templates
OpenTofu v1.9.1
on linux_amd64
+ provider registry.opentofu.org/hashicorp/local v2.9.0
+ provider registry.opentofu.org/hashicorp/null v3.3.0
+ provider registry.opentofu.org/hetznercloud/hcloud v1.68.0
Initializing modules...
- klops in modules/klops

Initializing provider plugins...
- Reusing previous version of hetznercloud/hcloud from the dependency lock file
- Reusing previous version of hashicorp/null from the dependency lock file
- Reusing previous version of hashicorp/local from the dependency lock file
- Installing hetznercloud/hcloud v1.68.0...
- Installed hetznercloud/hcloud v1.68.0 (signed, key ID 5219EACB3A77198B)
- Installing hashicorp/null v3.3.0...
- Installed hashicorp/null v3.3.0 (signed, key ID 0C0AF313E5FD9F80)
- Installing hashicorp/local v2.9.0...
- Installed hashicorp/local v2.9.0 (signed, key ID 0C0AF313E5FD9F80)

Providers are signed by their developers.
If you'd like to know more about provider signing, you can read about it here:
https://opentofu.org/docs/cli/plugins/signing/

OpenTofu has been successfully initialized!
Success! The configuration is valid.
[luci] step 2/2 done in 12s
Continue in CLI

Nushell command · read-only.

luci log dogin-mukid-razor-modag 001

Local Luci data access required · no execution.

PASSEDshell6s

Execution configuration

Imagedocker.io/library/alpine:3.22.0

Matrixnone

Triggerpush

Commands

apk --root $PWD/.apk --initdb --keys-dir /etc/apk/keys --repositories-file /etc/apk/repositories --no-scripts --no-chown add --no-cache bash git shfmt shellcheck
export PATH=$PWD/.apk/bin:$PWD/.apk/usr/bin:$PATH LD_LIBRARY_PATH=$PWD/.apk/lib:$PWD/.apk/usr/lib; bash --version && git --version && shfmt --version && shellcheck --version
PATH=$PWD/.apk/bin:$PWD/.apk/usr/bin:$PATH LD_LIBRARY_PATH=$PWD/.apk/lib:$PWD/.apk/usr/lib scripts/local/test-garbage-collection.sh && scripts/local/shell-check.sh read
Job source · .ci/shell.kdl
job "shell" {
image "docker.io/library/alpine:3.22.0"run "apk --root $PWD/.apk --initdb --keys-dir /etc/apk/keys --repositories-file /etc/apk/repositories --no-scripts --no-chown add --no-cache bash git shfmt shellcheck"run "export PATH=$PWD/.apk/bin:$PWD/.apk/usr/bin:$PATH LD_LIBRARY_PATH=$PWD/.apk/lib:$PWD/.apk/usr/lib; bash --version && git --version && shfmt --version && shellcheck --version"run "PATH=$PWD/.apk/bin:$PWD/.apk/usr/bin:$PATH LD_LIBRARY_PATH=$PWD/.apk/lib:$PWD/.apk/usr/lib scripts/local/test-garbage-collection.sh && scripts/local/shell-check.sh read"trigger {
push {
branch "trunk"include "**/*.sh"include "*.sh"include "scripts/local/shell-check.sh"include ".ci/shell.kdl"		}	}}
step timing
StepCommandTime
1/3apk --root $PWD/.apk --initdb --keys-dir /etc/apk/keys --repositories-file /etc/apk/repositories --no-scripts --no-chown add --no-cache bash git shfmt shellcheck2s
2/3export PATH=$PWD/.apk/bin:$PWD/.apk/usr/bin:$PATH LD_LIBRARY_PATH=$PWD/.apk/lib:$PWD/.apk/usr/lib; bash --version && git --version && shfmt --version && shellcheck --version0s
3/3PATH=$PWD/.apk/bin:$PWD/.apk/usr/bin:$PATH LD_LIBRARY_PATH=$PWD/.apk/lib:$PWD/.apk/usr/lib scripts/local/test-garbage-collection.sh && scripts/local/shell-check.sh read3s

Complete raw log

Log tail
[luci] step 1/3: apk --root $PWD/.apk --initdb --keys-dir /etc/apk/keys --repositories-file /etc/apk/repositories --no-scripts --no-chown add --no-cache bash git shfmt shellcheck
fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz
(1/28) Installing musl (1.2.5-r12)
(2/28) Installing busybox (1.37.0-r20)
(3/28) Installing busybox-binsh (1.37.0-r20)
(4/28) Installing ncurses-terminfo-base (6.5_p20250503-r0)
(5/28) Installing libncursesw (6.5_p20250503-r0)
(6/28) Installing readline (8.2.13-r1)
(7/28) Installing bash (5.2.37-r0)
(8/28) Installing ca-certificates-bundle (20260909-r0)
(9/28) Installing brotli-libs (1.1.0-r2)
(10/28) Installing c-ares (1.34.8-r0)
(11/28) Installing libcrypto3 (3.5.8-r0)
(12/28) Installing libunistring (1.3-r0)
(13/28) Installing libidn2 (2.3.7-r0)
(14/28) Installing nghttp2-libs (1.69.0-r0)
(15/28) Installing libpsl (0.21.5-r3)
(16/28) Installing libssl3 (3.5.8-r0)
(17/28) Installing ssl_client (1.37.0-r20)
(18/28) Installing zlib (1.3.2-r0)
(19/28) Installing zstd-libs (1.5.7-r0)
(20/28) Installing libcurl (8.14.1-r3)
(21/28) Installing libexpat (2.8.5-r0)
(22/28) Installing pcre2 (10.46-r0)
(23/28) Installing git (2.49.1-r0)
(24/28) Installing git-init-template (2.49.1-r0)
(25/28) Installing libffi (3.4.8-r0)
(26/28) Installing gmp (6.3.0-r3)
(27/28) Installing shellcheck (0.10.0-r2)
(28/28) Installing shfmt (3.11.0-r5)
ERROR: 46 errors updating directory permissions
OK: 42 MiB in 28 packages
[luci] step 1/3 done in 2s
[luci] step 2/3: export PATH=$PWD/.apk/bin:$PWD/.apk/usr/bin:$PATH LD_LIBRARY_PATH=$PWD/.apk/lib:$PWD/.apk/usr/lib; bash --version && git --version && shfmt --version && shellcheck --version
GNU bash, version 5.2.37(1)-release (x86_64-alpine-linux-musl)
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
git version 2.49.1
3.11.0-5
ShellCheck - shell script analysis tool
version: 0.10.0
license: GNU General Public License, version 3
website: https://www.shellcheck.net
[luci] step 2/3 done in 0s
[luci] step 3/3: PATH=$PWD/.apk/bin:$PWD/.apk/usr/bin:$PATH LD_LIBRARY_PATH=$PWD/.apk/lib:$PWD/.apk/usr/lib scripts/local/test-garbage-collection.sh && scripts/local/shell-check.sh read
garbage collection test passed
maintenance check test passed
[luci] step 3/3 done in 3s
Continue in CLI

Nushell command · read-only.

luci log dogin-mukid-razor-modag 002

Local Luci data access required · no execution.

All configuration at this revision
go.kdl @ 7e50
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/**"
    }
  }
}
infra.kdl @ 7e50
job "infra-tofu-route" {
  image "docker.io/library/alpine:3.22.0"
  run "apk --root $PWD/.apk --initdb --keys-dir /etc/apk/keys --repositories-file /etc/apk/repositories --no-scripts --no-chown add --no-cache bash caddy git jq just opentofu"
  run "export PATH=$PWD/.apk/bin:$PWD/.apk/sbin:$PWD/.apk/usr/bin:$PWD/.apk/usr/sbin:$PATH LD_LIBRARY_PATH=$PWD/.apk/lib:$PWD/.apk/usr/lib; command -v tofu just caddy jq git && just --version && caddy version && jq --version && scripts/local/test-verify-infra.sh && just verify infra tofu-route"
  trigger {
    push {
      branch "trunk"
      include "*.tf"
      include "**/*.tf"
      include "*.tf.json"
      include "**/*.tf.json"
      include ".terraform.lock.hcl"
      include "modules/klops/**"
      include "services/toad/**"
      include "services/luigit/**"
      include "sites/index/**"
      include "sites/personal/**"
      include "sites/genie/**"
      include "sites/pkg/**"
      include "scripts/local/klops.sh"
      include "scripts/local/deploy-toad.sh"
      include "scripts/local/build-remote-image.sh"
      include "scripts/remote/**"
      include "assets/bugabinga.min.svg"
      include "assets/nugu.css"
      include "assets/jellyfin-branding.xml"
      include "assets/registry/index-BAkATJzA.css"
      include "assets/dawarich/application-b5a7662b4bd877f1de1fe5769d2b98adfa15a8095b784d392ae1154df6f3b865.js"
      include "scripts/local/verify-infra.sh"
      include "scripts/local/verify.sh"
      include "scripts/local/test-verify-infra.sh"
      include "justfile"
      include ".ci/infra.kdl"
    }
  }
}

job "infra-quadlets" {
  image "quay.io/podman/stable:v5.6.2"
  run "scripts/local/install-just.sh $PWD/.just"
  run "PATH=$PWD/.just:$PATH; command -v git just && test -x /usr/lib/systemd/system-generators/podman-system-generator && /usr/lib/systemd/system-generators/podman-system-generator --version && just --version && scripts/local/test-verify-infra.sh && just verify infra quadlets"
  trigger {
    push {
      branch "trunk"
      include "modules/klops/quadlets/**"
      include "modules/klops/ci-quadlets/**"
      include "modules/klops/templates/ddns.container.tftpl"
      include "modules/klops/templates/luci.container.tftpl"
      include "modules/klops/templates/soft-serve.container.tftpl"
      include "services/toad/deploy/*.container"
      include "services/toad/deploy/*.network"
      include "scripts/local/verify-infra.sh"
      include "scripts/local/install-just.sh"
      include "scripts/local/verify.sh"
      include "scripts/local/test-verify-infra.sh"
      include "justfile"
      include ".ci/infra.kdl"
    }
  }
}
shell.kdl @ 7e50
job "shell" {
  image "docker.io/library/alpine:3.22.0"
  run "apk --root $PWD/.apk --initdb --keys-dir /etc/apk/keys --repositories-file /etc/apk/repositories --no-scripts --no-chown add --no-cache bash git shfmt shellcheck"
  run "export PATH=$PWD/.apk/bin:$PWD/.apk/usr/bin:$PATH LD_LIBRARY_PATH=$PWD/.apk/lib:$PWD/.apk/usr/lib; bash --version && git --version && shfmt --version && shellcheck --version"
  run "PATH=$PWD/.apk/bin:$PWD/.apk/usr/bin:$PATH LD_LIBRARY_PATH=$PWD/.apk/lib:$PWD/.apk/usr/lib scripts/local/test-garbage-collection.sh && scripts/local/shell-check.sh read"
  trigger {
    push {
      branch "trunk"
      include "**/*.sh"
      include "*.sh"
      include "scripts/local/shell-check.sh"
      include ".ci/shell.kdl"
    }
  }
}