Skip to content

New Release Process#301

Merged
michaeljmarshall merged 9 commits intoapache:masterfrom
michaeljmarshall:new-release-process
Oct 21, 2022
Merged

New Release Process#301
michaeljmarshall merged 9 commits intoapache:masterfrom
michaeljmarshall:new-release-process

Conversation

@michaeljmarshall
Copy link
Member

@michaeljmarshall michaeljmarshall commented Oct 14, 2022

Relates to #290

Motivation

Make the Apache Pulsar Helm Chart release follow ASF rules for voting, and make the helm binary available via dist.apache.org. By following the information in https://issues.apache.org/jira/browse/LEGAL-573 and in the Apache Airflow project https://github.com/apache/airflow/blob/main/dev/README_RELEASE_HELM_CHART.md, I built this new release process. It will likely need some iterative improvement.

Modifications

  • Add a release process that is based on the Apache Airflow release process

Verifying this change

  • Make sure that the change passes the CI checks.

Copy link
Member

@tisonkun tisonkun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for preparing the release process @michaeljmarshall!

Comments inline.


## Build Release Notes

Before creating the RC, you need to build and commit the release notes for the release.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How to build and where to commit?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't really defined this yet. The helm chart doesn't move that quickly, so at this point, I was thinking it would be manual. Apache Airflow has a script to generate this information: https://github.com/apache/airflow/blob/main/dev/chart/build_changelog_annotations.py.

Comment on lines +58 to +62
The Release Candidate artifacts we vote upon should be the exact ones we vote against,
without any modification than renaming – i.e. the contents of the files must be
the same between voted release candidate and final release.
Because of this the version in the built artifacts that will become the
official Apache releases must not include the rcN suffix.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest we don't do manual line wrap. But this is not a hard requirement :)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I only had manual line wraps because I copied the Airflow process and wanted to provide reviewers a meaningful diff. I don't feel strongly either way.


# Move the artifacts to svn folder & commit (don't copy or copy & remove - index.yaml)
for f in ../../../pulsar-dist-dev/helm-chart/$RC/*; do svn cp $f ${$(basename $f)/}; done
svn rm index.yaml
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this release manual, it doesn't talk about updating the index.yaml file on https://pulsar.apache.org/charts/index.yaml, and here we remove the index.yaml file on dist.a.o

Then where do we host the index.yaml file?

I suggest we host it on the dist.a.o and redirect https://pulsar.apache.org/charts/index.yaml to there.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great point, I will take a look at how we update the index.yaml tomorrow. I support with hosting it on dist.a.o.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The official helm/chart-releaser may help.

Basically, we port the automation proposed in #292 with manual steps.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense. I am going to merge some final PRs today and then start testing out the workflow to see how it would work. It will likely require some tweaking.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you summarize a bit what actions we perform against the index.yaml file?

I can see that we remove here and add in the steps below, but it's not quite straightforward to review - a flow about where and what we do with the index.yaml file helps.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is fair criticism. I'll document the flow when I get to that step next week.

Co-authored-by: tison <wander4096@gmail.com>
@michaeljmarshall
Copy link
Member Author

Thanks for your thorough review @tisonkun. I will work on improving the doc tomorrow (my time).

@michaeljmarshall
Copy link
Member Author

I am going to merge this new process now, and we'll tweak it as needed.

@michaeljmarshall michaeljmarshall merged commit c8f5e7f into apache:master Oct 21, 2022
@michaeljmarshall michaeljmarshall deleted the new-release-process branch October 21, 2022 05:33
Copy link
Member

@tisonkun tisonkun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SGTM. One comments inline.


# Move the artifacts to svn folder & commit (don't copy or copy & remove - index.yaml)
for f in ../../../pulsar-dist-dev/helm-chart/$RC/*; do svn cp $f ${$(basename $f)/}; done
svn rm index.yaml
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you summarize a bit what actions we perform against the index.yaml file?

I can see that we remove here and add in the steps below, but it's not quite straightforward to review - a flow about where and what we do with the index.yaml file helps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants