Hi Dave, > Just remove that command. Having two servers should be enough.
Agree, I have removed it. > Release candidates should not be made by a bot. Releases must be verified by building them from source. See https://www.apache.org/legal/release-policy.html#owned-controlled-hardware Thanks for the explanation. I get it now. It's mostly because we can only sign the artifacts locally. Apart from that, I think we can make other procedures more automatic and more lightweight. For example, currently we upload `pulsar-2.7.5-source-release.zip` [1] (the size is 6.23 GB) to maven repository. I am not sure if it's necessary to upload this artifact. Anyway, IMO, we need to provide a more clear and convenient way to optimize the releasing procedure. And moving the docs to codebase seems to be a good starting point. [1] https://repository.apache.org/service/local/repositories/orgapachepulsar-1171/content/org/apache/pulsar/pulsar/2.7.5/pulsar-2.7.5-source-release.zip Thanks, Haiting On Mon, Aug 15, 2022 at 10:45 PM Dave Fisher <w...@apache.org> wrote: > > > > On Aug 15, 2022, at 3:30 AM, Haiting Jiang <jianghait...@gmail.com> > wrote: > > > >> Maybe we'd better move the release process doc and validation doc > >> to the codebase, not the wiki pages. > > > > IMO, we can move all contributor documentation and committers > documentation > > to codebase. > > One example is that `pool.sks-keyservers.net` in [1] seems not available > > anymore, but I am not that confident enough to edit it directly. > > Just remove that command. Having two servers should be enough. > > > > >> And another point is can we have an automatic validation program to > reduce > >> the burden on validators? > > > > I am in favour of this idea. At least some of the validations can be done > > automatically, like checking GPG signatures. > > Or we can just run some part of the integration CI process on the release > > artifacts. > > The checksum checking burden is an intentional part of the release > process. That said I often use a verification shell script. > > #!/bin/bash > > export DISTURL='https://dist.apache.org/repos/dist/dev' > export PROJECT=${1} > export ARTIFACT=${2} > export DISTRO=${DISTURL}/${PROJECT}/${ARTIFACT} > > echo ${DISTRO} > > export TMPDIR=/tmp/${PROJECT} > > mkdir -p $TMPDIR > cd $TMPDIR > pwd > > curl -f -L ${DISTRO} --output ${ARTIFACT} > curl -f -L ${DISTRO}.asc --output ${ARTIFACT}.asc > curl -f -L ${DISTRO}.sha256 --output ${ARTIFACT}.sha256 > curl -f -L ${DISTRO}.sha512 --output ${ARTIFACT}.sha512 > > echo 'Check signature' > gpg --verify ${ARTIFACT}.asc > echo 'Compare checksum to sha256' > cat ${ARTIFACT}.sha256 > shasum -a 256 ${ARTIFACT} > echo 'Compare checksum to sha512' > cat ${ARTIFACT}.sha512 > shasum -a 512 ${ARTIFACT} > echo > > > > > > And furthermore, I think we can consider using a BOT (like Github Action) > > to make the release candidates. > > The following release steps require quite a lot of time and a stable > > network. > > - 3.1 Build RPM and DEB packages > > These are considered to be convenience binaries. Only the RM is required > to build them. It’s extra and appreciated if they are built and reviewed by > others in the VOTE. Should the project attempt to start producing > repeatable builds then we can also verify. > > > - 4. Sign and stage the artifacts > > It needs to be a manual script, but that is not too different from a > checker script. > > > - 5. Stage artifacts in maven > > I believe once we make the release process easier, our future version > > releases will be on time more often. > > The most important part of the release is the source release and this > should be the focus during a VOTE. > > Perhaps we need a more nuanced VOTE email. Here is an example from Apache > OpenOffice where there are some 240 artifacts in a release Source + (4 > linux builds + 1 macOS build + 1 windows build) * 41 languages. > > ——— > > I am calling a VOTE on releasing the source and complimentary community > builds of > Apache OpenOffice 4.1.13-RC1 as GA. > > These artifacts can be found at: > > https://dist.apache.org/repos/dist/dev/openoffice/4.1.13-RC1/ > > Please cast your vote: > > The Release Candidate is good for production/GA: > > [ ] yes / +1 > > [ ] no / -1 > > My vote is based on > > [ ] binding (member of PMC) > > [ ] I have built and tested the RC from source on platform [ ] > > [ ] I have tested the binary RC on platform [ ] > > This vote will be open for 7 days to allow for sufficient time > for testing, review, and voting. > > —— > > Best Regards, > Dave > > > > > [1] > > > https://github.com/apache/pulsar/wiki/Create-GPG-keys-to-sign-release-artifacts > > > > BR, > > Haiting > > > > On Fri, Aug 12, 2022 at 6:12 PM PengHui Li <peng...@apache.org> wrote: > > > >> Thanks for raising this question. > >> > >> Maybe we'd better move the release process doc and validation doc > >> to the codebase, not the wiki pages. > >> > >> - Only committers can update the wiki pages > >> - The changes without review > >> > >> After moving to the pulsar codebase > >> > >> - Everyone can contribute to the validation doc > >> - The release process doc update can get reviewers to review > >> > >> I think there are multiple issues that need to be resolved for the > release > >> process > >> > >> - Have the Python client(Linux, osx) at the RC stage, I think currently > we > >> only have the C++ client for RC, but push to pypi after the RC gets > passed > >> - Add validation process for the Python and C++ client > >> - Add the Go function and Python function validation process > >> - Add a script for building images for RC > >> - Add images validation process > >> > >> And another point is can we have an automatic validation program to > reduce > >> the burden on validators? > >> I'm not sure if it is acceptable. > >> > >> Thanks, > >> Penghui > >> > >> On Fri, Aug 12, 2022 at 4:50 PM Haiting Jiang <jianghait...@gmail.com> > >> wrote: > >> > >>>> the 7th step is "Write release notes", should we execute this > >>>> step later? > >>> > >>> From what I see, the release note can be postponed after the voting > >>> process. > >>> And it's not part of the voting content and does not affect whether we > >>> should cut a new release candidate. > >>> > >>>> In addition, I found the previous candidate [2] includes the docker > >>>> images, which is not included in the template of the 8th step "Run the > >>>> vote". It seems to be the 10th step "Publish Docker Images". > >>> > >>> Confused +1, If we do add docker image as part of release vote, we > should > >>> also add validation method in [1] > >>> > >>> [1] https://github.com/apache/pulsar/wiki/Release-Candidate-Validation > >>> > >>> Thanks, > >>> Haiting > >>> > >>> On Thu, Aug 11, 2022 at 9:49 PM Yunze Xu <y...@streamnative.io.invalid > > > >>> wrote: > >>> > >>>> Hi all, > >>>> > >>>> Recently I'm working on the release of 2.8.4 and it's near the vote of > >>>> the 1st candidate but I have some questions. > >>>> > >>>> From the tutorial [1] we can see, the 8th step is "Run the vote". > >>>> However, the 7th step is "Write release notes", should we execute this > >>>> step later? I see the 16th step is also "Write release notes" but the > >>>> 16th step at the beginning of "Release workflow" section is "Update > >>>> the site". > >>>> > >>>> In addition, I found the previous candidate [2] includes the docker > >>>> images, which is not included in the template of the 8th step "Run the > >>>> vote". It seems to be the 10th step "Publish Docker Images". > >>>> > >>>> It seems that the documents are not maintained well, which really > >>>> makes me confused. Therefore, before voting for the 1st candidate, I > >>>> want to get some clarifications from the mail list. > >>>> > >>>> [1] https://github.com/apache/pulsar/wiki/Release-process > >>>> [2] https://lists.apache.org/thread/q0g5ko617rb77b1wqpxy94ks5mq48d88 > >>>> > >>>> > >>>> Thanks, > >>>> Yunze > >>>> > >>>> > >>>> > >>>> > >>>> > >>> > >> > >