Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. All general work goes against the master branch in each project.
  2. Individual Pull Requests will generate artifacts that are pushed to the Nexus snapshot respositoryrepository.
  3. Daily builds will build master and push an artifact into the staging repository, these should be considered release candidates.


Enumerate Services in Release

  1. Simple list of all services that will be in the release.

Release Process

  1. Branch Cutting

      ...

        1.   At some point before an official artifact release (at least 2 weeks).  A release branch will be created off of the master branch.
        2.  The master branch version will be rev'd to the desired version of a future release.
        3.  Only bug and security fixes can now make it into the release branch unless truly exceptional.
        4.  Jenkins jobs will be instantiated for the release branch.
      1. Official Release
        1.  A leading representative from a particular project will initiate the release by doing the following:
          1. Submit a Project Service / Release Artifacts ticket via JIRA -  https://support.linuxfoundation.org/  - with the following information:
            1. Link to Jenkins staging job that produced artifact to be released
            2. Type of artifacts to be released (jar, go bin, container)
        2.  The EdgeX Release Engineer will release signed artifacts as requested and git tag the repository found at the sha checked out in the aforementioned Jenkins staging job.
        3.  RE will push the tag to https://github.com/edgexfoundry/$PROJECT_NAME
        4.  Project representation will PATCH bump the version of the project in the release branch in prep for next patch.

                .  This should not include new features but only bug/security fixes.  All new commits should be merged into master first and then we will cherry pick bug/security fixes.  This is "Code Freeze" .  It can happen some time after a release branch is but but makes sense to decided when to do the freeze and cut that branch at that time to minimize what we have to pick into the release branch.            - Lock down permissions on the release branch to those who we wish to grant "Release Permissions".  

            2.  Generate or update named release manifest

      ...

                   - 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