Submitters: Help getting Pull Requests quickly in

We have many valuable contributions in code and design for Plone.

A contribution in form of a Pull Request has only value if it is complete.

Pull Request merging is some work. Mostly unpaid work done by a few core-developers.

To make this work easy for the people merging them, please help us doing some basic tasks on your own:

Changelog

Always log your changes in the CHANGES.rst (or similar file). Even if its a very small change. No merge without change log.

Labels

You should label it with one or more labels - this is just a click at GitHub.

Please decide if

  • its is a bug fix, then label with 01 type: bug or -
  • if it is an enhancement, then use 04 type: enhancement
  • If a Pull Request is not meant to be merged yet, so work is needed, use 22 status: in-progress
  • if tests are currently running use 23 status: testing
  • if tests passed and all is fine from your point of view, a review is needed, set label 32 needs: review
  • if all tests are passing and all is green use 24 status: ready

Do not forget to re-label after changes!

Running Tests
You can always start a Jenkins test-job on your own to test that your pull request (PR) does not break anything.
Starting the tests on jenkins.plone.org is the submitters job. Please start them, its dumb easy and its documented:
http://jenkinsploneorg.readthedocs.io/en/latest/run-pull-request-jobs.html

In short the process is like so:

  • On your Pull Request click on the link to Jenkins

  • log in with your Github user - if not already done before.

  • Paste the full pull request URL into the text field (if multiple pull requests need to be combined in one run, then one PR URL per line)

  • Click on Build

  • Jenkins reports back to the pull request(s) on Github in the status box at the bottom.

In Plone we value a lot our testing suite, so we usually never merge pull requests if they have not been tested by Jenkins first.

Thanks!

5 Likes

What is protocol for merging pull requests once all checks are passed? Ask another party to merge? Merge yourself (if change is just a small fix [1] and backward-compatible)?

Also, who edits respective checkouts.cfg after pull request is merged? Author or party merging?

Sean

[1] Example of small fix: https://github.com/plone/Products.Archetypes/pull/60 is a form tabbing compatibility fix for Plone 4 sites using plone.app.widgets 1.x (this is already a non-issue for plone.app.z3cform/dexterity on Plone 4 sites using widgets, but was broken for Archetypes).

Please always ask. Even if it's simple there's always a chance for improvement or typos that CI won't catch. Usually PRs are merged quickly. You can add a note or mark someone if you need more speed.

mr.roboto has been doing this for a few months now, once it detects any commits on master.