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

Closed
emil wants to merge 29 commits from DEVX-150-mirror-ansible-collections into master
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 28 commits 2026-08-08 21:16:25 +00:00
DEVX-145: feat: extract reusable components from infra and grm into devx
Post-merge / detect-and-configure (push) Successful in 12s
Post-merge / release-and-maintain (push) Successful in 1m19s
9f1bdc4cf1
Co-authored-by: oblachno Admin <admin@oblachno.oblachno.fyi>
Co-authored-by: oblachno Admin <admin@oblachno.oblachno.fyi>
Co-authored-by: oblachno Admin <admin@oblachno.oblachno.fyi>
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>
feat(setup): mirror Ansible collections from Gitea registry with auth
CI / validate (pull_request) Failing after 22s
CI / auto-merge (pull_request) Skipped
b9d660902b
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) Failing after 54s
CI / auto-merge (pull_request) Skipped
6f1220a4f1
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>
fix(api): use raw token for Vikunja Authorization header
CI / validate (pull_request) Failing after 1m11s
CI / auto-merge (pull_request) Skipped
60f33ce1dc
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>
revert: keep Bearer prefix for Vikunja Authorization header
CI / validate (pull_request) Failing after 57s
CI / auto-merge (pull_request) Skipped
9893f71fad
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>
chore: trigger CI rerun with updated VIKUNJA_TOKEN
CI / validate (pull_request) Failing after 59s
CI / auto-merge (pull_request) Skipped
0f18a69a6f
chore: trigger CI with updated VIKUNJA_TOKEN secret
CI / validate (pull_request) Failing after 48s
CI / auto-merge (pull_request) Skipped
40d4a3f477
emil changed title from DEVX-150: feat(setup): mirror Ansible collections from Gitea registry to DEVX-150: Mirror Ansible collections from Gitea registry with auth 2026-08-08 21:17:59 +00:00
kireto added 1 commit 2026-08-08 21:18:37 +00:00
chore: trigger CI with corrected PR title
CI / validate (pull_request) Successful in 1m9s
CI / auto-merge (pull_request) Failing after 20s
1ac999b3d2
emo reviewed 2026-08-08 21:19:45 +00:00
emo left a comment
Owner

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.

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

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

Auto-approved: all CI checks passed (validate job).
emil closed this pull request 2026-08-08 21:23:00 +00:00
emil deleted branch DEVX-150-mirror-ansible-collections 2026-08-08 21:23:00 +00:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: oblachno-oss/devx#253