Files
grm/CHANGELOG.md
T
2026-07-12 01:14:36 +00:00

11 KiB

Changelog

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

[0.18.0] - 2026-07-12

Features

  • (runner) Enable IPv6 in rootless Docker via pasta network driver

[0.17.2] - 2026-07-11

Refactor

  • Adopt devx v0.40.0

[0.17.1] - 2026-07-09

Bug Fixes

  • Disable IPv6 in rootless Docker daemon on runners

[0.17.0] - 2026-07-08

Features

  • Bump devx to 0.38.0 and migrate to role-based Gitea tokens

[0.16.0] - 2026-07-07

Features

  • Consolidate docs checks into devx-docs-check target

Bug Fixes

  • Replace --strict with --verify for sync_wiki

[0.15.0] - 2026-07-06

Features

  • Adopt documentation-as-code enhancements from devx

[0.14.4] - 2026-07-06

Refactor

  • Remove project-specific references from grm

[0.14.3] - 2026-07-06

Refactor

  • Rename PyPI package from gitea-runner-manager to grm

[0.14.2] - 2026-07-05

Bug Fixes

  • Add pre-commit hooks for quality gates matching CI

[0.14.1] - 2026-07-01

Refactor

  • Align venv management to devx.mak targets

[0.14.0] - 2026-07-01

Features

  • Bump devx to v0.30.0

[0.13.0] - 2026-07-01

Features

  • Bump devx to v0.29.1, upgrade molecule, ubuntu 26.04

[0.12.5] - 2026-06-30

Bug Fixes

  • Right-size molecule-tests matrix to [1-6]
  • Cast disk threshold to string in template-content verify assertion

[0.12.4] - 2026-06-29

Bug Fixes

  • Use hardcoded matrix array for Gitea 1.26 compatibility

[0.12.3] - 2026-06-29

Bug Fixes

  • Fix wiki link URLs, heading hierarchy, quote pip install vars
  • Improve runner service stability and deregistration

[0.12.2] - 2026-06-28

Bug Fixes

  • Bump devx to 0.26.3 (latest with pinned deps)

[0.12.1] - 2026-06-28

Bug Fixes

  • Add approval step to auto-merge workflow using REVIEW_GITEA_TOKEN

[0.12.0] - 2026-06-28

Features

  • Upgrade all dependencies, add trigger-workflow command

[0.11.1] - 2026-06-28

Bug Fixes

  • Makefile HOST/NAME requirement errors, add restart and list targets

[0.11.0] - 2026-06-28

Features

  • Unified --become-password-file, --verbose, --no-status, labels fix

[0.10.3] - 2026-06-27

Bug Fixes

  • Install hadolint on-the-fly in setup-image
  • Revert EXTRAS=ci default in setup-image
  • Add EXTRAS=ci to all setup-image calls, workflow-level CI_GITEA_TOKEN

Refactor

  • Remove hadolint on-the-fly install workaround
  • Use devx Makefile aliases, bump devx>=0.23.0

[0.10.2] - 2026-06-27

Bug Fixes

  • Setup-image configures Gitea PyPI registry and shows pip errors
  • Gate auto-merge on release-dry-run and unmask failures
  • Bump devx>=0.22.0 and remove REPO_TOKEN alias

Refactor

  • Rename REPO_TOKEN to CI_GITEA_TOKEN, consolidate env vars

[0.10.1] - 2026-06-27

Bug Fixes

  • Set PYTHONPATH=src in publish Install CI tools step

Refactor

  • Replace duplicated Makefile targets with devx.mak aliases
  • Consolidate publish.yml into post-merge.yml

[0.10.0] - 2026-06-26

Features

  • Adopt devx tools, devx.mak fragment, ci extra, remove legacy install-devx

Bug Fixes

  • Always run publish in post-merge (idempotent)

[0.9.0] - 2026-06-24

Features

  • Adopt devx v0.11.1 across Makefile and workflows
  • Add Polish as officially supported language

[0.8.1] - 2026-06-24

Bug Fixes

  • Repair publish workflow and add publish step to post-merge
  • Add build/twine to ci deps, activate venv in notify_failure

[0.8.0] - 2026-06-24

Features

  • Remove .taskid file, use branch name only for task ID

Bug Fixes

  • Add workflow_dispatch to publish workflow and update devx to 0.9.12

[0.7.0] - 2026-06-24

Features

  • Switch devx installation from git to Gitea PyPI registry
  • Adopt per-test timing quality gate from devx 0.7.0

Bug Fixes

  • Update devx to v0.4.2 and fix workflow env vars
  • Pin devx to v0.4.3 to fix post-merge workflow failures
  • Pin devx to v0.4.4 to fix validate-commit-msg and sync-wiki
  • Rewrite CHANGELOG with correct version ordering and missing sections
  • Lower test speed threshold to 4s and update devx to v0.8.2
  • Retrospective fixes for CI/CD friction
  • Replace stale badge SHA URLs with raw/branch/badges/

[0.6.4] - 2026-06-22

Bug Fixes

  • Update devx to v0.4.2 and fix workflow env vars
  • Pin devx to v0.4.3 to fix post-merge workflow failures
  • Pin devx to v0.4.4 to fix validate-commit-msg and sync-wiki

[0.6.3] - 2026-06-22

Bug Fixes

  • Add scripts/** to infrastructure classification config

[0.6.2] - 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
  • Pin devx to v0.4.0, fix cliff.toml preprocessor, bump to v0.7.0

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.5.0] - 2026-06-22

Features

  • Enforce commit naming conventions and workflow discipline

Bug Fixes

  • Clean up infrastructure-only releases and fix release classification
  • Rewrite changelog and re-tag releases at user-facing milestones

[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
  • Use content_base64 for Gitea wiki API, add --verify flag (#33)
  • Wiki links, add --strict integrity check for wiki sync (#34)

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.2] - 2026-06-21

Features

  • Smart CI and release skipping for workflow-only changes

Bug Fixes

  • Set PYTHONPATH=. for release.py to find scripts.ci module (#32)

Refactor

  • Split CI scripts, fix release PYTHONPATH, dynamic runner discovery

[0.3.1] - 2026-06-21

Bug Fixes

  • Use correct Gitea 1.26 wiki API endpoints

[0.3.0] - 2026-06-21

Features

  • Implement documentation-as-code with wiki sync and doc-coverage

[0.2.2] - 2026-06-21

Bug Fixes

  • Bypass commit-msg hook for release commits
  • Enforce tests pass before tagging a release

[0.2.1] - 2026-06-21

Bug Fixes

  • Strip git-cliff header from CHANGELOG.md updates

[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
  • 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

  • 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
  • Eliminate duplicate console output, restore GRM_LOG_LEVEL filtering
  • Make grm list retrieve runner status correctly

Refactor

  • Remove dead code and legacy artifacts
  • Migrate source terminology from act_runner to gitea_runner
  • Consolidate systemd checks and deduplicate role structure
  • 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.1.0] - 2026-06-17

Features

  • Initial implementation of Gitea Runner Manager