Making your first contribution to Foreman

  • 576 views
Uploaded on

Have you fixed a bug in Foreman, but not got the patch accepted? Perhaps you know where a bug is happening, but aren't sure how to fix it. In this session, we'll help you through the process and get …

Have you fixed a bug in Foreman, but not got the patch accepted? Perhaps you know where a bug is happening, but aren't sure how to fix it. In this session, we'll help you through the process and get your first patch accepted!

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
576
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
5
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Making your first contribution to Foreman Dominic Cleal dcleal@redhat.com 4th February 2014
  • 2. Agenda ● Managing issues ● Your development environment ● Crafting your patch ● Submitting the pull request ● Review and test process ● Hack! Contributing | 2 | Dominic Cleal
  • 3. What can you contribute to? ● Code fixes, features: Foreman, proxy, SELinux ● Translations on Transifex ● Packaging in foreman-packaging ● Puppet installer in foreman-installer, puppet-* ● ● User support on #theforeman and foremanusers Redmine issue triage and cleanups Contributing | 3 | Dominic Cleal
  • 4. Tracking issues ● Foreman and related projects all use Redmine http://projects.theforeman.org ● ● Look for “Projects”, then “Foreman” Saved search on the right hand side for easy and trivial issues Contributing | 4 | Dominic Cleal
  • 5. Development environment ● Use a separate Ruby environment ● rvm or rbenv highly recommended ● Use a “gemset” or equivalent to isolate ● Use “bundle install” to install all dependencies ● Run “rake test” to run all tests ● Installer can be tested with rspec-puppet, or directly on a VM Contributing | 5 | Dominic Cleal
  • 6. Crafting your patch ● Basic git workflow – GitHub help pages are good, e.g. https://help.github.com/articles/fork-a-repo ● git clone https://github.com/theforeman/foreman ● git pull upstream develop ● git checkout -b 1234-foo-bar ● git commit -a – ● “fixes #1234 – changed foo to handle bar condition” git push origin Contributing | 6 | Dominic Cleal
  • 7. Submitting a pull request ● ● ● When a branch is pushed to GitHub, you can open a pull request from your fork page Pull requests will get reviewed by a core maintainer Tests will be executed for all Ruby/databases Contributing | 7 | Dominic Cleal
  • 8. Hack time! Contributing | 8 | Dominic Cleal
  • 9. What to work on today ● Foreman core – #2954: fix welcome text to aid translation – #3163: add a link to “welcome” page – #1618: fix wording of report time drift (patch) – #3767: add “new host” menu item – #3685: change element sizes on VM form – #1916: sorting of subnets in view Contributing | 9 | Dominic Cleal
  • 10. What to work on today #2 ● Foreman installer (Puppet) – – #3308: installer plugin support – ● #2702: consistent “common” module path #3185: refresh proxy features in installer Website – ● #3132: document installer git repo support Hammer CLI – #4129: error thrown on sc_param command – #4131: OS info command missing attributes Contributing | 10 | Dominic Cleal