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, use the start
and stop
scripts in the dev
folder. The start script brings up an open source Conjur (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# bundle
Tests can be run with:
root@9df0ac10ada2:/src/conjur-api# bundle exec cucumber features
root@9df0ac10ada2:/src/conjur-api# bundle exec rspec
Note: 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
$ ./stop
bundle 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.z
is 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.