DEVX-150: Mirror Ansible collections from Gitea registry with auth #255

Merged
emo merged 3 commits from DEVX-150-mirror-ansible-collections into master 2026-08-08 21:25:04 +00:00
Owner

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.
emil added 3 commits 2026-08-08 21:23:18 +00:00
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>
fix(i18n): add missing translation key for molecule destroy cleanup
CI / validate (pull_request) Successful in 1m9s
CI / auto-merge (pull_request) Successful in 34s
6907f121bd
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>
emo reviewed 2026-08-08 21:24:26 +00:00
emo left a comment
Owner

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.

## 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
emo left a comment
Owner

Auto-approved: all CI checks passed (validate job).

Auto-approved: all CI checks passed (validate job).
emo merged commit 30389ff3e7 into master 2026-08-08 21:25:04 +00:00
emo deleted branch DEVX-150-mirror-ansible-collections 2026-08-08 21:25:05 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: oblachno-oss/devx#255