Skip to content

Latest commit

 

History

History
67 lines (52 loc) · 2.12 KB

RELEASING.md

File metadata and controls

67 lines (52 loc) · 2.12 KB

Releasing Ziti

Release-next Pre-requisites

Perform these steps in PR branches based on release-next (trunk).

  1. Tidy dependencies.

    1. Ensure you have downloaded the @latest artifact from the dependency(ies) you are updating in the main Ziti project, e.g.,

      go get -u github.com/openziti/edge@latest
    2. Run go mod tidy in the main Ziti project and in the ./zititest sub-tree.

      go mod tidy
      cd ./zititest
      go mod tidy
      cd ..
  2. Ensure the go test command succeeds. This will also ensure the project builds.

    go test ./...
  3. Ensure PR checks succeed.

    1. Make sure you have a clean build in GitHub Actions.
    2. Make sure you have a clean build in fablab smoketest.
  4. Ensure CHANGELOG.md is up to date.

    1. Run ziti-ci build-release-notes in your PR branch to generate library version updates and summarize issues. Note that you will need a working copy of each module that has changed in an adjacent directory with the default repo name in order for this to work. fixed, as long as the git commit has fixed #<issue number> (or fixes, closes, closed, etc.).
    2. Sanity-check and paste the output into CHANGELOG.md under a heading like ## Component Updates and Bug Fixes.

Shell Script to Tidy Dependencies

(
  set -euxo pipefail
  go list -m -f '{{ .Path }} {{ .Main }}' all \
    | grep ziti | grep -v "$(go list -m)" | grep -v dilithium | cut -f 1 -d ' ' \
    | xargs -n1 /bin/bash -c 'echo "Checking for updates to $@";go get -u -v $@;' ''
  go mod tidy
  if git diff --quiet go.mod go.sum; then
    echo "no changes"
  else
    echo "dependency updates found"
  fi

  if [ -f "zititest/go.mod" ]; then
    echo "./zititest$ go mod tidy"
    cd zititest
    go mod tidy
    cd ..
  fi
  ziti-ci build-release-notes
)

Release Pre-requisites

Perform these steps in the release-next (trunk) branch which is based on main to release Ziti.

  1. Create a PR to merge release-next to main. Release happens by merging from the release-next branch to main.
  2. Ensure PR checks succeed.