If you have any feature requests or noticed potential issues please use the Issues page for reporting new issues or adding to existing ones.
A Contribution License Agreement with Bentley must be signed before your contributions will be accepted. Upon opening a pull request, you will be prompted to use cla-assistant for a one-time acceptance applicable for all Bentley projects. You can read more about Contributor License Agreements on Wikipedia.
- Make source code changes on a new Git branch
- Ensure tests pass:
npm run test:unit
andnpm run test:integration
- Ensure linting passes:
rush lint
- Ensure spell-checking passes:
rush spell-check
- Locally commit changes:
git commit
- Repeat steps 2-5 until ready to push the changes.
- Add change log entry (which could potentially cover several commits):
rush change
- Follow prompts to enter a change description or press ENTER if the change does not warrant a change log entry.
- If multiple packages have changed, multiple sets of prompts will be presented.
- If the changes are only to non-published packages, such as tests, then
rush change
will indicate that a change log entry is not needed.
- Completing the
rush change
prompts will cause new change log JSON files to be created.- By default, all changes will be of type
none
. However, according to the scope of the change, you might want to change the type tomajor
,minor
orpatch
in the change log JSON files.
- By default, all changes will be of type
- Add and commit the change log JSON files.
- Publish changes on the branch and open a pull request.
👉 See Authoring change logs for tips about writing change logs.
Note: The CI build will break if changes are pushed without running
rush change
. The fix is to complete steps 7 through 10.
All submissions go through a review process.
We use GitHub pull requests for this purpose.
All pull requests must be approved by at least one person and must pass build checks before they can be merged to the main
branch.
Consult GitHub Help for more information on using pull requests.
Releases are allowed only from the following branches (pipeline):
main
backport/*
Increasing the package version number is currently done manually, meaning we make the change in package.json
files and merge it to main
branch using a pull request.
Backporting is also done manually. If you need to backport a change:
- Checkout a branch from the desired commit. Branch name should match the
backport/*
pattern. Push it to the remote. - Create a pull request to
backport/*
branch with needed changes/fixes, merge it. - Create a pull request to
backport/*
branch with increased version number (we follow semver rules), merge it. - Kick of the release pipeline from
backport/*
branch.