fb6d4501b9
Added worktree-layered build config: resolves .gittally.yml from the worktree for per-branch build settings, with precedence worktree > .git > project; pinned secrets, server-side keys, and sandbox policy to .git.
Michael Hoennig2026-07-09 09:20:34 +02:00
095e6fa44f
PR-doc: split config precendence and hosisting TODO 9
Michael Hoennig2026-07-09 07:08:10 +02:00
347efc16c5
standardized JAR naming to gittally.jar (version-free); updated scripts, docs, and build config to align; added --version support via BuildPropertiesMichael Hoennig2026-07-08 22:45:23 +02:00
d0b38c557a
added age-based build retention: artifacts.retentionMaxAge (e.g. 30d, empty = no limit) drops builds older than the given age; combines with retentionPerBranch as independent caps — a build is kept only while it satisfies both limits; a branch's newest build is never age-pruned and keepLatestGreen now shields the latest green build from both limits, keeping the permanent /branches/... links valid
Michael HoennigandClaude Fable 52026-07-08 22:35:31 +02:00
b104eeee05
added opt-in managed nginx/TLS container (ADR 0005, plan step 13): server.nginx.* config serves GitTally over HTTPS on hosts without a reverse proxy — two-phase startup (ACME webroot via certbot container, then full HTTPS config), daily certificate renewal with nginx reload, labelled container removed on shutdown; all failures are non-fatal, the plain HTTP server keeps running
Michael HoennigandClaude Fable 52026-07-08 21:51:33 +02:00
fdbbd0516a
added setup-gittally-instance script: migrates legacy .gitTally configurations to YAML, sets up a GitTally instance on a Docker host, and prompts for Gitea secrets
Michael Hoennig2026-07-08 20:42:03 +02:00
3fe44135cc
Merge branch 'feature/permanent-artifact-links'
Michael Hoennig2026-07-08 15:51:02 +02:00
fd326f03fc
made the pull-request gate configurable: added watcher.pullRequestGate (default true); set false for plain-git origins without pull-request refs, so requirePullRequest gates are ignored and gated branches build on new commits; added the PR-doc
Michael HoennigandClaude Fable 52026-07-08 15:50:45 +02:00
bb06c8b731
added permanent artifact links for latest green builds: /branches/<branch-key>/... serves the latest green build's artifacts (green-only, resolved per request), keepLatestGreen retention protection, permanent artifact-index page, and latestGreenUrl links in the branches view
Michael HoennigandClaude Fable 52026-07-08 15:35:16 +02:00
83e70e73c3
added .claude/skills: introduced on-demand skill guides for architecture, PR documentation, and testing conventions; updated AGENTS.md to reference new skills
Michael Hoennig2026-07-08 15:20:37 +02:00
39fb4e3492
added PR documentation guidelines and template: introduced docs/prs/README.md and TEAMPLATE.mdMichael Hoennig2026-07-08 07:03:17 +02:00
0e3f97db62
enhanced setup-gittally-testserver.sh: added a second origin branch (feature/demo) to improve Branches view during UI/API smoke tests; updated documentation accordingly
Michael Hoennig2026-07-07 15:40:07 +02:00
d3a69a151a
updated artifact links: added target="_blank" and rel="noopener noreferrer" to ensure external logs and reports open in a new tab; updated docs and tests accordingly
Michael Hoennig2026-07-07 15:39:59 +02:00
a659cd6764
reintroduced legacy Branches view: added /branches endpoint for listing origin branches and their latest builds (or unknown for never-built branches), updated UI with reload button and navigation, and enhanced API and tests
Michael Hoennig2026-07-07 15:16:01 +02:00
f1f5946ac4
added setup-gittally-testserver.sh: example script for running a test server with a fake build, including configuration for manual UI/API smoke tests, and updated documentation
Michael Hoennig2026-07-07 14:47:34 +02:00
142bc87604
added ADR 0005 and step 13: reintroduce managed nginx+certbot as an opt-in feature for hosts without a reverse proxy (e.g. Hostsharing); partially supersedes ADR 0004; updated plans, documentation, and migration guides
Michael Hoennig2026-07-07 14:40:11 +02:00
f6a876b29b
updated setup-gittally-selfhost.sh: clarified config generation behavior, added systemd setup instructions, and refined comments for improved usability
Michael Hoennig2026-07-07 14:18:55 +02:00
60ff595a9d
implemented 12-deployment.md: added systemd service generation (init --systemd) and migration guide from legacy script; introduced JSON-file persistence, server-rendered UI with polling, and reverse-proxy-based deployment; updated documentation
Michael Hoennig2026-07-07 14:18:41 +02:00
e869b46cbf
implemented 11-docker-build-runtime.md: added optional Docker-based build execution with configuration, per-branch runtime selection, image rebuild on input changes, Gradle cache volume, and ownership repair; updated docs and configuration
Michael Hoennig2026-07-07 13:49:08 +02:00
73221a8b8b
implemented 10-cli-commands.md: added CLI commands for branch name resolution, one-shot builds, failed build retries, and build status reports; includes tests for functionality and edge cases
Michael Hoennig2026-07-07 13:19:29 +02:00
a6a2c9de0b
implemented 09-system-metrics.md: added system metrics: introduced system monitoring with a metrics collector, REST API endpoint, Thymeleaf UI rendering, and lifecycle management
Michael Hoennig2026-07-07 12:55:11 +02:00
67c9f0ade9
added setup-gittally-selfhost.sh: example script for setting up a self-hosted GitTally instance
Michael Hoennig2026-07-07 12:23:30 +02:00
25a0742a58
implemented 08-web-ui.md: added Thymeleaf-based web UI: templates for builds, artifacts, current builds, and fragments; static assets for favicon, CSS, and JavaScript
Michael Hoennig2026-07-07 12:23:12 +02:00
490914de0b
implemented 07-server-mode.md: added server profile with REST API for builds, artifacts, live logs, and control tokens; lifecycle management for watcher; controller and service tests
Michael Hoennig2026-07-07 11:27:27 +02:00
a1db450bdb
implemented 06-watcher.md: non-blocking poll cycle enqueueing changed/new/auto-build branches via the async executor, startup recovery, retention/worktree pruning, JSON auto-build slot state, watcher.pollInterval config, and watcher health state
Michael HoennigandClaude Fable 52026-07-07 10:28:28 +02:00
3c9eeda5da
implemented 05-artifact-store.md: filesystem artifact store with legacy-compatible naming, atomic persist from concurrent builds, retention pruning, and artifacts.rootDir config
Michael HoennigandClaude Fable 52026-07-07 10:08:00 +02:00
b379bc0a6b
implemented 04-build-executor.md incl. concurrency amendment: async builds in per-branch worktrees, builds.maxConcurrent, cancellation, live logs; fix .gitignore build/ rule that silently excluded the de.hoennig.gittally.build package (also recovers the step-01 domain files)
Michael HoennigandClaude Fable 52026-07-07 08:43:28 +02:00
ae3ae7aa04
implemented 03-gitea-client.md: added Gitea API client for commit statuses, status mapping, and extensive tests
Michael Hoennig2026-07-07 07:34:18 +02:00
a427665ce8
implemented 02-git-gateway.md: added Git access layer with credentials bridge, duration parser, and extensive tests
Michael Hoennig2026-07-07 07:10:38 +02:00
f4a6ec9194
implemented 01-build-state-domain: add execution notes and jackson-datatype-jsr310 dependency
Michael Hoennig2026-07-07 06:53:04 +02:00
38e080814e
update CLAUDE.md with rewrite plan documentation reference in docs/pland directory
Michael Hoennig2026-07-07 06:40:27 +02:00
56208c061e
update CLAUDE.md with configuration system details and documentation references
Michael Hoennig2026-07-07 06:21:55 +02:00
3629425769
add GitTally configuration, artifact retention, and system metrics enhancements
Michael Hoennig2026-07-07 06:00:34 +02:00