kireto
49ad1868bc
DEVX-165: feat(ci): manifest-aware dependency PRs and cleanup protection
Post-merge / detect-and-configure (push) Successful in 15s
Post-merge / release-and-maintain (push) Successful in 1m24s
2026-09-19 02:48:24 +00:00
kireto
f15a8beb66
DEVX-167: feat(ci): verify producer container artifact before opening dependency PR
Post-merge / detect-and-configure (push) Successful in 10s
Post-merge / release-and-maintain (push) Successful in 1m15s
2026-09-19 02:43:55 +00:00
kireto
4ce25f16b2
DEVX-166: fix: create_dependency_pr clones target repo instead of editing producer checkout
Post-merge / detect-and-configure (push) Successful in 20s
Post-merge / release-and-maintain (push) Successful in 1m7s
2026-09-19 02:33:30 +00:00
kireto
9b90816be4
DEVX-164: fix(ci): retry Vikunja lookups and surface self-approval merge failures
Post-merge / detect-and-configure (push) Successful in 1m12s
Post-merge / release-and-maintain (push) Failing after 1m14s
2026-09-19 02:01:53 +00:00
kireto
b2ac1cd06c
DEVX-163: docs: add vikunja-tasks skill and skill validation tests, fix create-task docs
Post-merge / detect-and-configure (push) Successful in 9s
Post-merge / release-and-maintain (push) Successful in 41s
2026-09-18 22:47:32 +00:00
kireto
27ea8903eb
DEVX-162: fix: read Gitea repo-variable data field; fail closed on unknown nightly status
Post-merge / detect-and-configure (push) Successful in 2m9s
Post-merge / release-and-maintain (push) Successful in 1m30s
2026-09-17 09:41:36 +00:00
emil
c00e9e3d7b
DEVX-166: fix: exclude docs/plans/* from PR size check
...
Post-merge / detect-and-configure (push) Successful in 13s
Post-merge / release-and-maintain (push) Successful in 1m25s
Co-authored-by: emil User <emil.simeonov@tutanota.com >
2026-08-26 18:10:34 +00:00
emil
e96f63cb40
DEVX-165: fix: accept deps: as valid conventional commit type
...
Post-merge / detect-and-configure (push) Successful in 14s
Post-merge / release-and-maintain (push) Successful in 1m46s
Co-authored-by: emil User <emil.simeonov@tutanota.com >
2026-08-26 18:03:57 +00:00
kireto
149e8846b8
DEVX-163: fix: use stderr=STDOUT to capture all docker push output in one stream
Post-merge / detect-and-configure (push) Successful in 13s
Post-merge / release-and-maintain (push) Successful in 1m18s
2026-08-26 14:09:59 +00:00
kireto
62412755cb
DEVX-163: fix: check stdout for HTTP 500 in _run_push (docker sends to stdout)
Post-merge / release-and-maintain (push) Successful in 1m20s
Post-merge / detect-and-configure (push) Successful in 12s
2026-08-26 13:40:24 +00:00
kireto
2d7b4bdac3
DEVX-162: fix: serialize registry uploads and retry on HTTP 500
Post-merge / detect-and-configure (push) Successful in 12s
Post-merge / release-and-maintain (push) Successful in 1m22s
2026-08-26 13:12:45 +00:00
emil
34c7f3782c
DEVX-160: refactor: remove cross-repo contract tests from devx
...
Post-merge / detect-and-configure (push) Successful in 11s
Post-merge / release-and-maintain (push) Successful in 53s
Co-authored-by: emil User <emil.simeonov@tutanota.com >
2026-08-26 08:26:05 +00:00
emil
816f27ed7a
DEVX-159: fix: push-first strategy in build_image to avoid losing latest tag
...
Post-merge / detect-and-configure (push) Successful in 12s
Post-merge / release-and-maintain (push) Successful in 1m26s
Co-authored-by: emil User <emil.simeonov@tutanota.com >
2026-08-26 07:46:35 +00:00
emo
f94ce03a04
DEVX-158: fix: delete existing manifest before push (Gitea #31964 workaround)
...
Post-merge / release-and-maintain (push) Successful in 1m22s
Post-merge / detect-and-configure (push) Successful in 12s
Co-authored-by: emo <emo@oblachno.com >
2026-08-25 17:26:04 +00:00
emil
11c4a1fc9e
DEVX-155: Replace pr_review with spec-driven CI gates and pr-review skill
Post-merge / detect-and-configure (push) Failing after 18s
Post-merge / release-and-maintain (push) Skipped
2026-08-24 20:39:09 +00:00
emil and Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1dc27d6e4b
DEVX-155: fix: trust /var/run/docker.sock with free=0 when no inner dockerd exists
...
Post-merge / detect-and-configure (push) Successful in 1m38s
Post-merge / release-and-maintain (push) Failing after 2m20s
The host's rootless Docker socket is mounted as /var/run/docker.sock
inside CI containers. Its data root is on the host filesystem (not
accessible from inside the container), so _get_docker_free_bytes
returns 0. Previously the code didn't trust this and started a local
dockerd on /dev/shm (too small). Now checks pgrep for dockerd processes
— if none found inside the container, the socket is the host's Docker
and should be trusted.
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-15 02:29:55 +02:00
emil and Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
cdbee0a317
DEVX-155: fix: kill dockerd by PID when pkill fails, use /dev/shm for alive daemon
...
Post-merge / detect-and-configure (push) Canceled after 0s
Post-merge / release-and-maintain (push) Canceled after 0s
Add pgrep diagnostics before/after pkill to identify lingering dockerd
processes. If pkill fails and pgrep still finds dockerd, kill by PID
directly via os.kill. When inner dockerd can't be killed (still alive),
use /dev/shm as data root since the overlay is still full.
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-15 02:12:46 +02:00
emil and Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
3ac3e613e9
DEVX-155: fix: kill inner dockerd with SIGKILL, use alt socket if alive
...
Post-merge / detect-and-configure (push) Canceled after 0s
Post-merge / release-and-maintain (push) Canceled after 0s
The inner dockerd started by the CI image doesn't respond to SIGTERM.
Use pkill -9 to force-kill it, then verify it's actually dead by
running docker info. If the old daemon is still alive (can't be killed),
use /dev/shm/docker.sock as an alternate socket path to avoid conflicts.
Also moved the data root cleanup after the kill verification, so we
don't delete files while the old daemon might still be writing to them.
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-15 01:25:37 +02:00
emil and Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
a2d47b7efc
DEVX-155: fix: start local dockerd instead of using low-space inner dockerd
...
Post-merge / detect-and-configure (push) Canceled after 0s
Post-merge / release-and-maintain (push) Canceled after 0s
When no socket has sufficient space, don't fall back to the low-space
inner dockerd (which will fail on image pulls). Instead, kill the inner
dockerd, clean up its data root to free space, and start a local
dockerd on /dev/shm with vfs storage driver.
Also adds pkill of the inner dockerd and cleanup of its data root
(overlay2, image, volumes, containers) before starting the local
dockerd, to free up the 2.4GB used by the inner dockerd's data.
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-15 00:41:27 +02:00
emil and Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
0e25810b84
DEVX-155: fix: prefer /run/host-docker.sock over inner dockerd
...
Post-merge / detect-and-configure (push) Canceled after 0s
Post-merge / release-and-maintain (push) Canceled after 0s
The start_docker.py script was checking /var/run/docker.sock first,
which inside CI containers is an inner dockerd (v29.5.3) with data
root on the container's 38G overlay (often 100% full). When
_get_docker_free_bytes() returned 0 (data root path not accessible
from inside container), the script assumed it was the host Docker
with plenty of space and returned True immediately — without trying
the host's rootless Docker socket at /run/host-docker.sock.
Fix: try /run/host-docker.sock FIRST (before /var/run/docker.sock).
The host socket is mounted by the gitea runner config and has access
to the host's full filesystem (455G). Only trust free_bytes == 0
(= data root not accessible from container) for /run/host-docker.sock,
since the host's root dir is genuinely outside the container. For
other sockets (inner dockerd), free_bytes == 0 means the path doesn't
exist inside the container — don't trust it.
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-14 23:15:03 +02:00
emil and Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1470cdae27
DEVX-155: fix: use host Docker when root dir is inaccessible (free=0)
...
Post-merge / detect-and-configure (push) Canceled after 0s
Post-merge / release-and-maintain (push) Canceled after 0s
The CI container can't access the host Docker's data root
(/home/grm-ci-runner-X/.local/share/docker) to check disk space.
When free_bytes=0, the root dir is on the host filesystem (455G).
Always use host Docker in that case instead of starting a local
dockerd on the 16G /dev/shm tmpfs (which fills up with images).
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-14 21:15:23 +02:00
emil and Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
5e1337e524
DEVX-155: fix: use /dev/shm/docker.sock socket for local dockerd
...
Post-merge / detect-and-configure (push) Canceled after 0s
Post-merge / release-and-maintain (push) Canceled after 0s
The existing dockerd holds /var/run/docker.sock and can't be killed
from inside the container (different PID namespace). Use a new socket
path /dev/shm/docker.sock and data root /dev/shm/docker (16G tmpfs).
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-14 20:30:58 +02:00
emil and Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
c61e4b3cab
DEVX-155: fix: kill existing dockerd before starting /dev/shm/docker daemon
...
Post-merge / detect-and-configure (push) Canceled after 0s
Post-merge / release-and-maintain (push) Canceled after 0s
The CI container's pre-existing dockerd (v29.5.3) uses the default
data root on the 38G overlay (100% full). Kill it before starting
the new dockerd with --data-root /dev/shm/docker (16G tmpfs).
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-14 20:05:36 +02:00
gitea-actions-bot and Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
23bd480e80
DEVX-155: fix: prefer rootless Docker socket over low-space inner DinD daemon
...
Post-merge / detect-and-configure (push) Canceled after 0s
Post-merge / release-and-maintain (push) Canceled after 0s
When a CI container has an inner dockerd (DinD) writing to the
container's overlay (e.g. 38 GB), image pulls fail with ENOSPC.
start_docker.py now checks the daemon's free disk space and tries
rootless sockets (which have access to the host's full filesystem)
when the default socket has less than 20 GB free.
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-14 17:27:58 +02:00
emil
eeb291564d
DEVX-154: feat: add 5 standalone lint scripts from infra
...
Post-merge / detect-and-configure (push) Successful in 23s
Post-merge / release-and-maintain (push) Successful in 1m21s
Co-authored-by: emil User <emil.simeonov@tutanota.com >
2026-08-09 22:07:38 +00:00
emil
3d4b4940ff
DEVX-153: feat: sync missing features from v0.49.x line to master
...
Post-merge / detect-and-configure (push) Successful in 16s
Post-merge / release-and-maintain (push) Successful in 1m2s
Co-authored-by: emil User <emil.simeonov@tutanota.com >
2026-08-09 01:09:20 +00:00
emil
bd4530094e
DEVX-152: fix: remove dead translation keys and add missing one
...
Post-merge / detect-and-configure (push) Successful in 18s
Post-merge / release-and-maintain (push) Successful in 1m13s
Co-authored-by: emil User <emil.simeonov@tutanota.com >
2026-08-09 00:59:55 +00:00
emil
30389ff3e7
DEVX-150: feat(setup): mirror Ansible collections from Gitea registry with auth
...
Post-merge / detect-and-configure (push) Successful in 26s
Post-merge / release-and-maintain (push) Successful in 1m0s
Co-authored-by: emil User <emil.simeonov@tutanota.com >
2026-08-08 21:25:00 +00:00
kireto
ed3bd75367
DEVX-149: fix: unique molecule container names per CI runner
...
Post-merge / detect-and-configure (push) Successful in 30s
Post-merge / release-and-maintain (push) Successful in 2m22s
Co-authored-by: kireto <kireto@oblachno.com >
2026-08-05 19:01:54 +00:00
kireto
e35ee2d71a
DEVX-148: fix: unique molecule container names per CI runner
...
Post-merge / detect-and-configure (push) Successful in 28s
Post-merge / release-and-maintain (push) Successful in 3m42s
Co-authored-by: kireto <kireto@oblachno.com >
2026-08-03 22:57:58 +00:00
emil
9bb461e12f
DEVX-146: fix: scale check_test_speed limits on CI runners
...
Post-merge / detect-and-configure (push) Successful in 20s
Post-merge / release-and-maintain (push) Successful in 2m2s
Co-authored-by: emil User <emil.simeonov@tutanota.com >
2026-08-03 21:40:17 +00:00
emo
aa93e894a6
DEVX-1: fix: add User-Agent header to _download in install_tools
2026-08-03 14:40:51 +00:00
emil
d743ba93eb
DEVX-144: fix: bake promtool into ci-full image, add download timeout, speed up tests
Post-merge / release-and-maintain (push) Waiting to run
Post-merge / detect-and-configure (push) Waiting to run
2026-07-17 02:10:17 +00:00
emil
a02bf6d70e
DEVX-143: fix: add retry logic to TeaCLI for transient HTTP errors (502/503/504/429)
Post-merge / detect-and-configure (push) Waiting to run
Post-merge / release-and-maintain (push) Waiting to run
2026-07-17 00:44:27 +00:00
emil
a7a8637244
DEVX-142: fix: tea CLI login failure handling, error messages, release retry
Post-merge / detect-and-configure (push) Successful in 12s
Post-merge / release-and-maintain (push) Successful in 1m2s
2026-07-16 14:26:15 +00:00
emil
c62c560c85
DEVX-141: feat: add promtool to install_tools for alert rule validation
Post-merge / detect-and-configure (push) Successful in 14s
Post-merge / release-and-maintain (push) Successful in 1m5s
2026-07-14 23:18:29 +00:00
emil
d8ceb6c8a1
DEVX-140: feat: make check_test_isolation configurable via pyproject.toml
Post-merge / detect-and-configure (push) Successful in 17s
Post-merge / release-and-maintain (push) Successful in 1m9s
2026-07-14 16:29:31 +00:00
emil
ddfbdec956
DEVX-136: feat: add fix_pr_title module and update_pr API method
Post-merge / detect-and-configure (push) Successful in 12s
Post-merge / release-and-maintain (push) Successful in 1m0s
2026-07-13 23:55:11 +00:00
emil
02b27dd343
DEVX-134: feat: add I/O function isolation check and skip integration tests
Post-merge / detect-and-configure (push) Successful in 16s
Post-merge / release-and-maintain (push) Successful in 1m7s
2026-07-13 02:57:54 +00:00
emil
50dcb67083
DEVX-133: fix: auto-discover molecule root instead of hardcoding gitea-runner
Post-merge / detect-and-configure (push) Successful in 13s
Post-merge / release-and-maintain (push) Successful in 59s
2026-07-13 02:25:59 +00:00
emil
f44b321f37
DEVX-129: test: cover crypto.py line 37 (retry on leading dash)
Post-merge / detect-and-configure (push) Successful in 13s
Post-merge / release-and-maintain (push) Successful in 39s
2026-07-13 01:05:20 +00:00
emil
77c2f7e043
DEVX-129: feat: test isolation pytest plugin, shift-left quality gates, dep upgrades
Post-merge / detect-and-configure (push) Successful in 11s
Post-merge / release-and-maintain (push) Failing after 27s
2026-07-13 00:57:28 +00:00
emil
d035b620e0
DEVX-127: fix: fall back to CI token when reviewer self-approval is rejected
Post-merge / detect-and-configure (push) Successful in 17s
Post-merge / release-and-maintain (push) Successful in 1m25s
2026-07-12 16:33:53 +00:00
emil
cb84dae050
DEVX-126: ci: consolidate CI and post-merge workflows
Post-merge / detect-and-configure (push) Successful in 20s
Post-merge / release-and-maintain (push) Successful in 46s
2026-07-12 01:52:40 +00:00
emil
4cde7de696
DEVX-125: feat: detect double-prefix in Vikunja task title during pre-merge validation
Post-merge / detect-type (push) Successful in 8s
Post-merge / validate-commit-msg (push) Successful in 8s
Post-merge / sync-wiki (push) Successful in 21s
Post-merge / release (push) Successful in 30s
Post-merge / vikunja (push) Successful in 13s
Post-merge / configure-repo (push) Successful in 10s
Post-merge / publish (push) Successful in 19s
Post-merge / badges (push) Successful in 41s
2026-07-11 23:07:45 +00:00
emil
ef3b882e5b
DEVX-124: feat: extract shared utilities from infra and grm into devx
Post-merge / detect-type (push) Successful in 13s
Post-merge / validate-commit-msg (push) Successful in 10s
Post-merge / configure-repo (push) Successful in 28s
Post-merge / vikunja (push) Successful in 44s
Post-merge / sync-wiki (push) Successful in 58s
Post-merge / release (push) Successful in 1m7s
Post-merge / publish (push) Successful in 44s
Post-merge / badges (push) Successful in 1m6s
2026-07-09 11:51:50 +00:00
emil
0228fce5b9
DEVX-123: feat: introduce role-based Gitea API token environment variables
Post-merge / detect-type (push) Successful in 10s
Post-merge / validate-commit-msg (push) Successful in 10s
Post-merge / configure-repo (push) Successful in 11s
Post-merge / sync-wiki (push) Successful in 17s
Post-merge / vikunja (push) Successful in 18s
Post-merge / release (push) Successful in 36s
Post-merge / publish (push) Successful in 20s
Post-merge / badges (push) Successful in 35s
2026-07-08 19:30:10 +00:00
emil
ef08513bcf
DEVX-122: feat: consolidate docs checks into devx-docs-check target
Post-merge / detect-type (push) Successful in 19s
Post-merge / validate-commit-msg (push) Successful in 10s
Post-merge / vikunja (push) Successful in 24s
Post-merge / configure-repo (push) Successful in 25s
Post-merge / sync-wiki (push) Successful in 32s
Post-merge / release (push) Successful in 43s
Post-merge / publish (push) Successful in 21s
Post-merge / badges (push) Successful in 38s
2026-07-07 22:00:07 +00:00
emil
6a463a93d2
DEVX-121: fix: GiteaClient.set_repo_variable uses PUT instead of PATCH
Post-merge / detect-type (push) Successful in 9s
Post-merge / validate-commit-msg (push) Successful in 9s
Post-merge / vikunja (push) Successful in 22s
Post-merge / configure-repo (push) Successful in 17s
Post-merge / sync-wiki (push) Successful in 31s
Post-merge / release (push) Successful in 38s
Post-merge / publish (push) Successful in 23s
Post-merge / badges (push) Successful in 39s
2026-07-07 15:51:45 +00:00
emil
f98534ebe2
DEVX-119: feat: add GiteaClient repo variable methods and parallelize pytest-cov
Post-merge / detect-type (push) Successful in 12s
Post-merge / validate-commit-msg (push) Successful in 11s
Post-merge / configure-repo (push) Successful in 17s
Post-merge / vikunja (push) Successful in 23s
Post-merge / sync-wiki (push) Successful in 29s
Post-merge / release (push) Successful in 43s
Post-merge / publish (push) Successful in 23s
Post-merge / badges (push) Failing after 31s
2026-07-07 11:57:04 +00:00