Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Contributing to Ember

Contributing to Ember

Confused about how the release process works? Curious what the heck feature flags are? Wondering which commit prefix you should use for your latest pull request? This talk answers these questions (and many more).

It includes insights into the release process, feature flagging, the build process, which commit prefixes to use, and how to create custom builds with features enabled by default.

Robert Jackson

March 25, 2014
Tweet

More Decks by Robert Jackson

Other Decks in Programming

Transcript

  1. Who the heck is this guy? • Ember Release Management

    Team • Frequent Ember.js Contributor • General OSS addict twitter: rwjblue github: rjackson
  2. Why is Ember Awesome? • Community • We need your

    ideas/contributions! • Current at 330+ Contributors
  3. Okay, how can I help? • Fix / Cleanup documentation

    • Report and/or Fix Bugs you Find • Submit new features
  4. Commit Prefix - Docs • `[DOC] Fixed typo in blah.`

    • `[DOC beta] Fixed typo in blah.` • `[DOC release] Fixed typo in blah.`
  5. Its messed up, lemme fix it • Add test showing

    regression • Fix issue • Prefix commit
  6. Commit Prefix - Bug-fixes • `[FEATURE ember-metal-zomg] Fix blah` •

    `[BUGFIX beta] Fix dummy` • Only severe regressions will be pulled into release channel.
  7. Unless its a security vuln... • Email [email protected] • Work

    with the Core Team on a fix • Read the full policy at: emberjs.com/security
  8. Huh, what are features? • New API’s • Backwards compat

    changes to API’s • Hidden behind a feature flag
  9. What does this mean? `true` `false` `null` Enable & remove

    flags Disable & remove Disable & leave
  10. Awesome, how do I do it? EmberENV = { FEATURES:

    { 'query-params-new': true } };
  11. How can I contribute one? • Add to features.json (null

    value) • Add to FEATURES.md • Hide changes behind flags • Good tests (also behind flags) • Prefix commit
  12. Add to features.json • Add as last line • Set

    value to `null` • Rebase on EVERY change
  13. Add to FEATURES.md Add an entry with a clear description.

    Include PR link for further reading.
  14. Commit Prefix - Recap [DOC channel] Message. [BUGFIX channel] Message.

    [FEATURE feature-name] [SECURITY CVE-111-1111]
  15. [BUGFIX channel] • Use for bug-fixes (duh). • Target affected

    channel • Only severe bugs will warrant new tag/release.