Skip to content

Latest commit

 

History

History
55 lines (43 loc) · 2.29 KB

CONTRIBUTING.md

File metadata and controls

55 lines (43 loc) · 2.29 KB

Contributing

If you discover issues, have ideas for improvements or new features, please report them to the issue tracker of the repository or submit a pull request. Please, try to follow these guidelines when you do so.

Issue reporting

  • Check that the issue has not already been reported.
  • Check that the issue has not already been fixed in the latest code (a.k.a. master).
  • Be clear, concise and precise in your description of the problem.
  • Open an issue with a descriptive title and a summary in grammatically correct, complete sentences.
  • Include any relevant code to the issue summary.

Pull requests

  • Fork the project.
  • Write good commit messages.
  • Use the standard Go coding conventions and idioms
  • If your change has a corresponding open GitHub issue, add the following in the description closes #issue-number.
  • If the feature you are developing has external user impact (i.e. not a refactoring or internal improvement), then make sure to add appropriate tests for it.
    • The project has a set of integration tests, which run the actual program binary & test the output. Refer to testing/todocheck_test.go for examples.
    • If needed, extend the testing/scenariobuilder to incorporate your testing needs
  • Make sure the test suite is passing locally. It will otherwise fail on CI nevertheless.
  • Open a pull request that relates to only one subject with a clear title and description in grammatically correct, complete sentences.

Local Development

The project uses standard Go tooling for build & run.

Testing is done via a custom framework, located in testing/scenariobuilder, which allows you to write integration tests, which run the todocheck binary & verify the program's output.

Build the project:

make build

Run the tests:

make test

Run todocheck locally:

go run main.go

Alternatively, copy the build output binary ./todocheck to the relevant location and run from there.

Bundle binaries for next todocheck release:

./release.sh  <target-dir> <next-version>