Add CONTRIBUTING.md.

This commit is contained in:
Tom Page
2020-01-06 13:57:08 +00:00
parent df9124af3f
commit fa076cf52d
2 changed files with 61 additions and 1 deletions

56
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,56 @@
# Contributing
Thanks for your interest in contributing to this project!
The following is a set of guidelines for contributing to this library. Most of them will
make the life of the reviewer easier and therefore decrease the time required for the
patch be included in the next version.
Alfresco has an [active forum](http://community.alfresco.com/community/ecm) to support
community users of our products. If you have any questions then this is the fastest method
of getting an answer.
We have a [coding standards guidelines page](https://hub.alfresco.com/t5/alfresco-content-services-hub/coding-standards-for-alfresco-content-services/ba-p/290457)
although you will find numerous examples where we have not adhered to them. Please try to
maintain consistency with the guidelines for new code, but avoid reformatting large
blocks of code if these are not related to your change.
## Branches
Our codebase consists of long-lived release branches and short-lived feature branches. The
code that we expect to include in the next minor version is stored on `master`. All other
release branches have the prefix `release/`. Feature branches may have any other prefix,
but we usually use `feature/` or `fix/`. We expect code on release branches to be ready
to release, and in the rare occasion when a release branch is broken then we try to revert
changes to fix the branch as soon as possible.
As bug fixes often also need a change to ACS then we use a cherry-pick strategy to get the
fix to all necessary release branches. The fix should initially be merged to `master` and
it can then be cherry-picked back by using:
```git cherry-pick -x -m 1 [mergeCommitId]```
## Community Mirror
Pull requests to our community mirror will be accepted in our enterprise codebase and then
mirrored back to the community. You will always be credited with your commits, although if
you [sign your commits](https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work) then the
signature will be stripped by the mirroring process.[^dependabot]
[^dependabot]: This is the reason that pull requests submitted by Dependabot appear closed
rather than merged.
## Builds
Our builds are currently in our internal Bamboo instance. We have an [internal dashboard](http://pson01.alfresco.com:8081/SAI-FeatureBranches)
displaying the status of all branches, and also an [internal compatibility dashboard](http://pson01.alfresco.com:8081/SAI-Compatibility)
displaying results of integration testing with different versions of ACS.
Our build process uses the scripts in the [build scripts](https://git.alfresco.com/search_discovery/BuildScripts)
project.
Although the build results are not visible externally, it should be possible to run most of
the tests locally. We have divided our tests into unit tests, integration tests and
end-to-end tests. The unit and integration tests can be run using the maven `test` and
`verify` goals respectively. The end-to-end tests cannot currently be run externally as
they require some dependencies stored in our internal Nexus.

View File

@@ -41,3 +41,7 @@ More details are available at [search-services](/search-services) folder.
**Following resources will not be available for Community users** **Following resources will not be available for Community users**
More details are available at [insight-engine](/insight-engine) folder. More details are available at [insight-engine](/insight-engine) folder.
## Contributing guide
Please use [this guide](CONTRIBUTING.md) to make a contribution to the project.