Skip to main content

Radically simple IT automation -- For EnOSlib !

Project description

enoslib-ansible repackages ansible (GPLv3) exclusively tailored for the EnOSlib project.

The rationale behind this is that ansible includes too much collections with regards to what is actually needed by the EnOSlib users.

Versionning

We follow the versionning numbers of the ansible package but we append an internal revision number. So for instance enoslib-ansible==7.5.0.1 repackages the same version of a subset of collections from ansible==7.5.0.

Each major version is kept in dedicated branch: for instance ansible_6 for repackaging ansible~=6.

Building

python setup.py bdist_wheel

How to add a new collection

Main branch

First, work in the main branch.

  • Add the collection as a submodule:

git submodule add https://github.com/ansible-collections/ansible.utils ansible_collections/ansible/utils

This will register the collection with its latest commit, but don’t worry, we will specify a tag in a later step.

  • Edit setup.py to add the new collection to exclude_package_data (copy-paste existing ones)

  • Don’t bump the version in setup.py, otherwise you will have trouble cherry-picking later

  • Test that the package can be built:

python setup.py bdist_wheel
  • Commit your changes

Release branches

Then for each version of Ansible we support (ansible_X branches):

  • git checkout ansible_X

  • Cherry-pick the commit from the master branch (with -x to track the source):

git cherry-pick -x a0b1c2d3e4f5
  • Lookup which version of the collection should be included using ansible-build-data.

    • Tip: use git grep ansible.utils '*.deps' in the ansible-build-data repository

    • In general, use the latest minor version for the ansible version you target (e.g. ansible-7.7.0 for ansible_7)

    • For our example of ansible.utils, the result is 2.10.3

  • Update the submodule to the right tag:

(cd ansible_collections/ansible/posix/ && git checkout vX.Y.Z)
  • Commit the change to the submodule

  • Bump version in setup.py: if there already was a release for the same Ansible version (e.g. 7.7.0.0), increase the fourth component (e.g. 7.7.0.1). Otherwise, just use the Ansible version with an additional 0.

  • Commit the version bump

  • Publish pip package: git tag vX.Y.Z.N and push, the CI will do the rest

Troubleshooting

If you are annoyed by local changes when changing branches, use git submodule update.

More info

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

enoslib_ansible-8.7.0.0-py3-none-any.whl (3.4 MB view details)

Uploaded Python 3

File details

Details for the file enoslib_ansible-8.7.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for enoslib_ansible-8.7.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6d62d64680ccee9a2a52551fe657ee51a5098ddd0d0893f2ab318ffb15fefd61
MD5 8f64e5710b05036ecd8c10e4c808e46e
BLAKE2b-256 d21f95d3ce2e38b51e034834faf6d8e219e77081563e565a8ee5d3f54b1f08d5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page