Skip to content
This repository has been archived by the owner on Feb 6, 2024. It is now read-only.

Update how to release instructions with more details #210

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

jackye1995
Copy link
Contributor

No description provided.

```shell
rm -rf ../iceberg-docs/docs/content
cp -r ../iceberg/docs ../iceberg-docs/docs/content
```
3. Commit the changes and open a PR against the `<VERSION>` branch in the `iceberg-docs` repo
Copy link
Contributor Author

Choose a reason for hiding this comment

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

In the new workflow described here, we do everything against main, and in the end cut the version branch and sync latest branch, this avoids unnecessary commit conflicts and need to do branch merges.

```shell
cd ../iceberg
echo "<VERSION>" > version.txt
Copy link
Contributor Author

Choose a reason for hiding this comment

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

this makes sure the version number is correct for the javadoc folder


Once the common docs changes have been merged into `main`, the next step is to update the versioned docs.
#### Copy versioned documentations
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We could also build a github action in Iceberg repo to sync latest docs and javadoc to here right after a new change. Not sure if there is any way for the github action to commit to this repo or create a PR though.

Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

let me ping Infra team to see if this action can be used, and if it has required permissions

There are a few places in the codebase that reference the latest Iceberg release version number and need to be updated:
1. https://github.com/apache/iceberg/blob/master/.github/ISSUE_TEMPLATE/iceberg_bug_report.yml
2. https://github.com/apache/iceberg/blob/master/python/dev/Dockerfile
3. `oldVersion` in `revapi` in https://github.com/apache/iceberg/blob/master/build.gradle
Copy link
Member

Choose a reason for hiding this comment

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

Do we need to modify all these values in the release commit?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

What do you mean by release commit?

I think this can only be changed after the artifact is released and fully published, so there is a period of time that we have released but still cannot consume the artifact.

Copy link
Member

Choose a reason for hiding this comment

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

I guess I'm just confused about what these instructions are telling me to do, like after release am I making a new commit that updates these things?

Copy link
Contributor

@nastra nastra Mar 24, 2023

Choose a reason for hiding this comment

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

usually we did those updates after a release (at least the revApi oldVersion bump you can only do after artifacts are available). The same applies for the docker file and the docker compose that have been upgraded in apache/iceberg#7164.

For the docker compose to actually work with the latest Iceberg version, I was updating tabular-io/docker-spark-iceberg#72 and tabular-io/iceberg-rest-image#7

@jackye1995
Copy link
Contributor Author

@nastra could you take a look to see if the proposed update would work based on your release experience?

@nastra
Copy link
Contributor

nastra commented Mar 24, 2023

@jackye1995 should we maybe first get #187 in? @gaborkaszab was doing the previous release and also added a few good items there

Copy link
Contributor

@nastra nastra left a comment

Choose a reason for hiding this comment

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

overall this LGTM, thanks @jackye1995

landing-page/content/common/how-to-release.md Outdated Show resolved Hide resolved
@jackye1995
Copy link
Contributor Author

@jackye1995 should we maybe first get #187 in? @gaborkaszab was doing the previous release and also added a few good items there

Oh sorry totally overlooked this. @gaborkaszab is it okay if I just include your content there and mark you as coauthor? Otherwise many changes will need to resolve conflict

@gaborkaszab
Copy link
Contributor

#187

Hey @jackye1995 ,
I'd prefer to submit #187 separately. I believe I have addressed all the current comments. Apparently, there is a merge conflict, let me clean that up and ping the participants to see if we can get it merged soon.

@Fokko
Copy link
Contributor

Fokko commented Jun 1, 2023

@jackye1995 Thanks for creating this PR. I'd love to get this in since we've forgotten to update the Github releases for the last two releases. Would you have time to resolve the conflicts?

@RussellSpitzer
Copy link
Member

Had conflicts with how-to-release

evolution.

This release can be downloaded from: https://www.apache.org/dyn/closer.cgi/iceberg/<TARBALL NAME WITHOUT .tar.gz>/<TARBALL NAME>

Copy link
Contributor

@szehon-ho szehon-ho Jul 26, 2023

Choose a reason for hiding this comment

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

I saw that recently there's release notes link in the email, can we also add that?

Copy link
Contributor

@szehon-ho szehon-ho left a comment

Choose a reason for hiding this comment

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

Looks like great to get in, left a few comments.

I also had a lot of pain around documentation part of the release process. I put some issues I faced here, apache/iceberg#8151 , and am curious if this would solve some of them.

Also we can double check whether these steps make sense for patch-release, and not major release.


#### Versioned documentation update
Raise a PR with the specific changes against `main` branch and merge.
Copy link
Contributor

Choose a reason for hiding this comment

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

Does this differ for patch release vs non-patch release?

there are a few places in the codebase that reference the latest Iceberg release version number and need to be updated:
1. Update `options` list for `Apache Iceberg version` in https://github.com/apache/iceberg/blob/master/.github/ISSUE_TEMPLATE/iceberg_bug_report.yml
2. Update `ICEBERG_VERSION` in https://github.com/apache/iceberg/blob/master/python/dev/Dockerfile
3. Update `oldVersion` in `revapi` in https://github.com/apache/iceberg/blob/master/build.gradle
Copy link
Contributor

Choose a reason for hiding this comment

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

Looks like we should make a note to not do this for patch release: apache/iceberg#8150 (comment)

```

Then release the candidate repository in [Nexus](https://repository.apache.org/#stagingRepositories).
Then create a new GitHub release in https://github.com/apache/iceberg/releases from the release version tag.
Copy link
Contributor

@szehon-ho szehon-ho Jul 26, 2023

Choose a reason for hiding this comment

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

Looks like we can be a bit more consistent with release name, how about specify to call it Apache Iceberg <VERSION>

@bitsondatadev
Copy link
Contributor

bitsondatadev commented Feb 5, 2024

@jackye1995, I'll be updating how to release for the docs section. Once I'm done with that, would you mind moving this over to https://github.com/apache/iceberg/pulls please?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants