Skip to content

Latest commit

 

History

History
85 lines (67 loc) · 4.2 KB

CONTRIBUTING.md

File metadata and controls

85 lines (67 loc) · 4.2 KB

Contributing

For general contribution and community guidelines, please see the community repo.

Contributing

  1. Fork the project
  2. Clone your fork
  3. Make local changes to your fork by editing files
  4. Commit your changes
  5. Push your local changes to the remote server
  6. Create new Pull Request

From here your pull request will be reviewed and once you've responded to all feedback it will be merged into the project. Congratulations, you're a contributor!

Development

You can start a docker-compose development environment by running

$ ./dev.sh

Running tests

Automated CI pipelines:

Run ./bin/test.sh

Releasing

Verify and update dependencies

  1. Review the changes to go.mod since the last release and make any needed updates to NOTICES.txt:

    • Add any dependencies that have been added since the last tag, including an entry for them alphabetically under the license type (make sure you check the license type for the version of the project we use) and a copy of the copyright later in the same file.
    • Update any dependencies whose versions have changed - there are usually at least two version entries that need to be modified, but if the license type of the dependency has also changed, then you will need to remove the old entries and add it as if it were a new dependency.
    • Remove any dependencies we no longer include.

    If no dependencies have changed, you can move on to the next step.

Update the version and changelog

  1. Create a new branch for the version bump.

  2. Based on the unreleased content, determine the new version number and update the version.go file.

  3. Review the changelog to make sure all relevant changes since the last release have been captured. You may find it helpful to look at the list of commits since the last release - you can find this by visiting the releases page and clicking the "N commits to main since this release" link for the latest release.

    This is also a good time to make sure all entries conform to our changelog guidelines.

  4. Commit these changes - Bump version to x.y.z is an acceptable commit message - and open a PR for review. Your PR should include updates to pkg/summon_conjur/version.go, CHANGELOG.md, and if there are any license updates, to NOTICES.txt.

Add a git tag

  1. Once your changes have been reviewed and merged into main, tag the version using git tag -s v0.1.1. Note this requires you to be able to sign releases. Consult the github documentation on signing commits on how to set this up. vx.y.z is an acceptable tag message.
  2. Push the tag: git push vx.y.z (or git push origin vx.y.z if you are working from your local machine).

Make the release public

Note: Until the stable quality exercises have completed, the GitHub release should be officially marked as a pre-release (eg "non-production ready")

  1. The tagged commit should have caused a Draft release to be created in GitHub. Replace the commits in the Draft release's description with the relevant entries from the CHANGELOG.
  2. If everything else looks good, release the draft.
  3. Copy the summon-conjur.rb homebrew formula output by goreleaser to the homebrew formula for Summon-Conjur and submit a PR to update the version of Summon-Conjur available in brew.