chore/governance-baseline #2

Merged
David merged 2 commits from chore/governance-baseline into main 2026-05-13 00:35:17 +02:00
Owner
No description provided.
Bring the repo up to par with ../governance standards. CLI subset only; web/DB-specific items (HOST_IP/HOST_PORT, APP_PORT, migrations, SETUP_DEFAULT_ADMIN) intentionally skipped.

Adds:

- `LICENSE.md` (renamed from `LICENSE`), `CLAUDE.md`, `.dockerignore`.
- `build.rs` injecting `YOUTRACK_CLI_GIT_HASH` and `YOUTRACK_CLI_BUILD_DATE` at compile time. Wired in via `Cargo.toml::build = "build.rs"`.
- `oci-build/Dockerfile` (multi-stage `builder` / `export` / `runtime` against `rust-builder-musl`) and `oci-build/get-tags.nu`. BuildKit cache mounts on the cargo registry/git directories. `CARGO_BUILD_JOBS` build arg.
- `compose.yml` (one-shot build that copies the binary to `./dist/`) and `compose.dev.yml` (long-lived rust-builder-musl dev container with per-user named volumes for cargo registry/git/target).
- `.forgejo/workflows/check.yml` (fmt + clippy + build + tests with Swatinem/rust-cache), `build-oci-image.yml` (registry image with `:buildcache` `mode=max` + Generic Package upload), `create-release.yml` (release/* PR merge -> tag).
- `.devcontainer/devcontainer.json` and `config-devcontainer.sh` reusing `ghcr.io/niceguyit/opensuse-dev`.

Justfile gains: `install-hooks`, `pre-commit` (mirrors `check.yml` byte-for-byte inside `rust-builder-musl`), `dev` / `dev-detach` / `dev-stop` / `dev-clean` (per-user volume suffix) / `dev-logs` / `shell`, `check` umbrella (`check-fmt` + `check-clippy` + `check-build` + `check-docker`), `typecheck`, `lint`, `build-docker`, `build-docker-export`. `create-release` recipe retained.

All Docker resources prefixed `youtrack-cli-...` / `dev-youtrack-cli-...` with `${USER}` suffix on dev volumes. Dev container runs as `HOST_UID:HOST_GID` so files written to the bind-mounted source tree stay owned by the invoking user.

Local verification: `cargo fmt --check`, `cargo clippy --all-targets -- -D warnings`, `cargo build --all-targets`, `cargo test --all-targets` all clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: David Randall <David@NiceGuyIT.biz>
chore: point Cargo.toml repo URL and OCI image source label at NiceGuyIT/youtrack-cli
All checks were successful
Create release / Create release from merged PR (pull_request) Has been skipped
Check / fmt + clippy + build + tests (pull_request) Successful in 22s
3b799971eb
The repo lives at `dev.a8n.run/NiceGuyIT/youtrack-cli`; only the OCI registry path (computed from `A8N_TOOLS_PRIVATE_PACKAGE_OWNER` in `build-oci-image.yml`) is the `a8n-tools` owner. Fix the `repository` field in `Cargo.toml` and the `org.opencontainers.image.source` LABEL in `oci-build/Dockerfile` so both correctly identify the source repo.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: David Randall <David@NiceGuyIT.biz>
David merged commit c92a10acf7 into main 2026-05-13 00:35:17 +02:00
David deleted branch chore/governance-baseline 2026-05-13 00:35:17 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pandoras-box/youtrack-cli!2
No description provided.