Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: auto release java #2827

Merged
merged 5 commits into from
Sep 9, 2024
Merged

ci: auto release java #2827

merged 5 commits into from
Sep 9, 2024

Conversation

LuQQiu
Copy link
Collaborator

@LuQQiu LuQQiu commented Sep 4, 2024

Automatically bump java patch version during stable release
Automatically trigger java publish when detected a stable release

Copy link

github-actions bot commented Sep 4, 2024

ACTION NEEDED
Lance follows the Conventional Commits specification for release automation.

The PR title and description are used as the merge commit message. Please update your PR title and description to match the specification.

For details on the error please inspect the "PR Title Check" action.

@github-actions github-actions bot added the java label Sep 4, 2024
@LuQQiu LuQQiu changed the title [WIP] ci: auto release java ci: auto release java Sep 4, 2024
@github-actions github-actions bot added the ci Github Action or Test issues label Sep 4, 2024
@LuQQiu LuQQiu requested a review from eddyxu September 4, 2024 22:36
run: |
cargo install cargo-workspaces --version 0.2.44
cargo ws version --no-git-commit -y --exact --force 'lance*' ${{ inputs.part }}
- name: Bump java version
Copy link
Contributor

Choose a reason for hiding this comment

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

in my previous experience, we always only auto-bump patch version. all major/minor should be manual commit. but it is up to the lance community :-P

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yeah, lance community also only auto bump patch version, major/minor needs to be manual commit.
Lancedb release pipeline opens the door for auto bump minor version but is also not recommended.

Copy link
Contributor

Choose a reason for hiding this comment

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

ok i might've misunderstood. but looksl ike the code below handles major/minor/patch bump?

Copy link
Contributor

Choose a reason for hiding this comment

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

We have the capability to bump other versions, but we generally only automatically increment minor version.

@@ -93,4 +93,4 @@ jobs:
-Djdk.reflect.useDirectMethodHandle=false \
-Dio.netty.tryReflectionSetAccessible=true"
fi
mvn clean test
mvn clean install
Copy link
Contributor

Choose a reason for hiding this comment

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

nice!

- name: Publish with Java 8
if: github.event_name == 'release'
Copy link
Contributor

Choose a reason for hiding this comment

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

i am a bit confused here. dont you need to invoke bump version first before running Publish with Java 8 ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The release pipeline is

  • create a github tag with version bumped
  • create a github release with the created tag
  • a github stable release automatically triggers the java/python publish process

Copy link
Contributor

Choose a reason for hiding this comment

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

ah i see. i've also see you modified the release_process.md. nice. thanks!

Comment on lines +4 to +5
# Use released instead of published, since we don't publish preview/beta
# versions
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you want to start publishing them later? Feel like it could be useful since we distribute the binaries for Java, right? The only reason we skip Rust is because it's a source-only release, so there's no benefit of publishing over just letting people reference the git repo directly.

@wjones127 wjones127 merged commit f3a031f into lancedb:main Sep 9, 2024
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci Github Action or Test issues java
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants