|
1 |
| -# Contributing |
2 |
| - |
3 |
| -## Submitting an Issue |
4 |
| - |
5 |
| -Issues are tracked on GitHub (TODO). |
6 |
| - |
7 |
| -## Developing a new Feature Provider |
8 |
| - |
9 |
| -1. Create a new class file in `lib/cisco_node_utils/`. |
10 |
| -2. Write the class. |
11 |
| -3. Add the class to `lib/cisco_node_utils.rb`. |
12 |
| -4. Create a new minitest file in `tests/`. |
13 |
| -5. Write the minitest. We recommend subclassing the provided `CiscoTestCase` |
14 |
| - class as it provides numerous helper methods. |
15 |
| -6. Run the minitest. `ruby test_my_feature.rb -- <NX-OS node IP> <user> <pass>` |
16 |
| -7. Once minitest is passing, add the test to `tests/test_all_cisco.rb`. |
17 |
| -8. Run rubocop (`rake rubocop`) and fix any failures. |
18 |
| -9. Proceed to submit a pull request as described below. |
19 |
| - |
20 |
| -## Submitting a Pull Request |
21 |
| - |
22 |
| -1. Fork the code (https://github.com/cisco/cisco_node_utils/fork) (TODO) |
23 |
| -2. Create your feature branch (`git checkout -b my-new-feature`) |
24 |
| -3. Write your code |
25 |
| -4. Write minitest cases to cover your new code |
26 |
| -5. Verify that minitest passes in full (`ruby tests/test_all_cisco.rb -- |
27 |
| - n3k_test.mycompany.com username password`) |
28 |
| -6. Verify that rubocop also passes (`rake rubocop`). |
29 |
| -7. Commit your changes (`git commit -am 'Add some feature'`) |
30 |
| -8. Push to the branch (`git push origin my-new-feature`) |
31 |
| -9. Create a new Pull Request |
| 1 | +# How to contribute |
| 2 | +Cisco Network Elements support a rich set of features to make networks robust, efficient and secure. The GitHub project [cisco-network-puppet-module](https://github.com/cisco/cisco-network-puppet-module) defines a set of Puppet resource types and providers to manage the network element. Similarly, the GitHub project [cisco-network-chef-cookbook](https://github.com/cisco/cisco-network-chef-cookbook) defines a set of Chef resources and providers for network element management. The providers defined in these projects leverage a common set of Ruby API Objects defined in this project. This object set is expected to grow with contributions from Cisco, Cisco-Partners and third-party alike. Contributions to this project are welcome. To ensure code quality, contributors will be requested to follow few guidelines. |
| 3 | + |
| 4 | +## Getting Started |
| 5 | + |
| 6 | +* Create a [GitHub account](https://github.com/signup/free) |
| 7 | +* Create a [cisco.com](http://cisco.com) account if you need access to a Network Simulator to test your code. |
| 8 | + |
| 9 | +## Making Changes |
| 10 | + |
| 11 | +* Fork the repository |
| 12 | + * Pull a branch under the "develop" branch for your changes. |
| 13 | + * Follow all guidelines documented in [README-creating-node_utils-APIs](#README-creating-node_utils-APIs.md) |
| 14 | + * Make changes in your branch. |
| 15 | +* Testing |
| 16 | + * Create a minitest for new APIs or new functionality |
| 17 | + * Run all the tests to ensure there was no collateral damage to existing code |
| 18 | +* Committing |
| 19 | + * Check for unnecessary whitespace with `git diff --check` before committing. |
| 20 | + * Run `rubocop --lint` against all changed files. See [https://rubygems.org/gems/rubocop](https://rubygems.org/gems/rubocop) |
| 21 | + * Make sure your commit messages clearly describe the problem you are trying to solve and the proposed solution. |
| 22 | + |
| 23 | +## Submitting Changes |
| 24 | + |
| 25 | +* All contributions you submit to this project are voluntary and subject to the terms of the Apache 2.0 license |
| 26 | +* Submit a pull request to the repository |
| 27 | +* A core team consisting of Cisco and Cisco-Partner employees will looks at Pull Request and provide feedback. |
| 28 | +* After feedback has been given we expect responses within two weeks. After two weeks we may close the pull request if it isn't showing any activity. |
| 29 | + |
| 30 | +# Additional Resources |
| 31 | + |
| 32 | +* [General GitHub documentation](http://help.github.com/) |
| 33 | +* [GitHub pull request documentation](http://help.github.com/send-pull-requests/) |
0 commit comments