...
- All general work goes against the master branch in each project.
- Individual Pull Requests will generate artifacts that are pushed to the Nexus snapshot respositoryrepository.
- Daily builds will build master and push an artifact into the staging repository, these should be considered release candidates.
...
- Branch Cutting
- At some point before an official artifact release (at least 2 weeks). A release branch will be created off of the master branch.
- The master branch version will be rev'd to the desired version of a future release.
- Only bug and security fixes can now make it into the release branch unless truly exceptional.
- Jenkins jobs will be instantiated for the release branch.
- Official Release
- A leading representative from a particular project will initiate the release by doing the following:
- Email helpdesk@edgexfoundry.org with the following information:
- Link to Jenkins staging job that produced artifact to be released
- Type of artifacts to be released (jar, go bin, container)
- Email helpdesk@edgexfoundry.org with the following information:
- The EdgeX Release Engineer will release signed artifacts as requested and git tag the repository found at the sha checked out in the aformentioned aforementioned Jenkins staging job.
- RE will push the tag to https://github.com/edgexfoundry/$PROJECT_NAME
- Project representation will PATCH bump the version of the project in the release branch in prep for next patch.
- A leading representative from a particular project will initiate the release by doing the following:
...
- Each individual service can release separately if they wish. If at any time a service is updated then we should also be sure to update the manifest.....tbcont