Skip to content

Latest commit

 

History

History
113 lines (77 loc) · 4.33 KB

CONTRIBUTING.md

File metadata and controls

113 lines (77 loc) · 4.33 KB

Contribution Guidelines

We would love for you to contribute to the QPP File Upload API Client. As a contributor, here are the guidelines we would like you to follow:

Got a Question or Problem?

If you have a question or problem, please submit an issue to our GitHub Repository.

Found a Bug?

If you find a bug in the source code, you can help us by submitting an issue to our GitHub Repository. Even better, you can submit a Pull Request with a fix.

Missing a Feature?

You can request a new feature by submitting an issue to our GitHub Repository. If you would like to implement a new feature, please submit an issue with a proposal for your work first, to be sure that we can use it.

Submission Guidelines

Submitting an Issue

Before you submit an issue, please search the issue tracker. It's possible an issue has already been created addressing your problem and the discussion might inform you of workarounds readily available.

We want to fix all issues as soon as possible, but before fixing a bug we need to be able to reproduce and confirm it. Please provide:

  • version of qpp-file-upload-api-client used
  • provide input data file (after redacting TINs and other sensitive information)
  • most importantly, a use-case that fails

To be respectful of maintainer's time and ultimately fix more bugs, we will require a minimal reproduce scenario.

You can file new issues by filling out our new issue form.

Please see SUPPORT for more details on the issue submission process.

Submitting a Pull Request (PR)

Before you submit your Pull Request (PR) consider the following guidelines:

  • Search GitHub for an open or closed PR that relates to your submission. You don't want to duplicate effort.

  • Make your changes in a personal fork of the repository. See GitHub for help on creating a fork.

  • Create your patch, including appropriate test cases.

  • Follow our Coding Rules.

  • Run the full test suite, and ensure that all tests pass.

  • Commit your changes using a descriptive commit message.

    git commit -a

    Note: the optional commit -a command line option will automatically "add" and "rm" edited files.

  • Push your changes on your fork to GitHub:

    git push
  • In GitHub, send a pull request from your fork to CMSgov/qpp-file-upload-api-client:master.

  • If we suggest changes then:

    • Make the required updates.

    • Re-run the full test suites to ensure tests are still passing.

    • Rebase your branch and force push to your GitHub repository (this will update your Pull Request):

      git rebase master -i
      git push -f

That's it! Thank you for your contribution!

After your pull request is merged

After your pull request is merged, you can safely delete your branch and pull the changes from the main (upstream) repository:

  • Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows:

    git push origin --delete my-fix-branch
  • Check out the master branch:

    git checkout master -f
  • Delete the local branch:

    git branch -D my-fix-branch
  • Update your master with the latest upstream version:

    git pull --ff upstream master

Coding Rules

To ensure consistency throughout the source code, please keep these rules in mind as you are working:

  • All features or bug fixes must be tested by one or more unit-tests. All new code must have 95% or higher code coverage.
  • All public API methods must be documented.