Commit Graph
179 Commits
Author SHA1 Message Date
emil 5174e103f7 GRM-59: fix: use commit SHA URLs for badges to bypass Gitea cache 2026-06-22 13:10:32 +00:00
grm-ci-bot 1189807d4e release: v0.6.1 [skip ci] 2026-06-22 14:23:20 +02:00
emil 9e420e3dab GRM-62: fix: include lint extras in setup-ci and setup-release 2026-06-22 12:22:02 +00:00
emil c9c46e88ac GRM-61: refactor: separate GRM and CI translations with validation 2026-06-22 12:13:58 +00:00
grm-ci-bot 1e04d38d59 release: v0.6.1 [skip ci] 2026-06-22 13:06:16 +02:00
emil dcb2ed0fd9 GRM-58: refactor: require tea CLI everywhere, fail on missing Vikunja task 2026-06-22 11:04:51 +00:00
grm-ci-bot 5e270f21d1 release: v0.6.1 [skip ci] 2026-06-22 12:46:56 +02:00
emil 8e532839fd GRM-57: refactor: fully automate PR merge — no manual label/review needed 2026-06-22 10:45:26 +00:00
grm-ci-bot f5177c823c release: v0.6.1 [skip ci] 2026-06-22 12:27:47 +02:00
emil f649120172 GRM-59: fix: post-merge workflow failures (4 jobs) 2026-06-22 10:26:28 +00:00
emil 7d3cf999d6 GRM-58: fix: enforce commit message convention on master with CI validation 2026-06-22 10:12:01 +00:00
emil 3ae263fb00 GRM-57: fix: badges always update on release commits + fix configure-repo PYTHONPATH 2026-06-22 12:00:02 +02:00
emil 505673bc62 GRM-56: fix: close CI gaps with workflow dry-run, automated configure_repo, aligned timeouts 2026-06-22 08:23:06 +00:00
emil a791800809 GRM-55: fix: strengthen review process with deeper checks and structured checklist 2026-06-22 08:16:42 +00:00
grm-ci-bot d1531ac81f release: v0.6.0 [skip ci] v0.6.0 2026-06-22 10:06:13 +02:00
emil 0bf78d4f83 GRM-54: fix: fix broken automation pipeline (auto-merge, Vikunja, CI enforcement) 2026-06-22 08:04:54 +00:00
emil ad3c43bf8e fix: revert review_pr.py to GiteaClient (tea v0.14.1 is interactive-only) (#70) 2026-06-22 07:11:20 +00:00
emil 28e61aa166 GRM-54: Integrate tea Gitea CLI for API interactions (#68) 2026-06-22 07:04:58 +00:00
emil b8ab4f854b GRM-53: refactor: enforce script separation and document import rules 2026-06-22 06:32:17 +00:00
emil 8bde4cd12b GRM-52: fix: badges job runs after release to reflect actual state 2026-06-22 06:15:33 +00:00
emil b6e87a519b GRM-51: refactor: convert shell scripts and inline workflow scripts to Python 2026-06-22 05:53:31 +00:00
emil bec7b59671 GRM-51: ci: add actionlint and act_runner exec for workflow verification 2026-06-22 05:03:34 +00:00
Emil Simeonov 7a6d93cddc Revert "GRM-99: docs: test auto-merge workflow"
This reverts commit aebd7e33b88c3b27f477849c45d7b85b7d0e627d.
2026-06-22 05:43:54 +02:00
emil 81e8c2a159 GRM-99: docs: test auto-merge workflow 2026-06-22 03:40:11 +00:00
emil fe715f99be fix: auto-merge label condition uses pull_request.labels 2026-06-22 03:30:14 +00:00
emil eedef42c13 fix: molecule-tests static matrix and role_dir path fix 2026-06-22 03:20:37 +00:00
emil 1f75017395 fix: use 1-based runner indices for Gitea Actions compatibility 2026-06-22 02:31:20 +00:00
emil 8c16703106 fix: molecule-tests matrix runner-index renders as empty for 0 2026-06-22 02:15:06 +00:00
emil 69089f6d2c GRM-51: ci: add failure notifications to all post-merge jobs 2026-06-22 01:39:59 +00:00
emil ff0e733e07 GRM-51: fix: enforce conventional commit check in automated PR review 2026-06-22 01:35:07 +00:00
emil 8dc014a907 GRM-51: fix: release pipeline determinism with lock, rebase, and consistent classification 2026-06-22 01:29:58 +00:00
emil 599fc17dd3 GRM-51: fix: API resilience with retry, idempotent releases, and graceful Vikunja errors 2026-06-22 01:22:45 +00:00
emil 5cd7c15d11 GRM-51: ci: add shell safety and workflow_dispatch fix to all workflows 2026-06-22 01:11:37 +00:00
Emil SimeonovandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 1b3c3f6ca8 chore: align version and changelog with actual tags/releases
v0.6.0 tag was deleted (no user-facing changes). Revert version
in __init__.py and remove v0.6.0 section from CHANGELOG.md to
match the actual state: latest tag/release is v0.5.0.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-22 02:49:06 +02:00
emil 7591c99c02 GRM-50: fix: workflow timing, timeouts, status polling, and release classification 2026-06-22 00:44:35 +00:00
grm-ci-bot 789890b9ea release: v0.6.0 [skip ci] 2026-06-22 02:15:34 +02:00
Emil SimeonovandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> f8327a8e89 revert: remove v0.6.0 release (no user-facing changes)
The v0.6.0 release contained only infrastructure changes (CI
workflows, badges, review scripts, test fixes). The only
user-facing file changed was api_clients.py, which was modified
to fix the Gitea review API event name — an internal CI fix,
not a user-facing feature.

Reverting the version bump and CHANGELOG entry. The tag and
release have been deleted from the remote.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-22 02:13:43 +02:00
emil d8d025789b GRM-48: refactor: consolidate CI workflows to eliminate redundant runs 2026-06-22 00:01:58 +00:00
emil 5b4aaffa3b GRM-47: docs: tell users to checkout latest release tag before make setup 2026-06-21 23:39:17 +00:00
emil b2b7383266 GRM-47: docs: tell users to checkout latest release tag before make setup 2026-06-21 23:39:16 +00:00
grm-ci-bot c8e12dc722 release: v0.6.0 2026-06-22 01:25:07 +02:00
Emil SimeonovandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 31edf866f3 GRM-46: fix: auto_merge handles single-token workflow (self-approval)
Gitea rejects self-approval when the CI bot uses the same token as
the PR author. The has_approval_review function now falls back to
allowing merge when no REQUEST_CHANGES reviews exist, even without
an APPROVE. This makes the auto-merge workflow functional in a
single-token (agent) workflow.

Branch protection required_approvals set to 0 (enforced by
auto_merge.py instead, which checks for REQUEST_CHANGES).

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-22 01:23:24 +02:00
emil 9959b9c4ed GRM-46: feat: enforce mandatory PR reviews with automated checks 2026-06-21 23:22:08 +00:00
Emil SimeonovandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 749b4d025f GRM-45: fix: generate self-contained SVG badges instead of shields.io JSON
shields.io can't fetch JSON from our self-hosted Gitea instance (not
publicly reachable), so badges showed "unknown". Switched to generating
self-contained SVG badge files that are served directly by Gitea's raw
file API — no external service needed.

Changes:
- generate_badges.py: Added render_svg() to produce shields.io-style
  SVG badges with gradient, rounded corners, and Verdana font
- Replaced xml.sax.saxutils.escape with a simple _xml_escape() to
  avoid bandit B406 warning (no defusedxml dependency needed)
- CI workflow: Push .svg files instead of .json to badges branch
- README.md and docs/index.md: Updated badge URLs to use raw SVG
  from the badges branch instead of shields.io endpoint

Also fixed:
- Coverage regex now handles 100% without decimal (was 100.00%)
- doc_coverage.py: Removed redundant % in pct variable that caused
  double-percent (100%%) in output

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-22 00:50:22 +02:00
Emil SimeonovandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 28b4acf323 GRM-45: fix: badge regex patterns and doc_coverage double-percent
Two issues caused coverage and docs badges to show "unknown":

1. Coverage regex expected decimal (100.00%) but pytest-cov outputs
   100% when coverage is exactly 100. Made decimal part optional.

2. doc_coverage.py passed pct="100%" to a template that already had
   %, producing (100%%). Removed the redundant % from the pct variable.
   Also relaxed the doc coverage regex to not require closing ).

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-22 00:43:22 +02:00
Emil SimeonovandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> f5431c54cf GRM-45: ci: fix badges push — skip pre-commit on orphan branch
The badges job failed because git commit triggered pre-commit hooks
on the orphan branch where .pre-commit-config.yaml was removed by
git rm -rf . Added --no-verify and PRE_COMMIT_ALLOW_NO_CONFIG=1.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-22 00:38:27 +02:00
Emil SimeonovandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> cff8a35244 ci: fix badges job — add REPO_TOKEN to checkout for push access
The badges job failed because the checkout step didn't include the
REPO_TOKEN secret, so git push to the badges branch had no credentials.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-22 00:34:05 +02:00
emil 54a584d609 GRM-45: feat: add self-updating quality badges to README 2026-06-21 22:30:05 +00:00
emil 402e2dce7e GRM-44: fix: bridge test suite gaps — lint scripts, include integration tests 2026-06-21 22:21:15 +00:00
emil 7dfc9f6014 GRM-43: docs: fix broken wiki links and add missing token setup steps 2026-06-21 22:13:50 +00:00