Things you should do if you are a Clojure Contrib committer:
- maintain your library and respond to questions/issues that arise
- do your work on the master branch, or (if you are working on a significant chunk you want to keep temporarily separate) on a feature-specific branch that you create yourself.
- coordinate with other committers before making changes to their libraries
- accept contributions from others only if they have signed the CA (see http://clojure.org/contributing for the list) and if they submit a patch.
Things to avoid:
- please do not push to the release branches (names like 1.2.x). The Clojure/core team uses these to make the official, tested release.
- do not take non-contributor patches
- please do not take pull requests from contributors. Patches only. Yes, it is inconvenient. Sorry.
Here's the process outline for what it takes to become a committer:
- Get your CA on file
- Join the clojure-dev mailing list
- Create a JIRA account
- Create a Confluence account as well if necessary (with the same login details; in theory they are linked and creating one should create the other but it practice it doesn't seem to work all the time)
- Let Clojure/core know your github username and JIRA username so they can set up the correct permissions
- Clojure/core need to create your account on build.clojure.org as well - see below
Setting up a new contrib repo on github (thanks to Fogus for documenting this; requires Clojure organization admin privileges):
- Create a new GitHub repo
- Specify project name (must be approved by Clojure/core)
- Specify description
- Team: Contrib Commit
- Add Post-Receive URL Service Hook:
CA, clojure-dev ML, JIRA, Confluence, build.clojure.org
# How I set up core.cache
* Create a new GitHub Repo
** Project Name: core.cache
** Description: A caching library for Clojure implementing various cache strategies
** Team: Contrib Commit
** Add Post-Receive URL Service Hook: http://infolace.dnsalias.net:8080/github-post (for autodoc)
** Disable Issues tab
* Create a new Jira Project
** Name: core.cache
** Key: CCACHE
** Project Lead: Fogus
> Normally Stuart Sierra deals with build.ci but I notice that the
> contrib group has push permission to that repo. Would it help
> Clojure/core if we (contrib group members) updated ci_data.clj when a
> new contrib library appeared?
Yes, please. Just follow the format in the rest of that file. I've
already done it for core.memoize and core.cache.
There are 3 more step after that, which require an admin account in
Hudson:
1. Create a user account on Hudson if needed
2. Run the build.ci Hudson job
3. Force Hudson to reload its configuration files