Skip to content

Latest commit

 

History

History
97 lines (68 loc) · 2.66 KB

RELEASE.md

File metadata and controls

97 lines (68 loc) · 2.66 KB

Release Guidelines

To release a new version of the ades project follow the description in this file.

Preferred

Run go run tasks.go release and follow the instructions it gives.

Fallback

The following is a full step-by-step walkthrough of how to create a release for ades (using v23.12 as an example):

  1. Make sure that your local copy of the repository is up-to-date, sync:

    git checkout main
    git pull origin main

    Or clone:

    git clone git@github.com:ericcornelissen/ades.git
  2. Update the version number following to the current year-month pair in the version function in main.go (and update the tests correspondingly):

      func version() {
    -   versionString := "v23.11"
    +   versionString := "v23.12"
        fmt.Println(versionString)
      }

    Single-digit months should be prefixed with a 0 (for example for January 24.01).

  3. Commit the changes to a new branch and push using:

    git checkout -b version-bump
    git add 'main.go' 'test/flags-info.txtar'
    git commit --signoff --message 'version bump'
    git push origin version-bump
  4. Create a Pull Request to merge the new branch into main.

  5. Merge the Pull Request if the changes look OK and all continuous integration checks are passing.

  6. Immediately after the Pull Request is merged, sync the main branch:

    git checkout main
    git pull origin main
  7. Create a git tag for the new version and push it:

    git tag v23.12
    git push origin v23.12

    Note At this point, the continuous delivery automation may pick up and complete the release process. If not, or only partially, continue following the remaining steps.

  8. Create a GitHub Release for the git tag of the new release. The release title should be "Release {version}" (e.g. "Release v23.12"). The release text should be "{version}" (e.g. "v23.12"). The release artifacts should be the contents of the _compiled/ directory (including checksums) after running:

    go run tasks.go build-all
  9. Publish to Docker Hub, first with a version tag:

    env CONTAINER_TAG=v23.12 go run tasks.go container
    docker push ericornelissen/ades:v23.12

    then the latest tag:

    env CONTAINER_TAG=latest go run tasks.go container
    docker push ericornelissen/ades:latest