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>
Documentation: WARNING — source files changed but no docs updated
Tests: OK
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: WARNING — source files changed but no docs updated
- Tests: OK
- 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:24:56 +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>Automated 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).