Add _try_gitea_mirror_install() to devx setup.py to download Ansible collection tarballs from the Gitea package registry with token auth, then install offline. Falls back to galaxy.ansible.com if no token or mirror download fails. Also fix missing translation key and molecule destroy cleanup.
Add _try_gitea_mirror_install() to devx setup.py to download Ansible collection tarballs from the Gitea package registry with token auth, then install offline. Falls back to galaxy.ansible.com if no token or mirror download fails. Also fix missing translation key and molecule destroy cleanup.
When a molecule test fails or is interrupted (cross-runner cancellation
or KeyboardInterrupt), the test containers are left running because the
final 'destroy' step in the molecule test sequence never executes.
These stale containers accumulate on runner hosts, consuming disk and
memory, causing CI test speed variance.
Added molecule destroy cleanup in all three exit paths:
- Test failure (non-zero exit code)
- Cross-runner cancellation (failed_event)
- KeyboardInterrupt
The destroy command uses the same cwd and env as the test run, with a
120s timeout and suppressed errors (best-effort cleanup).
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
ansible-galaxy type: url doesn't support auth headers, and Gitea's
package API requires authentication even for public orgs. Add
_try_gitea_mirror_install() which downloads type: url tarballs from
the Gitea package registry with token auth, then installs from local
files with --offline. Falls back to direct galaxy.ansible.com install
if no token is available or mirror download fails.
This prevents transient "read operation timed out" failures from
galaxy.ansible.com that were causing CI molecule-tests to fail.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Add 'Cleaning up: running molecule destroy for {scenario}' to
translations.json with proper translations for all 6 languages
(bg, de, en, pl, ru, zh). This key was introduced in d8919ae but
the translation entry was missing, causing CI lint to fail.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Vikunja's API expects the raw API token in the Authorization header
without the "Bearer" prefix. Using "Bearer <token>" causes HTTP 401
errors, which broke the auto-merge preconditions check in CI.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
The Bearer prefix is correct for Vikunja's API. The CI 401 error is
caused by an expired VIKUNJA_TOKEN secret, not the header format.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
emil
changed title from DEVX-150: feat(setup): mirror Ansible collections from Gitea registry to DEVX-150: Mirror Ansible collections from Gitea registry with auth2026-08-08 21:17:59 +00:00
Tests: WARNING — source files changed but no test files updated
Commit conventions: OK
No issues found by automated checks.
Auto-merge: If all CI checks pass, this PR will be merged automatically.
## Automated PR Review
- Architecture compliance: OK
- Best practices: OK
- Security: OK
- i18n: OK
- Resource management: OK
- Documentation: OK
- Tests: WARNING — source files changed but no test files updated
- Commit conventions: OK
No issues found by automated checks.
---
**Auto-merge:** If all CI checks pass, this PR will be merged automatically.
emo
approved these changes 2026-08-08 21:20:03 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Add _try_gitea_mirror_install() to devx setup.py to download Ansible collection tarballs from the Gitea package registry with token auth, then install offline. Falls back to galaxy.ansible.com if no token or mirror download fails. Also fix missing translation key and molecule destroy cleanup.
Add 'Cleaning up: running molecule destroy for {scenario}' to translations.json with proper translations for all 6 languages (bg, de, en, pl, ru, zh). This key was introduced ind8919aebut the translation entry was missing, causing CI lint to fail. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>DEVX-150: feat(setup): mirror Ansible collections from Gitea registryto DEVX-150: Mirror Ansible collections from Gitea registry with authAutomated PR Review
No issues found by automated checks.
Auto-merge: If all CI checks pass, this PR will be merged automatically.
Auto-approved: all CI checks passed (validate job).
Pull request closed