/
Release Checklist
Release Checklist
The following checklist helps to identify the series of actions that need to be done leading up to a normal EdgeX release. The examples below were taken from the Kamakura release in May 2022.
- One week prior to code freeze
- Stop merged 3rd party Dependa-Bot PRs (unless critical bug fixes)
- Pin 3rd party docker images to patch level in compose builder
- Code Freeze
- Update edgex-global-pipelines to enable new release name. (example)
- Update all modules & services to use latest go-mod dev tags
- Update go-mod-secrets with latest version of go-mod-core-contracts (example)
- Update go-mod-bootstrap with latest versions of other go-mods (example)
- Update SDKs with latest versions of go-mods (Examples: app-functions-sdk-go, device-sdk-go)
- Update all services with latest versions of their go-mods and SDKs (example)
- Verify TAF Tests all pass (Jenkins Pipelines)
- Perform Manual Testing
- Fix bugs if needed, repeat steps #3 thru #5 as necessary.
- Generate and prepare changelogs. Ask WG Chairs to make necessary changes if necessary. (example)
- Release go-mods
- Verify release jobs have next semver for main set appropriately.
- Update changelogs for Go Mods (example)
- Release go-mod-configuration, go-mod-core-contracts, go-mod-registry, (example)
- Update go-mod-secrets and go-mod-messaging with release version of go-mod-core-contracts (example)
- Release go-mod-secrets and go-mod-messaging (example)
- Update go-mod-bootstrap with release version of other go-mods (example)
- Release go-mod-bootstrap (example)
- Release SDKs (app-functions-sdk-go, device-sdk-go)
- Verify release jobs have next semver for main set appropriately.
- Update SDKs with released versions of go-mods (app-functions-sdk-go, device-sdk-go)
- Update changelogs for SDKs (example)
- Update App Template go.mod with SDK version (example)
- Release SDKs (example)
- Release edgex-go
- Release App Services (app-service-configurable, app-rfid-llrp-inventory & app-record-replay)
- Release Device Services (Confirm which devices with Device Services WG)
- Verify release jobs have next semver for main set appropriately.
- Update with released versions of SDK and go-mods (device-mqtt-go example)
- Update changelogs for Device Services (device-mqtt-go example)
- Release Device Services (example)
- Release UI (edgex-ui-go)
- Verify release jobs have next semver for main set appropriately.
- Update with released versions of go-mods (Ex: UI part1, part2, part3)
- Update changelog (ui-example)
- Release UI(example)
- Release Compose files
- Add any new services to the compose job code.
- Run CI Job (Jenkins Job)(Run without parameters for dry-run.)
- Creates commit / branch (example)
- Removes Jenkins file
- Update README’s (example)
- Make any needed version tweaks (example)
- Test that all images can be pulled and started appropriately
make run no-secty [all service options]
- Merge tweaks PR (example)
- Tag commit on newly created branch
- Release Helm Chart
- Update Helm Chart to use current release images (example)
- Tag edgex-helm repo
- Release examples (edgex-examples)
- Release Docs (edgex-docs)
- Update Docker image descriptions
- Update Docker Hub descriptions.
- Do not manually generate overviews. Jenkins will do that in the next step. (example)
- Manually trigger build to publish changes (Jenkins Job)
- Update Docker Hub descriptions.
- Tag TAF
- Update links example links above to current PRs
- Verify semver on main branch is set to next expected release version with "-dev.1" appended
- Prepare edgex-compose for next release
- Update compose builder versions for 3rd party dependencies to not pin to patch level
- Also update release name in the gen-header file to be the upcoming name.
- Run make build to regenerate all the WIP compose files.
- Update swagger versions to expected next release number.
- Create Dev tags for next minor/major release
- Update all semver to create next dev tags for the new minor/major version
- If next release is a major release,
Update all modules to be the next major version - ie v2 → v3, update all import statements for the new major version, and update all mocks in the following order- Update go-mod-configuration, go-mod-core-contracts, go-mod-registry
- Update go-mod-secrets and go-mod-messaging (Note that the mocks in go-mod-messaging must be updated to ensure that the nats.go package is in the import statement)
- Update go-mod-bootstrap
- Update all go-sdks to be the next major version - ie v2 → v3, update all import statements for the new major version, and update all mocks
- Update go.mod to use latest dev go-mod-bootstrap
- Update edgex-go import statements for its dependent EdgeX modules
- Update go.mod to use latest dev go-mod-bootstrap
- Update all app services' import statements for its dependent EdgeX modules
- Update go.mod to use latest dev App SDK
- Update all device services' import statements for its dependent EdgeX modules
- Update go.mod to use latest dev Device SDK
- If next release is a minor release,
update to generate and use initial dev tags for next minor release- Update go-mod-configuration, go-mod-core-contracts, go-mod-registry
- simple README tweak to dev tag generated
- Update go-mod-secrets and go-mod-messaging to use latest dev go-mod tags
- Update go-mod-bootstrap to use latest dev go-mod tags
- Update all go-sdks to use latest dev go-mod-bootstrap
- Update edgex-go to use latest dev go-mod-bootstrap
- Update all app services to use latest dev App SDK
- Update all device services to use latest dev Device SDK
- Update go-mod-configuration, go-mod-core-contracts, go-mod-registry
- Make adjustments to the checklist for items that have changed since last release
, multiple selections available,
Related content
Odesa Release
Odesa Release
More like this
DevOps Working Group
DevOps Working Group
More like this
Odesa LTS (February 2025)
Odesa LTS (February 2025)
More like this
Odesa
Odesa
More like this
Napa 3.1.1 (Bug Release to LTS)
Napa 3.1.1 (Bug Release to LTS)
More like this
EdgeX Ready
EdgeX Ready
More like this