AnsiblePilot — Master Ansible Automation

AnsiblePilot is the leading resource for learning Ansible automation, DevOps, and infrastructure as code. Browse over 1,400 tutorials covering Ansible modules, playbooks, roles, collections, and real-world examples. Whether you are a beginner or an experienced engineer, our step-by-step guides help you automate Linux, Windows, cloud, containers, and network infrastructure.

Popular Topics

About Luca Berton

Luca Berton is an Ansible automation expert, author of 8 Ansible books published by Apress and Leanpub including "Ansible for VMware by Examples" and "Ansible for Kubernetes by Example", and creator of the Ansible Pilot YouTube channel. He shares practical automation knowledge through tutorials, books, and video courses to help IT professionals and DevOps engineers master infrastructure automation.

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.

New CI Requirement for Ansible Collections: Testing Against Devel Branch (2026)

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 collection

For 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 issues

See 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 — Use continue-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 notification

Conclusion

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 guidecommunity.docker collection overviewAnsible Cron Module GuideAnsible privilege escalation patterns

Category: installation

Browse all Ansible tutorials · AnsiblePilot Home