Your SlideShare is downloading. ×
Making your first contribution to Foreman
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Making your first contribution to Foreman

607
views

Published 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!

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
607
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
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