Files
grm/CHANGELOG.md
T

5.6 KiB

Changelog

All notable changes to this project will be documented in this file.

[0.7.0] - 2026-06-22

Bug Fixes

  • Include lint extras in setup-ci and setup-release
  • Use commit SHA URLs for badges to bypass Gitea cache
  • Make sync-wiki and vikunja depend on release

Refactor

  • Fully automate PR merge — no manual label/review needed
  • Require tea CLI everywhere, fail on missing Vikunja task
  • Separate GRM and CI translations with validation
  • Migrate from scripts/ to devx package

[0.6.1] - 2026-06-22

Bug Fixes

  • Badges always update on release commits + fix configure-repo PYTHONPATH
  • Enforce commit message convention on master with CI validation
  • Post-merge workflow failures (4 jobs)

[0.6.0] - 2026-06-22

Bug Fixes

  • Molecule-tests matrix runner-index renders as empty for 0
  • Use 1-based runner indices for Gitea Actions compatibility
  • Molecule-tests static matrix and role_dir path fix
  • Auto-merge label condition uses pull_request.labels
  • Revert review_pr.py to GiteaClient (tea v0.14.1 is interactive-only) (#70)

Revert

  • Remove v0.6.0 release (no user-facing changes)

[0.4.0] - 2026-06-21

Features

  • Replace inline workflow scripts with tested Python modules
  • User-friendly click errors with i18n in configure_repo
  • Bandit integration (#1)
  • Auto-delete branch after merge in configure_repo script
  • Add runner labels support and refactor i18n to JSON
  • Parallel molecule runner with kill-on-first-failure
  • Cross-runner molecule cancellation via Gitea API polling

Bug Fixes

  • Set runner_mode to binary in multi-instance converge
  • Skip systemd operations in lifecycle molecule when unavailable
  • Improve make setup with version guard, pre-push hooks and commit-msg validator
  • Enforce GRM-N: conventional on master commits and PR titles
  • Remove molecule tests from pre-push hooks
  • Resolve bandit security warnings in source code and tests
  • CI pipeline for rootless Docker runners
  • CI workflows for rootless runner compatibility
  • Vikunja task resolution pagination in post_merge.py
  • Use PUT instead of POST for Vikunja task comments
  • Parse pytest output with warnings in check_test_speed
  • Use systemd as container command for rootless molecule tests
  • Add Docker APT repository before installing docker-ce
  • Use deb822_repository for Docker APT repo (proper GPG handling)
  • Dearmor Docker GPG key with gpg --dearmor for apt_repository
  • Use bash for gpg dearmor (pipefail not available in sh)
  • Install curl, gpg, ca-certificates in molecule prepare
  • Separate apt update after adding Docker repo, use variable for repo string
  • Add apt source debug tasks, fix arch mapping for Docker repo
  • Fail-fast CI, write Docker apt source directly, fix arch mapping
  • Skip rootless Docker daemon startup in molecule tests
  • Gate all Docker-dependent tasks behind docker_rootless_setup
  • Catch TimeoutExpired in parallel runner wait loop
  • Stream molecule subprocess output to CI logs
  • Run molecule pairs sequentially within each CI runner
  • Guard all systemctl --user tasks with docker_rootless_setup
  • Guard handler systemctl --user calls with docker_rootless_setup
  • Make user_setup and download tasks idempotent
  • Use gnupg instead of gpg package name on Arch Linux
  • Add default(0) to gitea_runner_uid in environment blocks
  • Set runner_name in deregister verify.yml
  • Security, dead code, idempotence, and documentation cleanup

Refactor

  • Standardise pre-commit hooks on make targets
  • Use http.HTTPStatus constants instead of magic numbers
  • Rework all scripts to use click and i18n
  • (scripts) Centralize constants, API clients, and HTTP status codes
  • Rootless Docker, fix auto-merge, molecule platform matrix

[0.3.0] - 2026-06-19

Features

  • Add translated operation report for success and failure cases
  • Replace print() with stdlib logging module
  • Use click.echo() for user-facing messages with dual logging
  • Add colorized output for better visual feedback
  • Add --force flag to grm remove for unreachable runners
  • Make --ask-become-pass the default behavior

Bug Fixes

  • Eliminate duplicate console output, restore GRM_LOG_LEVEL filtering
  • Make grm list retrieve runner status correctly

Refactor

  • Deduplicate CLI, remove dead code, move validation to business layer
  • Resolve_runner returns gitea_url, add --url CLI option, force remove improvements, code quality fixes

[0.2.0] - 2026-06-18

Features

  • Parameterize all hardcoded configuration values as Ansible variables
  • Add GITEA_ADMIN_TOKEN support for integration test
  • Add AnsibleExecutor and i18n modules
  • Integrate AnsibleExecutor and i18n into CLI and RunnerManager
  • Add systemd template units and multi-instance Ansible support
  • Add lifecycle CLI commands and RunnerManager extensions
  • Add runner registry for simplified CLI UX

Bug Fixes

  • Resolve idempotence issues and testing infrastructure
  • Remove recursive variable definitions in install and update playbooks
  • Add timeout to runner registration to prevent indefinite hangs
  • Override Docker container entrypoint to bypass run.sh wrapper
  • Set Docker working dir to /data for .runner persistence
  • Make integration test conditional on admin API accessibility
  • Remove recursive var definitions from install-runner.yml
  • Convert runner config from TOML to YAML format
  • Rewrite integration test to verify .runner file and container health instead of unreliable API checks

Refactor

  • Remove dead code and legacy artifacts
  • Migrate source terminology from act_runner to gitea_runner
  • Consolidate systemd checks and deduplicate role structure

[0.1.0] - 2026-06-17

Features

  • Initial implementation of Gitea Runner Manager