Skip to content

Stable release process (every 2 months)

Timothy Meehan edited this page Aug 23, 2024 · 27 revisions

Step 1: Create a release branch and increment the version in the master branch

Run this pipeline once.

Step 2: Create the release notes PR

Run this script your recently rebased repo root folder: tdcmeehan@Timothys-MBP presto % ./src/release/release-notes.sh tdcmeehan <ACCESS_TOKEN>, where ACCESS_TOKEN is a personal access token with read privileges to the repository generated from https://github.com/settings/tokens.

Reviews may take up to 2 weeks to complete.

The PR is against the master branch, we need to cherry-pick it into the release branch once the master branch copy is merged.

Note: For now, you must manually make a code change to add the date next to the release (see release.rst)

Note: you'll need to check each PR which doesn't have a release note and verify if it's due to the note being malformed or not present. If malformed, you'll need to edit the PR to add it. If not present, contact the author to suggest a release note.

Note: when you run this script, it will error out as below. This error is harmless, and if you check the latest pull requests in Presto, you will find the release notes PR.

2024-08-23T16:08:00.430-0400	ERROR	main	Bootstrap	Uncaught exception in thread main
java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.LinkedHashMap` out of START_ARRAY token
 at [Source: (StringReader); line: 1, column: 33505] (through reference chain: java.util.LinkedHashMap["extensions"]->java.util.LinkedHashMap["warnings"])
	at com.facebook.presto.release.git.GithubGraphQlAction.githubApi(GithubGraphQlAction.java:198)
	at com.facebook.presto.release.git.GithubGraphQlAction.createPullRequest(GithubGraphQlAction.java:175)
	at com.facebook.presto.release.tasks.GenerateReleaseNotesTask.run(GenerateReleaseNotesTask.java:175)
	at com.facebook.presto.release.tasks.AbstractReleaseCommand.run(AbstractReleaseCommand.java:50)
	at com.facebook.presto.release.PrestoReleaseService.main(PrestoReleaseService.java:38)
Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.LinkedHashMap` out of START_ARRAY token
 at [Source: (StringReader); line: 1, column: 33505] (through reference chain: java.util.LinkedHashMap["extensions"]->java.util.LinkedHashMap["warnings"])
	at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:63)
	at com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch(DeserializationContext.java:1343)
	at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1139)
	at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1093)
	at com.fasterxml.jackson.databind.deser.std.StdDeserializer._deserializeFromEmpty(StdDeserializer.java:600)
	at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:360)
	at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:29)
	at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringKeyMap(MapDeserializer.java:527)
	at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:364)
	at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:29)
	at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringKeyMap(MapDeserializer.java:527)
	at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:364)
	at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:29)
	at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4013)
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3023)
	at com.facebook.presto.release.git.GithubGraphQlAction.githubApi(GithubGraphQlAction.java:195)
	... 4 more

Step 3: Publish Maven and Docker artifacts

These pipelines may be flaky. If so, reach out to Linsong Wang.

https://ci.ahana.dev/job/oss-presto-release/job/presto-release-tools/job/pipeline-release-docs/build?delay=0sec https://ci.ahana.dev/job/oss-presto-release/job/presto-release-tools/job/pipeline-release-docker-images/build?delay=0sec

Step 4: Publish docs website

https://ci.ahana.dev/job/oss-presto-release/job/presto-release-tools/job/pipeline-release-docs/build?delay=0sec you need to create a PR from your fork

Step 5: Finalize

Verify from Maven central that the artifacts have been uploaded there. Verify from DockerHub that the images have been pushed. Reach out to Ali to update the links in the website.

Clone this wiki locally