Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Add LTS rebuild section

...

The items covered under LTS will be itemized in the release notes by the TSC when an LTS is designated. The TSC reserves the right to exclude some elements from LTS when designating an LTS.  As mentioned previously in this document, the support period for the LTS and all of its elements will be stipulated at the time of LTS designation and will also mentioned in the release notes for the release.

LTS Rebuilds

...

Go Based Projects

Archiving Go Dependencies

  • At the time of the release, Go module dependencies will be exported and committed to the repository using the go mod vendor command. This will allow the Go dependencies to be updated and the Go binary to be rebuilt.
  • After the initial commit of go dependencies into the repository, if there are any changes to dependencies, developers should commit those back into the repository
  • Jenkins build scripts may need to be updated to use local vendor dependencies

C Based Projects

  • At the time of release, we will snapshot the C based docker builds images and store them in Nexus3. Base build images will be project specific and baked with the needed dependencies to compile the source code.
  • These images can then be used as part of the Jenkins pipeline or for local development by overriding the --build-arg BASE when building the source code

Examples:

Rebuilding Docker Images

All EdgeX docker images take advantage of a parameterized FROM. This allows us to easily change the base image when we build docker images. We can take advantage of this to build base images containing all build dependencies needed for rebuilding.

  • All base images used in the build pipelines should be archived in the Nexus3 release repository and the Jenkins pipeline build scripts should be updated to use said Nexus3 repository.

Example Base Images:

Short Term Support (STS)

STS is provided for with each release (typically a release is made every 6 months). Work group chairpersons determine which issues (critical, high, medium or low) in the latest release must be addressed (in consultation with the release czar and with approval of the TSC) and may release a minor or patch release to address issues for that release before the next release.  Once a new release is made, the old release STS (for any release that is not designated as an LTS release) ends and no further work / support is made on the old release.

...