Commit Graph
150 Commits
Author SHA1 Message Date
Michael Hoennig 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. 2026-07-09 09:20:34 +02:00
Michael Hoennig 095e6fa44f PR-doc: split config precendence and hosisting TODO 9 2026-07-09 07:08:10 +02:00
Michael Hoennig b21b8b8a28 Security Report 2026-07-09 06:32:49 +02:00
Michael Hoennig 347efc16c5 standardized JAR naming to gittally.jar (version-free); updated scripts, docs, and build config to align; added --version support via BuildProperties 2026-07-08 22:45:23 +02:00
Michael HoennigandClaude Fable 5 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
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 22:35:31 +02:00
Michael HoennigandClaude Fable 5 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
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 21:51:33 +02:00
Michael Hoennig 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 2026-07-08 20:42:03 +02:00
Michael Hoennig 3fe44135cc Merge branch 'feature/permanent-artifact-links' 2026-07-08 15:51:02 +02:00
Michael HoennigandClaude Fable 5 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
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 15:50:45 +02:00
Michael HoennigandClaude Fable 5 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
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 15:35:16 +02:00
Michael Hoennig 83e70e73c3 added .claude/skills: introduced on-demand skill guides for architecture, PR documentation, and testing conventions; updated AGENTS.md to reference new skills 2026-07-08 15:20:37 +02:00
Michael Hoennig 39fb4e3492 added PR documentation guidelines and template: introduced docs/prs/README.md and TEAMPLATE.md 2026-07-08 07:03:17 +02:00
Michael Hoennig 0b17537b7c ads PR-triggered builds 2026-07-08 06:32:40 +02:00
Michael Hoennig 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 2026-07-07 15:40:07 +02:00
Michael Hoennig 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 2026-07-07 15:39:59 +02:00
Michael Hoennig 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 2026-07-07 15:16:01 +02:00
Michael Hoennig 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 2026-07-07 14:47:34 +02:00
Michael Hoennig 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 2026-07-07 14:40:11 +02:00
Michael Hoennig f6a876b29b updated setup-gittally-selfhost.sh: clarified config generation behavior, added systemd setup instructions, and refined comments for improved usability 2026-07-07 14:18:55 +02:00
Michael Hoennig 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 2026-07-07 14:18:41 +02:00
Michael Hoennig 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 2026-07-07 13:49:08 +02:00
Michael Hoennig 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 2026-07-07 13:19:29 +02:00
Michael Hoennig 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 2026-07-07 12:55:11 +02:00
Michael Hoennig 67c9f0ade9 added setup-gittally-selfhost.sh: example script for setting up a self-hosted GitTally instance 2026-07-07 12:23:30 +02:00
Michael Hoennig 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 2026-07-07 12:23:12 +02:00
Michael Hoennig 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 2026-07-07 11:27:27 +02:00
Michael HoennigandClaude Fable 5 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
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 10:28:28 +02:00
Michael HoennigandClaude Fable 5 3c9eeda5da implemented 05-artifact-store.md: filesystem artifact store with legacy-compatible naming, atomic persist from concurrent builds, retention pruning, and artifacts.rootDir config
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 10:08:40 +02:00
Michael HoennigandClaude Fable 5 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)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 08:43:28 +02:00
Michael Hoennig ae3ae7aa04 implemented 03-gitea-client.md: added Gitea API client for commit statuses, status mapping, and extensive tests 2026-07-07 07:34:18 +02:00
Michael Hoennig a427665ce8 implemented 02-git-gateway.md: added Git access layer with credentials bridge, duration parser, and extensive tests 2026-07-07 07:10:38 +02:00
Michael Hoennig f4a6ec9194 implemented 01-build-state-domain: add execution notes and jackson-datatype-jsr310 dependency 2026-07-07 06:53:04 +02:00
Michael Hoennig 38e080814e update CLAUDE.md with rewrite plan documentation reference in docs/pland directory 2026-07-07 06:40:27 +02:00
Michael Hoennig 56208c061e update CLAUDE.md with configuration system details and documentation references 2026-07-07 06:21:55 +02:00
Michael Hoennig 3629425769 add GitTally configuration, artifact retention, and system metrics enhancements 2026-07-07 06:00:34 +02:00
Michael Hoennig 8b6c6de1ea add bootstrapping.md 2026-06-10 17:27:06 +02:00
Michael Hoennig 4943d98b68 add Markdown rules 2026-06-10 07:00:45 +02:00
Michael Hoennig a7f91c7308 add IDEA settings 2026-06-09 20:12:30 +02:00
Michael Hoennig 02b08306e1 added configuration.md 2026-06-09 17:04:07 +02:00
Michael Hoennig 117caf12a9 upgrade to Spring Boot 4.2.1 2026-06-09 16:05:12 +02:00
Michael Hoennig a030f7abb6 add ADRs for gradle and spring boot version and version smoke-tests 2026-06-09 15:20:21 +02:00
Michael Hoennig 019883c8e7 add AGENTS.md + CLAUDE.md 2026-06-09 14:51:54 +02:00
Michael Hoennig 84ca8b441c add adr-status + direnv 2026-06-09 14:31:35 +02:00
Michael Hoennig 923048781b add test-library and ktlint 2026-06-09 13:24:05 +02:00
Michael Hoennig 7b01aaa9a2 add ADR regarding test-framework 2026-06-09 13:07:02 +02:00
Michael Hoennig e6a1cc124d add ADR template 2026-06-09 12:35:55 +02:00
Michael Hoennig b47489ab2b initial Spring app 2026-06-09 11:55:23 +02:00
Michael Hoennig 18b0b3e537 cleanup, removing unused config env vars 2026-06-09 11:33:04 +02:00
Michael Hoennig fdc659960d initial revision with vibe-coded shell script and new design document 2026-06-09 10:17:35 +02:00
Michael Hönnig 5774f26147 Initial commit 2026-06-09 09:07:47 +02:00