Thanks for using Triton and for considering contributing to it!
tl;dr:
- Some Triton repos use Joyent's Gerrit (https://cr.joyent.us) instead of GitHub pull requests (PRs). We are currently in the process of moving to using GitHub PRs. Until that move is complete, if the repo is listed at https://cr.joyent.us/#/admin/projects/ then it is still using Gerrit.
- Triton repos use both GitHub issues and internal-to-Joyent Jira projects for issue tracking.
All changes to Triton project repositories go through code review. Currently that is via one of the following:
-
Joyent's Gerrit at cr.joyent.us, if the repo is listed at https://cr.joyent.us/#/admin/projects/. Any registered GitHub user can submit changes through this system. If you want to contribute a change, please see the Joyent Gerrit user guide.
-
GitHub PRs, at the usual place on each repo.
If you're making a substantial change, you probably want to contact developers on the mailing list or IRC first. If you have any trouble with the contribution process, please feel free to contact developers on the mailing list or IRC. Note that larger Triton project changes are typically designed and discussed via "Requests for Discussion (RFDs)".
Triton repositories use the Joyent Engineering Guidelines. Notably:
- The #master branch should be first-customer-ship (FCS) quality at all times. Don't push anything until it's tested.
- All repositories should be "make check" clean at all times.
- All repositories should have tests that run cleanly at all times.
There are two separate issue trackers that are relevant for Triton code:
-
An internal-to-Joyent JIRA instance.
A JIRA ticket has an ID like
IMGAPI-536
, where "IMGAPI" is the JIRA project name -- in this case used by the sdc-imgapi and related repos. A read-only view of most JIRA tickets is made available at https://smartos.org/bugview/ (e.g. https://smartos.org/bugview/IMGAPI-536). -
GitHub issues for the relevant repo, e.g. https://github.com/joyent/triton/issues.
Before Triton was open sourced, Joyent engineering used a private JIRA instance. While Joyent continues to use JIRA internally, we also use GitHub issues for tracking -- primarily to allow interaction with those without access to JIRA.