Making your first
contribution to Foreman
Dominic Cleal
dcleal@redhat.com
4th February 2014
Agenda
●

Managing issues

●

Your development environment

●

Crafting your patch

●

Submitting the pull request

●

Rev...
What can you contribute to?
●

Code fixes, features: Foreman, proxy, SELinux

●

Translations on Transifex

●

Packaging i...
Tracking issues
●

Foreman and related projects all use Redmine

http://projects.theforeman.org
●
●

Look for “Projects”, ...
Development environment
●

Use a separate Ruby environment

●

rvm or rbenv highly recommended

●

Use a “gemset” or equiv...
Crafting your patch
●

Basic git workflow
–

GitHub help pages are good, e.g.
https://help.github.com/articles/fork-a-repo...
Submitting a pull request
●

●

●

When a branch is pushed to GitHub, you can
open a pull request from your fork page
Pull...
Hack time!

Contributing | 8 | Dominic Cleal
What to work on today
●

Foreman core
–

#2954: fix welcome text to aid translation

–

#3163: add a link to “welcome” pag...
What to work on today #2
●

Foreman installer (Puppet)
–
–

#3308: installer plugin support

–
●

#2702: consistent “commo...
Upcoming SlideShare
Loading in …5
×

Making your first contribution to Foreman

1,191 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 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
1,191
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Making your first contribution to Foreman

  1. 1. Making your first contribution to Foreman Dominic Cleal dcleal@redhat.com 4th February 2014
  2. 2. Agenda ● Managing issues ● Your development environment ● Crafting your patch ● Submitting the pull request ● Review and test process ● Hack! Contributing | 2 | Dominic Cleal
  3. 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. 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. 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. 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. 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. 8. Hack time! Contributing | 8 | Dominic Cleal
  9. 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. 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

×