Skip to content

Latest commit

 

History

History
108 lines (69 loc) · 3.32 KB

CONTRIBUTING.md

File metadata and controls

108 lines (69 loc) · 3.32 KB

How to contribute

Bug reports and pull requests from users are what keep this project working.

Basics

  1. Create an issue and describe your idea
  2. Fork it
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Publish the branch (git push origin my-new-feature)
  6. Create a new Pull Request

Running for development

Make sure you have ruby, gem and bundle installed locally.

If you don't: gem install bundler

Step 1: Install requirements

bundle install

Step 2: Install linters: overcommit, rubocop

overcommit --install

Step 3: Run & debug

TBD

Step 4: Test it

bundle exec rake
gem build github_changelog_generator

Checking your work

You can test your workflow with changelog generator with the github-changelog-generator/changelog_test repo.

You can run the test suite.

You can run RuboCop to check code style.

The default Rake task, runnable using rake, calls rubocop, then spec.

Write documentation

This project has documentation in a few places:

Introduction and usage

A friendly README.md written for many audiences.

Examples and advanced usage

The wiki.

API documentation

API documentation is written as YARD docblocks in the Ruby code.

This is rendered as Web pages on Rubydoc.info.

The completeness of the API documentation is measured on our page on the Inch CI website.

man page

man/git-generate-changelog.md

The man page is for the git generate-changelog Git sub-command, which is a wrapper for github_changelog_generator. That file is a Markdown file.

Use the ronn gem to generate .1 and .html artifacts like this: cd man; ronn git-generate-changelog.md

Releasing a new version

  1. Clone the repository
  2. Install the dependencies (look at the CI configuration for the most updated procedure)
  3. Update the changelog (and commit it afterwards): github_changelog_generator -t <YOUR_GH_TOKEN> --future-release <FUTURE_RELEASE>
  4. Update the certification authority: bundle exec rake update_ssl_ca_file
  5. Push the changes and wait for the latest CI build to complete
  6. Bump the version, create a Git tag and commit the changes: bundle exec bump pre --tag
  7. Push the version bump commit: git push
  8. Push the Git tag: git push --tags
  9. Build the new gem: bundle exec rake build
  10. Push the new gem: bundle exec rake release

If you get the Your rubygems.org credentials aren't set error, set your RubyGems.org credentials:

curl -u your-rubygems-username https://rubygems.org/api/v1/api_key.yaml > $HOME/.gem/credentials