For general contribution and community guidelines, please see the community repo.
- Fork the project
- Clone your fork
- Make local changes to your fork by editing files
- Commit your changes
- Push your local changes to the remote server
- 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!
To develop and run tests against Conjur OSS, use the start and stop scripts in the dev folder. The start script brings up a Conjur OSS (and Postgres database), CLI container, and a "work" container, with the gem code mounted into the working directory.
To begin:
$ cd dev
$ ./start
...
root@9df0ac10ada2:/src/conjur-api#You'll be dropped into development container upon completion. From there, install the development gems:
root@9df0ac10ada2:/src/conjur-api# bundleTests can be run with:
root@9df0ac10ada2:/src/conjur-api# bundle exec cucumber features
root@9df0ac10ada2:/src/conjur-api# bundle exec rspecNote: At the moment some of the cucumber tests are failing when run in the development container.
You can use the CI script, test.sh to run the full test suite instead.
Once you're done, exit the shell, and stop the containers:
root@9df0ac10ada2:/src/conjur-api# exit
$ ./stopbundle exec ./example/demo.rb <admin-api-key>To bring it down, run:
docker compose down-
Create a new branch for the version bump.
-
Based on the changelog content, determine the new version number and update.
-
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.
This is also a good time to make sure all entries conform to our changelog guidelines.
-
Commit these changes -
Bump version to x.y.zis an acceptable commit message - and open a PR for review. Your PR should include updates toCHANGELOG.md.
- Jenkins build parameters can be utilized to release and promote successful builds.
- Merging into main/master branches will automatically trigger a release.
- Reference the internal automated release doc for releasing and promoting.