Commit Graph
11 Commits
Author SHA1 Message Date
emil a7eb4d1a68 GRM-34: fix: install git-cliff to user-writable dir and fix archlinux idempotence 2026-06-21 13:18:54 +00:00
emil 1717d55013 GRM-32: fix: security, dead code, idempotence, and documentation cleanup
Post-merge Vikunja update / vikunja (push) Successful in 5s
CI / quality (push) Successful in 1m5s
CI / molecule-tests (0) (push) Successful in 18m37s
CI / molecule-tests (2) (push) Successful in 18m51s
CI / molecule-tests (1) (push) Successful in 19m6s
Publish Release / publish (push) Failing after 9s
2026-06-21 00:14:31 +00:00
Emil SimeonovandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> da86eb0e9d fix: skip rootless Docker daemon startup in molecule tests
CI / quality (pull_request) Successful in 1m5s
CI / molecule-tests (0) (pull_request) Failing after 2m39s
CI / molecule-tests (1) (pull_request) Failing after 2m44s
CI / molecule-tests (2) (pull_request) Failing after 3m7s
Rootless Docker requires newuidmap/newgidmap kernel support which
doesn't work in nested Docker containers (Operation not permitted).
Added docker_rootless_setup variable (default true) to skip the
daemon startup steps. Set to false in all molecule converge playbooks
so tests verify package installation, user creation, service file
rendering, and config without requiring a working rootless daemon.

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

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-20 22:37:31 +02:00
Emil SimeonovandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 084ea49523 fix: fail-fast CI, write Docker apt source directly, fix arch mapping
CI / molecule-tests (0) (pull_request) Failing after 2m32s
CI / molecule-tests (1) (pull_request) Failing after 2m52s
CI / quality (pull_request) Successful in 1m3s
CI / molecule-tests (2) (pull_request) Failing after 3m18s
Three changes:
1. CI: add set -e and fail-fast: true to stop on first molecule failure
   instead of continuing (all pairs fail for same reason anyway)
2. Docker APT repo: use copy module to write sources.list directly
   instead of apt_repository module which wasn't picking up the repo
3. Fix arch mapping: ansible_facts returns x86_64, Docker repo needs amd64

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

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-20 22:31:08 +02:00
Emil SimeonovandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 8af88efeb5 fix: add apt source debug tasks, fix arch mapping for Docker repo
CI / quality (pull_request) Successful in 1m2s
CI / molecule-tests (0) (pull_request) Failing after 1m59s
CI / molecule-tests (1) (pull_request) Failing after 2m23s
CI / molecule-tests (2) (pull_request) Failing after 2m32s
ansible_facts['architecture'] returns x86_64 but Docker APT repo
expects amd64. Added docker_apt_arch mapping. Also added debug tasks
to show apt sources and apt-cache search results for docker-ce.

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

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-20 22:24:02 +02:00
Emil SimeonovandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 36207be565 fix: separate apt update after adding Docker repo, use variable for repo string
CI / molecule-tests (1) (pull_request) Failing after 2m8s
CI / quality (pull_request) Successful in 1m6s
CI / molecule-tests (0) (pull_request) Failing after 2m3s
CI / molecule-tests (2) (pull_request) Failing after 1m57s
The apt_repository update_cache option wasn't reliably picking up the
new Docker APT repo. Split into separate apt update step. Also moved
the long repo string to a default variable to satisfy yaml line-length
lint rule.

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

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-20 22:15:28 +02:00
Emil SimeonovandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 119d70e137 fix: use bash for gpg dearmor (pipefail not available in sh)
CI / molecule-tests (0) (pull_request) Failing after 2m1s
CI / molecule-tests (2) (pull_request) Failing after 3m40s
CI / molecule-tests (1) (pull_request) Failing after 3m47s
CI / quality (pull_request) Successful in 1m3s
Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-20 21:57:24 +02:00
Emil SimeonovandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 74db5f28c7 fix: dearmor Docker GPG key with gpg --dearmor for apt_repository
CI / molecule-tests (2) (pull_request) Failing after 2m8s
CI / quality (pull_request) Successful in 1m3s
CI / molecule-tests (0) (pull_request) Failing after 1m59s
CI / molecule-tests (1) (pull_request) Failing after 2m25s
The deb822_repository module isn't available in the CI Ansible
collection. Reverted to apt_repository but now properly dearmors
the GPG key using gpg --dearmor before referencing it in signed-by.

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

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-20 21:46:33 +02:00
Emil SimeonovandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 8aa00c7091 fix: use deb822_repository for Docker APT repo (proper GPG handling)
CI / quality (pull_request) Successful in 1m4s
CI / molecule-tests (2) (pull_request) Failing after 2m20s
CI / molecule-tests (0) (pull_request) Failing after 2m3s
CI / molecule-tests (1) (pull_request) Failing after 2m6s
The apt_repository module with signed-by wasn't working because the
downloaded GPG key wasn't properly dearmored. The deb822_repository
module handles GPG key download and dearmoring automatically.

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

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-20 21:35:19 +02:00
Emil SimeonovandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 2a803c611b fix: add Docker APT repository before installing docker-ce
CI / quality (pull_request) Successful in 1m3s
CI / molecule-tests (2) (pull_request) Failing after 2m25s
CI / molecule-tests (0) (pull_request) Failing after 3m33s
CI / molecule-tests (1) (pull_request) Failing after 3m46s
The rootless_docker.yml task was trying to apt install docker-ce
without first adding the Docker APT repository, causing package not
found errors on Debian/Ubuntu containers.

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

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-20 21:23:54 +02:00
Emil SimeonovandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 55c2746569 refactor: rootless Docker, fix auto-merge, molecule platform matrix
CI / molecule-tests (0) (pull_request) Has been skipped
CI / molecule-tests (1) (pull_request) Has been skipped
CI / molecule-tests (2) (pull_request) Has been skipped
CI / quality (pull_request) Failing after 1m4s
Three major improvements:

1. Rootless Docker refactor: Removes docker/binary modes, unifies to
   rootless Docker with per-runner system users. Each runner gets its
   own rootless Docker daemon, systemd user service, and isolated
   environment. Simplifies CLI (removes --mode option), Ansible role
   (single code path), and molecule scenarios (removes binary scenario).

2. Auto-merge fix: Fixes status check context mismatch in branch
   protection (was requiring "lint", "unit-tests", "molecule-tests" but
   actual contexts are "CI / quality", "CI / molecule-tests*"). Adds
   retry/wait logic to auto_merge.py that polls commit statuses for up
   to 15 minutes before attempting merge, eliminating the chicken-and-egg
   problem where auto-merge would fail because CI hadn't completed yet.

3. Molecule platform matrix: Adds OS platform matrix to CI — all 6
   scenarios now run on all 4 supported OSes (ubuntu-2204, ubuntu-2404,
   debian-12, archlinux) = 24 test pairs distributed across 3 parallel
   runners. Updates distribute_molecule.py to distribute (scenario,
   platform) pairs. Updates Makefile with molecule-all target for
   local multi-platform testing.

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

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-20 21:02:52 +02:00