Skip to content

Making a release

Thomas Jay Rush edited this page Dec 13, 2024 · 18 revisions

Copy this code of this page into an issue to get checkboxes.

Prepare

  • Consider upgrading Go version (search for Go Version)
    • code (find .. -type f 2>/dev/null | xargs grep "Go Version" 2>/dev/null | cut -f1 -d: | sort -u)
  • Close as many issues as possible
  • Review TODO list items
  • Run ../scripts/go-work-sync.sh and ../scripts/go-mod-tidy.sh
  • Update VERSION file, auto generate code
  • Run all tests locally until all pass, merge into develop
  • Push develop branch of trueblocks-tests repo
  • Update CHANGES.md and (if needed) MIGRATION.md
  • Find release name: https://github.com/TrueBlocks/trueblocks-manage/issues/85
    • v3.0.0-release Greene - GoLang SDK Alpha

Merge to Master

  • In tests repo, make a master branch and then git merge develop
  • Reference master tests repo in develop branch
  • Create a PR from develop to master - make sure all tests pass
  • Merge develop into master
  • Make sure docker version builds with the new master branch
  • Tag the new master (see "Tagging" below)
  • The above will cause the docker version to publish to DockerHub - check results
  • Check GitHub to see that develop is up to date with master
  • Check that docker hub built. Update the scripts in docker/scripts that need to reference new version.
  • Remove any un-needed branches

Make a release (use Release Name - Short Name for title)

Tagging

Note that the tag must agree with the version. You can use git tag -d <tag> or git tag --delete origin to delete tags.

    git checkout master && \
        git pull --recurse-submodules && \
        git tag v3.0.0-release && \
        git push --tags && \
        git checkout develop && \
        git merge master && \
        git push --force

Docs

  • There is only one branch: main. Check it out and pull.
  • Run make -j 12 && make generate in core repo.
  • Compare ./trueblocks-docs/content against ./trueblocks-core/docs/contents.
  • Push 'main'. It should update the website after linting and link checking.
  • Tag and make the same Release name

Browse

  • WORK IN PROGRESS - PLEASE DISREGARD
  • Update to use the new SDK
  • Make sure it works by opening a few addresses
  • Merge develop to master
  • Tag and Release
  • Make the release

Docker / dAppNode

  • Tagging main of the core repo should automatically publish to docker hub
  • Edit the versions requested in the ./script folder of docker repo.
  • Test locally with docker-compose -f docker-compose.yml -f docker-compose.local.yml up
  • Test locally ./scripts/chifra.sh blocks 12
  • Use the image in docker-compose.yaml (search for UPDATE_DOCKER_BUILD_VERSION)
  • Push, tag and make a release

Repos

  • trueblocks-core
  • trueblocks-docs
  • trueblocks-docker
  • trueblocks-tests
  • trueblocks-explorer
  • trueblocks-unchained
  • trueblocks-sen
  • trueblocks-snap
  • trueblocks-stack