Bigtop Patch Process
For consistency, we should use the following process for managing our proposed contributions to the upstream Apache Bigtop project:
-
Create a Jira ticket with the description of the problem. The priority should be
Minorfor most things, and onlyMajorif it is fixing a bug that prevents something from working as expected. The component should bedeploymentfor new charms or bundles, as well as for changes to the puppet manifests. -
Create branch in the juju-solutions/bigtop fork named
[bug|feature]/BIGTOP-XXXX/description, whereXXXXis the Jira ticket number, e.g. bug/BIGTOP-2548/xenial-charm-refresh. -
Commit the change with a commit message of the form
BIGTOP-XXXX: message. NOTE:messagemust match the title of your JIRA ticket. Then push it to the branch you created above. E.g. cc3eb9d. -
Open a pull request from your branch to the upstream Apache Bigtop repository, e.g. PR 148. Again, ensure the PR title exactly matches the title of your Jira ticket prefixed by the
BIGTOP-XXXXticket number. -
Refresh your Jira ticket. You should see your GitHub PR linked to the ticket. You should also see a comment by ASF GitHub Bot with information about the PR which includes a link to the PR's patch file, which is the PR URL with
.patchappended to it. For example, BIGTOP-2469 contains a link to https://github.com/apache/bigtop/pull/113.patch. Once you do, click the Submit Patch button in the ticket to inform committers that this ticket has a Patch Available. -
Commit the patch file to the master branch of the
layer-apache-bigtop-baserepository alongside the other patches using theBIGTOP-XXXX.patchnaming convention. This step ensures your patch is used during the nextcharm build, regardless of when the fix is committed upstream.
If changes need to be made in the patch, make sure that you use git commit --amend so that the branch only has a single commit with the correct patch and then git push --force to replace the previous commit with the new one.