New CI Requirement for Ansible Collections: Testing Against Devel Branch (2026)
By Luca Berton · Published 2024-01-01 · Category: installation
The Ansible community steering committee now requires all collections included in the Ansible community package to run CI tests against ansible-core devel.

Introduction
The Ansible community steering committee has introduced a new requirement for all collections included in the Ansible community package (the ansible pip package). Collection maintainers must now run CI tests against the devel or milestone branches of ansible-core.
This change helps detect compatibility issues and new linting requirements early, before they become blockers during Ansible package releases.
See also: ACTION REQUIRED: Ansible Collections Must Add CI Test Runs Against Devel Branch
What Changed
Previously, collections could test only against stable ansible-core releases. Now, to remain included in the Ansible community package, collections must test against the development branch.
The Requirement
You must implement one of the following:
Option 1: Test in Every Pull Request
Run tests against ansible-core devel or milestone branch in every PR.
# .github/workflows/ansible-test.yml
name: CI
on:
pull_request:
branches: [main]
jobs:
ansible-test:
runs-on: ubuntu-latest
strategy:
matrix:
ansible-core-version:
- stable-2.20
- devel
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install ansible-core
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible-core-version }}.tar.gz
- name: Run ansible-test
run: ansible-test sanity --docker -v
Option 2: Scheduled Weekly Tests
Run tests on a weekly schedule against devel or milestone only:
# .github/workflows/ansible-test-devel.yml
name: CI (devel)
on:
schedule:
- cron: '0 6 * * 1' # Every Monday at 6 AM UTC
jobs:
ansible-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install ansible-core devel
run: pip install https://github.com/ansible/ansible/archive/devel.tar.gz
- name: Run ansible-test
run: ansible-test sanity --docker -v
Why This Matters
For Collection Maintainers
• Early warning — Catch breaking changes in ansible-core before they reach stable • Smoother releases — Avoid last-minute scrambles when a new ansible-core version ships • Quality signal — Demonstrates active maintenance of your collectionFor the Ansible Community Package
• Fewer release delays — Collections are pre-validated against upcoming core changes • Better quality — Users get collections that work reliably with the latest ansible-core • Faster ansible-core releases — Less time spent chasing collection compatibility issuesSee also: Ansible 2.16.0: Major Enhancements and Updates
What Happens If You Don't Comply
Collections that do not test against devel or milestone will not be removed immediately. However: • This is now a package inclusion requirement • The removal process can be initiated with prior notification • Maintainers will be contacted before any action is taken
Getting Started
Using the Collection Template
The easiest way to add devel testing is to use the collection_template workflow:
# Copy the workflow to your collection
cp collection_template/.github/workflows/ansible-test.yml \
your-collection/.github/workflows/ansible-test.yml
Key ansible-test Commands
# Sanity tests (linting, import checks)
ansible-test sanity --docker -v
# Unit tests
ansible-test units --docker -v
# Integration tests (if applicable)
ansible-test integration --docker -v
See also: Ansible Bullhorn #223: ansible-core Releases, New Collections & AI Collaboration
Best Practices
Start with sanity tests — They catch the most common issues from core changes Allow devel failures initially — Usecontinue-on-error: true while stabilizing
Monitor weekly results — Set up notifications for scheduled test failures
Fix issues promptly — Devel failures today become stable failures tomorrow
Contribute upstream — If a core change breaks your collection, open an issue on ansible/ansible
Timeline
• March 26, 2026 — Requirement announced • Grace period — Collections not immediately removed • Future — Removal process may be initiated with prior notificationConclusion
This new CI requirement strengthens the Ansible ecosystem by ensuring collections stay compatible with upcoming ansible-core changes. If you maintain a collection in the Ansible community package, add devel or milestone testing to your CI pipeline now. The collection template provides ready-to-use GitHub Actions workflows to get started quickly.
Related Articles
• Ansible template guide • community.docker collection overview • Ansible Cron Module Guide • Ansible privilege escalation patternsCategory: installation