Submit your first pull request¶
Follow these steps prior to submitting your first pull request to cloud-init:
Setup Git and GitHub appropriately¶
Understanding how to use Git and GitHub is a prerequisite for contributing to cloud-init. Please refer to the GitHub quickstart documentation for more information.
Sign the CLA¶
To contribute to cloud-init, you must first sign the Canonical contributor license agreement (CLA). A check is run against every pull request to ensure that the CLA has been signed.
For any questions or help with the process, email
James Falcon with the subject:
“Cloud-init CLA”. You can also contact user falcojr
in the #cloud-init
channel on the Libera IRC network.
Create a sandbox environment¶
It is very often helpful to create a safe and sandboxed environment to test your changes in while you work. If you are not sure how to do this, check out our QEMU tutorial, which walks through this process step-by-step.
Format the code¶
Apply the black
and isort
formatting rules with tox:
tox -e do_format
Run unit tests¶
Run unit tests and lint/formatting checks with tox:
tox
Read our code review process¶
Once you have submitted your PR (if not earlier!) you will want to read the cloud-init Code Review Process, so you can understand how your changes will end up in cloud-init’s codebase.