Yicong-Huang commented on code in PR #8071:
URL: https://github.com/apache/texera/pull/8071#discussion_r3885567248
##########
.github/release/vote-email-template.md:
##########
@@ -21,58 +21,75 @@ Subject: [VOTE] Release Apache Texera (incubating)
${VERSION} RC${RC_NUM}
Hi Texera Community,
-This is a call for vote to release Apache Texera (incubating) ${VERSION}.
+This is a call for a vote on releasing Apache Texera (incubating)
Review Comment:
A second copy of this template is left behind.
`docs/contribution-guidelines/release-email-template.md` is the same vote
email, published to the project website by `sync-docs-to-site.yml` (`paths:
docs/**`), and it is untouched here.
The repo now ships two contradicting templates. The docs copy names artifact
files the workflow never produces (:37-39), links the pre-rename
`apache/incubator-texera` repo (:44), points at a different KEYS URL (:59), and
still carries the two checklist items this PR removes.
A release manager following the published guideline sends a different email
than the workflow generates. Either sync it, or reduce it to a pointer at
`.github/release/vote-email-template.md`.
##########
.github/release/vote-email-template.md:
##########
@@ -21,58 +21,75 @@ Subject: [VOTE] Release Apache Texera (incubating)
${VERSION} RC${RC_NUM}
Hi Texera Community,
-This is a call for vote to release Apache Texera (incubating) ${VERSION}.
+This is a call for a vote on releasing Apache Texera (incubating)
+${VERSION} RC${RC_NUM}.
== Release Candidate Artifacts ==
-https://dist.apache.org/repos/dist/dev/incubator/texera/${VERSION}-RC${RC_NUM}/
+https://dist.apache.org/repos/dist/dev/incubator/texera/${RC_DIR}/
-The directory contains:
-- Source tarball (.tar.gz) with GPG signature (.asc) and SHA512 checksum
(.sha512)
-- Docker Compose deployment bundle with GPG signature and SHA512 checksum
+The staging directory contains:
+- Source tarball (.tar.gz), with its GPG signature (.asc) and SHA-512 checksum
(.sha512)
+- Docker Compose convenience bundle, with its GPG signature and SHA-512
checksum
== Container Images ==
-Container images are available at:
- ${IMAGE_REGISTRY}/texera-dashboard-service:${VERSION}
- ${IMAGE_REGISTRY}/texera-workflow-execution-coordinator:${VERSION}
- ${IMAGE_REGISTRY}/texera-workflow-compiling-service:${VERSION}
- ${IMAGE_REGISTRY}/texera-file-service:${VERSION}
- ${IMAGE_REGISTRY}/texera-config-service:${VERSION}
- ${IMAGE_REGISTRY}/texera-access-control-service:${VERSION}
- ${IMAGE_REGISTRY}/texera-workflow-computing-unit-managing-service:${VERSION}
+The following convenience container images are available:
-These images are built from the source tarball included in this release.
-The Dockerfiles are included in the source for audit and verification.
+${IMAGE_REGISTRY}/texera-dashboard-service:${IMAGE_TAG}
+${IMAGE_REGISTRY}/texera-workflow-execution-coordinator:${IMAGE_TAG}
+${IMAGE_REGISTRY}/texera-workflow-execution-runner:${IMAGE_TAG}
+${IMAGE_REGISTRY}/texera-workflow-compiling-service:${IMAGE_TAG}
+${IMAGE_REGISTRY}/texera-file-service:${IMAGE_TAG}
+${IMAGE_REGISTRY}/texera-config-service:${IMAGE_TAG}
+${IMAGE_REGISTRY}/texera-access-control-service:${IMAGE_TAG}
+${IMAGE_REGISTRY}/texera-agent-service:${IMAGE_TAG}
+${IMAGE_REGISTRY}/texera-workflow-computing-unit-managing-service:${IMAGE_TAG}
Review Comment:
Two images the RC's own bundle pulls are missing here:
`texera-notebook-migration-service` and `texera-jupyter`. The bundled
`bin/single-node/docker-compose.yml` starts both (:475, :498), and neither is
profile-gated — the file's only `profiles:` block (:576) is the examples loader.
So voters are asked to confirm "Docker Compose deploys successfully" while
two of the images that deployment pulls sit outside the list the vote covers.
This is the concrete evidence for the open thread above: a hardcoded list is
already wrong today. Deriving it from `build-and-push-images.yml`'s image table
(:255-286) would keep it right by construction.
##########
.github/workflows/create-release-candidate.yml:
##########
@@ -278,6 +281,7 @@ jobs:
sed -i "s|\${GPG_KEY_ID}|${GPG_KEY_ID}|g" vote-email.txt
sed -i "s|\${GPG_EMAIL}|${GPG_EMAIL}|g" vote-email.txt
sed -i "s|\${IMAGE_REGISTRY}|${IMAGE_REGISTRY}|g" vote-email.txt
+ sed -i "s|\${IMAGE_TAG}|${IMAGE_TAG}|g" vote-email.txt
echo "✓ Vote email template generated!"
Review Comment:
"Generated!" now overstates the artifact. The template gained four markers
no `sed` touches — `<PREVIOUS_RELEASE, …>` (:63), `<PREVIOUS_TAG>` (:66),
`<FILL IN: …>` (:69), `<YOUR NAME>` (:94) — up from one before, and this step
still uploads `vote-email.txt` as an artifact.
A `grep -n '<[A-Z_]' vote-email.txt` printing "N placeholders still to fill"
would make the remaining manual work visible where it is created.
##########
.github/release/vote-email-template.md:
##########
@@ -21,58 +21,75 @@ Subject: [VOTE] Release Apache Texera (incubating)
${VERSION} RC${RC_NUM}
Hi Texera Community,
-This is a call for vote to release Apache Texera (incubating) ${VERSION}.
+This is a call for a vote on releasing Apache Texera (incubating)
+${VERSION} RC${RC_NUM}.
== Release Candidate Artifacts ==
-https://dist.apache.org/repos/dist/dev/incubator/texera/${VERSION}-RC${RC_NUM}/
+https://dist.apache.org/repos/dist/dev/incubator/texera/${RC_DIR}/
-The directory contains:
-- Source tarball (.tar.gz) with GPG signature (.asc) and SHA512 checksum
(.sha512)
-- Docker Compose deployment bundle with GPG signature and SHA512 checksum
+The staging directory contains:
+- Source tarball (.tar.gz), with its GPG signature (.asc) and SHA-512 checksum
(.sha512)
+- Docker Compose convenience bundle, with its GPG signature and SHA-512
checksum
== Container Images ==
-Container images are available at:
- ${IMAGE_REGISTRY}/texera-dashboard-service:${VERSION}
- ${IMAGE_REGISTRY}/texera-workflow-execution-coordinator:${VERSION}
- ${IMAGE_REGISTRY}/texera-workflow-compiling-service:${VERSION}
- ${IMAGE_REGISTRY}/texera-file-service:${VERSION}
- ${IMAGE_REGISTRY}/texera-config-service:${VERSION}
- ${IMAGE_REGISTRY}/texera-access-control-service:${VERSION}
- ${IMAGE_REGISTRY}/texera-workflow-computing-unit-managing-service:${VERSION}
+The following convenience container images are available:
-These images are built from the source tarball included in this release.
-The Dockerfiles are included in the source for audit and verification.
+${IMAGE_REGISTRY}/texera-dashboard-service:${IMAGE_TAG}
+${IMAGE_REGISTRY}/texera-workflow-execution-coordinator:${IMAGE_TAG}
+${IMAGE_REGISTRY}/texera-workflow-execution-runner:${IMAGE_TAG}
+${IMAGE_REGISTRY}/texera-workflow-compiling-service:${IMAGE_TAG}
+${IMAGE_REGISTRY}/texera-file-service:${IMAGE_TAG}
+${IMAGE_REGISTRY}/texera-config-service:${IMAGE_TAG}
+${IMAGE_REGISTRY}/texera-access-control-service:${IMAGE_TAG}
+${IMAGE_REGISTRY}/texera-agent-service:${IMAGE_TAG}
+${IMAGE_REGISTRY}/texera-workflow-computing-unit-managing-service:${IMAGE_TAG}
-== Git Tag ==
+These images were built from the source tarball included in this release
candidate.
+
+== Git Tag and Commit ==
https://github.com/apache/texera/releases/tag/${TAG_NAME}
+
Commit: ${COMMIT_HASH}
-== Keys ==
+== KEYS ==
+
+https://downloads.apache.org/incubator/texera/KEYS
+
+The release was signed with GPG key [${GPG_KEY_ID}] (${GPG_EMAIL}).
-The release was signed with GPG key [${GPG_KEY_ID}] (${GPG_EMAIL})
-KEYS file: https://downloads.apache.org/incubator/texera/KEYS
+== Major Changes Since <PREVIOUS_RELEASE, e.g. Apache Texera 1.1.0-incubating>
==
+
+Full diff:
+https://github.com/apache/texera/compare/<PREVIOUS_TAG>...${TAG_NAME}
+
+Major changes include:
+<FILL IN: grouped highlights, verified against the previous release BRANCH,
+not its tag>
== Vote ==
-The vote will be open for at least 72 hours.
+The vote will remain open for at least 72 hours.
[ ] +1 Approve the release
[ ] 0 No opinion
-[ ] -1 Disapprove the release (please provide the reason)
+[ ] -1 Do not approve the release because...
== Checklist ==
+Please include the checklist below in your reply and mark the checks you
+performed with an x.
+
[ ] Checksums and PGP signatures are valid
[ ] LICENSE and NOTICE files are correct
[ ] All files have ASF license headers where appropriate
-[ ] No unexpected binary files
[ ] Source tarball matches the Git tag
-[ ] Can compile from source successfully
-[ ] Docker Compose bundle deploys successfully with the published images
+[ ] Docker Compose deploys successfully
Review Comment:
The checklist drops "No unexpected binary files" and "Can compile from
source successfully" — the two the sibling template still carries
(`docs/…/release-email-template.md:103`, `:105`), and the ones an Incubator
vote leans on hardest, since the source release is the release.
Asking rather than flagging, since the shortening is deliberate and a prior
comment asks for a shorter email: if the ballot must shrink, would linking the
ASF verification checklist keep those asks without the length?
##########
.github/workflows/create-release-candidate.yml:
##########
@@ -261,6 +261,9 @@ jobs:
RC_DIR="${{ steps.vars.outputs.rc_dir }}"
COMMIT_HASH="${{ steps.vars.outputs.commit_hash }}"
IMAGE_REGISTRY="${{ steps.vars.outputs.image_registry }}"
+ # Container images for an RC are tagged with the RC tag (leading
+ # "v" stripped), e.g. v1.2.0-incubating-rc1 -> 1.2.0-incubating-rc1.
+ IMAGE_TAG="${TAG_NAME#v}"
Review Comment:
This is a third spelling of a value the workflow already computes, and the
three disagree.
The vars step exports an image tag at :124 — the same output the compose
bundle consumes at :168 and writes into the shipped `.env` at :202. Since
`use_tag_as_image_tag` defaults to `false` (:37-41), a default run emails
`1.2.0-incubating-rc1` while the bundle it ships pins a 9-char commit hash.
The Next Steps still name a third tag: :439 says "…with tag `${VERSION}`" —
`1.2.0-incubating`, precisely the tag this PR says is missing during a vote. So
the fix stops at the email and leaves the instruction that creates the mismatch.
The new comment at :264-265 asserts a convention that :110-114 and :439 both
contradict.
One fix: pick the tag the project actually publishes for an RC, then make
:124, :266 and :439 agree — reusing `steps.vars.outputs.image_tag` here is the
mechanism.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]