diff --git a/docker/README.md b/docker/README.md index c73b24feb..d1fc53765 100644 --- a/docker/README.md +++ b/docker/README.md @@ -147,9 +147,3 @@ from the project checkout, and mounts it at `/opt/trino/gateway-ha-config.yml`. By default the container health check uses the file `docker/bin/health-check` mounted at `/usr/lib/trino/bin/health-check`. The scripts expects a 2XX response from the server at `/api/public/backends`. - -## Release - -After the container images are built locally, a maintainer can login to -Docker Hub and use the `release-docker.sh` script to publish the locally built -images. diff --git a/docker/release-docker.sh b/docker/release-docker.sh index 0c3dad85f..75567da6a 100755 --- a/docker/release-docker.sh +++ b/docker/release-docker.sh @@ -7,7 +7,9 @@ REPO=trinodb/trino-gateway IMAGE=trino-gateway:$VERSION TARGET=$REPO:$VERSION -docker/build.sh -r "$VERSION" +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)" + +$SCRIPT_DIR/build.sh -r "$VERSION" architectures=(amd64 arm64 ppc64le) diff --git a/docs/development.md b/docs/development.md index 72d443d62..c5b830cb4 100644 --- a/docs/development.md +++ b/docs/development.md @@ -109,3 +109,42 @@ for more details. Want to help build Trino Gateway? Check out our [contributing documentation](../.github/CONTRIBUTING.md) + + +## Release process + +A full release process consists of the following steps: + +Merge the pull request for the release notes and pull the changes locally: + +```shell +cd trino-gateway +git checkout main +git pull +``` + +Run a Maven release build: + +```shell +./mvnw clean release:prepare release:perform +``` + +A successful release build performs the necessary commits, and pushes the +binaries to Maven Central staging. + +Close and release the staging repository, and wait until the sync to Central is +completed. Confirm the presence of the artifacts at +[https://repo.maven.apache.org/maven2/io/trino/gateway/gateway-ha/](https://repo.maven.apache.org/maven2/io/trino/gateway/gateway-ha/). + +Ensure that you are logged into Docker Hub with suitable permissions, and run +the container release script with the version number that was just released, +for example `6`: + +```shell +docker/release-docker.sh 6 +``` + +Once completed, verify the availability at +[https://hub.docker.com/r/trinodb/trino-gateway](https://hub.docker.com/r/trinodb/trino-gateway). + +Announce the release on Trino Slack and LinkedIn.