set dotenv-load set dotenv-override := true updatecli-autogen-header \ := quote("# This file was auto-generated by 'just updatecli-values'") updatecli-values-rq-prelude := ''' # rq: query data.script.yaml # rq: output-format raw yaml := concat("\n", [ "# This file was auto-generated by 'just updatecli-values'", rq.encode(output, "yaml:"), ]) ''' rust-analyzer-project-discover: @bazel run @rules_rust//tools/rust_analyzer:discover_bazel_rust_project \ -- "$@" 2>/dev/null rust-analyzer-project-generate: bazel run @rules_rust//tools/rust_analyzer:gen_rust_project # XXX: querying rust_clippy_aspect's output groups doesn't work in <8.4.0: # https://github.com/bazelbuild/bazel/pull/26626 # so just assume the filenames as `*.clippy.diagnostics`. rust-analyzer-check: @bazel build //... \ --aspects=@rules_rust//rust:defs.bzl%rust_clippy_aspect \ --output_groups=clippy_output >/dev/null 2>&1 || true @cat bazel-bin/*.clippy.diagnostics /dev/null vm-delete: limactl delete -f "$LIMA_INSTANCE" vm-create: && vm-start limactl create -y --mount="$PWD:$PWD" --name="$LIMA_INSTANCE" tests/vm/lima.yaml vm-start: && vm-configure limactl start "$LIMA_INSTANCE" _vm-configure-statedir: mkdir -p tests/vm/_state ln -sf ~/.lima/"$LIMA_INSTANCE"/ssh.config tests/vm/_state vm-configure-init: _vm-configure-statedir lima bash "$PWD/tests/vm/scripts/configure.sh" limactl copy "$LIMA_INSTANCE":/etc/rancher/k3s/k3s.yaml "$KUBECONFIG" kubectl config rename-context default lima-topolvm-stratis kubectl config set-cluster default --server=https://localhost:6449 vm-configure-helmfile: helmfile apply -f tests/vm/helmfile.yaml --wait vm-configure: vm-configure-init vm-configure-helmfile _vm-reset-stratis: lima bash "$PWD/tests/vm/scripts/reset-stratis.sh" _vm-reset-k3s: _vm-configure-statedir lima sudo /usr/local/bin/k3s-uninstall.sh vm-reset-stratis: _vm-reset-stratis && vm-configure vm-reset-k3s: _vm-reset-k3s && vm-configure vm-reset-all: _vm-reset-k3s _vm-reset-stratis && vm-configure vm-build-tagged tag: bazel build //:load bsdtar -cf- @bazel-bin/load/tarball.spec \ | limactl shell "$LIMA_INSTANCE" sudo /usr/local/bin/k3s \ ctr -n=k8s.io images import --digests - limactl shell "$LIMA_INSTANCE" sudo /usr/local/bin/k3s \ ctr -n=k8s.io images tag --force \ quay.io/refi64/topolvm-stratis:latest {{ quote(tag) }} vm-deploy: tilt -f tests/vm/Tiltfile ci [positional-arguments] test *$args: vm-deploy #!/bin/bash set -e kubectl -n topolvm-system logs DaemonSet/topolvm-stratis-lvmd-0 -f | jq & set -x trap 'kill $(jobs -p) >/dev/null 2>&1 || :' EXIT bazel run //tests -- "$@" sleep 0.1 # try to make sure we got all the logs updatecli-values-aqua: #!/usr/bin/env rq # rq: data-paths aqua.yaml # rq: output updatecli/values.d/aqua-deps.yaml {{updatecli-values-rq-prelude}} # 'sort' needed due to: https://todo.sr.ht/~charles/rq/20 output.aquaDeps := sort([ {"name": name} | some pkg in data.aqua.packages name := split(pkg.name, "@")[0] ]) updatecli-values-bazel: #!/usr/bin/env rq # rq: output updatecli/values.d/bazel-deps.yaml {{updatecli-values-rq-prelude}} deps := rq.run( ["bazel", "mod", "deps", "--output=json", "--depth=1", ""], {"stdout_spec": "json:"}, ).stdout # 'sort' needed due to: https://todo.sr.ht/~charles/rq/20 output.bazelDeps := sort([ object.filter(mod, ["name"]) | some mod in deps.dependencies ]) updatecli-values-uv: #!/usr/bin/env rq # rq: data-paths pyproject.toml # rq: output updatecli/values.d/uv-deps.yaml {{updatecli-values-rq-prelude}} # 'sort' needed due to: https://todo.sr.ht/~charles/rq/20 output.uvDeps := sort([ {"name": name, "extras": extras, "constraints": constraints} | some dep in data.pyproject.project.dependencies [_, name, extras, constraints] := regex.find_all_string_submatch_n( # From https://packaging.python.org/en/latest/specifications/name-normalization/#name-format `(?i)^([A-Z0-9][A-Z0-9._-]*[A-Z0-9])(\[.+?\])?(.*)`, dep, -1, )[0] ]) updatecli-values: updatecli-values-aqua updatecli-values-bazel updatecli-values-uv [positional-arguments] updatecli *$args: updatecli-values updatecli --experimental "$@"