We are open to, and grateful for, any contributions made by the community. By contributing to Nova, you agree to abide by the Code of Conduct.
Here's what you need to know to get started:
-
Make sure to create an Issue for the contribution - we need a ticket to properly track your changes in order to announce what's changed between releases.
-
Following the Style Guide, make the desired changes in the fork.
-
Make sure to test your code. a. Any changes/additions to business logic (i.e. code that does not involve DOM manipulations) should be thoroughly unit tested. We require 80% coverage at minimum.
- components
- services
- filters/pipes
b. Any changes/additions that involve DOM manipulation should be tested with e2e tests.
c. Run all unit/e2e tests locally. For unit tests, use the command
npm run test
. And, for e2e tests, here are some instructions for getting them up and running. -
Once you're done with the implementation, create a PR to merge the changes back to the main branch of the base repository. Link any issues that are being fixed with this PR, then email the Nova Team at nova-ui@solarwinds.com with a link to the created PR. A build should automatically be triggered in CircleCI upon creating the PR.
-
Once the review is approved and all build checks have passed, we'll merge it back to the base repository.
-
Any non-maintainer change requires review by 1 QA and 2 developers
-
If you are making a medium-to-large change, please coordinate with a nova developer before starting work, so we can schedule time for code reviews. If you don't notify us before contributing, your change may be delayed.
We release the Nova packages on an as-needed basis to NPM. If there's a bugfix or feature you're considering providing a contribution for, contact the Nova Team at nova-ui@solarwinds.com so we can coordinate with you.