-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
release v4.2.0 #6191
release v4.2.0 #6191
Conversation
/gha run r-valgrind Workflow R valgrind tests has been triggered! 🚀 Status: failure ❌. |
✅ successful build: https://readthedocs.org/projects/lightgbm/builds/22543919/ ✅ docs look good: https://lightgbm.readthedocs.io/en/release-v4.2.0/ |
I think we should include a fix for #6195 in this release, I can work on it this week. Also given that the work for supporting arrow isn't complete yet I think we could wait for it as well, WDYT? |
Yeah since you already have #6218 up, I'm good with waiting to officially release this until that's included.
I still feel the way I did in #6034 (comment) ... we shouldn't delay releasing to wait for the Arrow stuff to be done. I want to get that fix for quantized training out soon. |
/gha run r-valgrind Workflow R valgrind tests has been triggered! 🚀 Status: failure ❌. |
I think we're very close to being done now though 😄 given the release cycle of this package, it would be a pity to wait another couple months for it to arrive. |
/gha run r-valgrind Workflow R valgrind tests has been triggered! 🚀 Status: failure ❌. |
The valgrind output (click me)
I strongly believe these are false positives, based on these:
And based on the fact that CRAN has previously accepted our submissions which show these "possibly lost" valgrind findings related to I'm going to build the R package from this branch and submit it to CRAN as v4.2.0. Will post here when I've done that. |
I've built the R package from this branch and submitted it to CRAN as v4.2.0. In addition to all the passed tests here, tested the locally-built package by running Logs to successful win-builder r-devel build: https://win-builder.r-project.org/lWkS6twSPNK8/00check.log @shiyu1994 I'm not sure, but you might receive an email from CRAN asking about the maintainer change. Please check at your earliest convenience, and click any confirmation links they send you. I'll post updates here as the checks run on CRAN. |
🎉 the package passed the 2 automatic checks! I just got a message from CRAN saying that, and that they'll continue with other checks once you confirm the maintainer change @shiyu1994 .
|
@jameslamb I've confirmed the changes. |
thank you!! |
R-package update: so far, so good 🎉
https://cran.r-project.org/web/checks/check_results_lightgbm.html |
Wonderful, thank you so much! |
The CRAN checks for the R package are progressing well! Only 2 of the main CRAN checks remain (unsure how many of the extra ones from https://cran.r-project.org/web/checks/check_issue_kinds.html will be run or if any have been run already). https://cran.r-project.org/web/checks/check_results_lightgbm.html Given that... let's continue with the release. Here's my proposed sequence:
|
Seems that LightGBM can be compiled successfully on I'll put some time into that for the next release... but I don't think it should stop this one, as it's been a problem for a while. R-package details (click me)The R package is passing all checks on CRAN's
But it isn't finding OpenMP. e.g., see https://www.r-project.org/nosvn/R.check/r-release-macos-arm64/lightgbm-00install.html
Python package details (click me)On my M2 Mac with the following:
I ran the following on this branch sh build-python.sh sdist
pip install ./dist/lightgbm-4.2.0.tar.gz
import lightgbm as lgb
from sklearn.datasets import make_regression
X, y = make_regression(n_samples=10_000)
dtrain = lgb.Dataset(X, label=y)
dtrain.construct() I saw a similar deadlock trying to run the tests. pytest tests/python_package_test/test_basic.py I uninstalled pip uninstall lightgbm
pip install \
--config-settings=cmake.define.USE_OPENMP=OFF \
./dist/lightgbm-4.2.0.tar.gz When I did that, that simple example and the tests ran successfully and very fast. |
I think this release is ready to go! @guolinke @shiyu1994 @jmoralez could you please review? @borchero let us know here if you have any questions about the release process or anything you see in the diff of this PR. |
@@ -1,4 +1,4 @@ | |||
version: 4.1.0.99.{build} | |||
version: 4.2.0.{build} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just want to make sure why we are using 4.2.0 now instead of 4.2.0.99 to differentiate between released version and the one built from source?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Like we've done for previous releases, after this that'll get changed to 4.2.0.99
in a follow-up PR.
For example: #6090
This version doesn't affect any artifacts that are delivered to users or anything. Just the way builds are organized in the AppVeyor UI.
https://ci.appveyor.com/project/guolinke/lightgbm/history
Doing this on the release PR ensures these builds are identifiable in the future as belong to the 4.2.0
release.
differentiate between released version and the one built from source
The commit produced when we merge this PR will be the released version.
Thanks everyone! I'll publish the release some time today. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For completeness in the reviewer list 😁🚀
@jameslamb Thanks for your explanation! |
Ran the following to create the git fetch upstream --tags
git tag -d stable
git push upstream :refs/tags/stable
git tag stable
git tag v4.2.0
git push upstream stable v4.2.0 (NOTE: I alias this repo to https://github.com/microsoft/LightGBM/tags That triggered an Azure DevOps build which should create the release automatically: https://dev.azure.com/lightgbm-ci/lightgbm-ci/_build/results?buildId=15616&view=results. This takes around 90 minutes (because of the QEMU CI job). I'll do the remaining tasks tomorrow. |
I'll handle PyPI, NuGet, and homebrew later today. |
|
Uploaded gh release download \
--repo microsoft/LightGBM \
--dir ./artifacts \
--pattern 'lightgbm*-py3-*.whl' \
--pattern 'lightgbm-4.2.0.tar.gz' \
v4.2.0
twine upload \
-r testpypi \
./artifacts/* ( Then confirmed that installing the latest wheel works. pip install -i https://test.pypi.org/simple/ 'lightgbm==4.2.0'
python ./examples/python-guide/logistic_regression.py Then pushed them to real PyPI. twine upload \
./artifacts/* |
These are done. v4.2.0 are now available on readthedocs.
|
Published to NuGet: https://www.nuget.org/packages/LightGBM/4.2.0 And with that, this release is done! Thanks again to everyone who contributed 👋🏻 |
Release checklist:
Copied from #6076, with a few changes.
before merge
configure
file of R-package:/gha run r-configure
.development.mode
fromunreleased
torelease
in pkgdown config file.python-package/pyproject.toml
versionadded::
annotations (docs on those)config.h
have*New in version {version}*
comments addedconfig.h
in this release/gha run r-valgrind
(docs link)PRs that should be merged before releasing:
pyarrow
support)valgrind
check)after merge
v*
tag to triggerGitHubRelease
action at Azure Pipelines.stable
tag at GitHub.release-drafter
to the automatically-created GitHub release, convert it fromDraft
to published.Notes for Reviewers
I believe this should be
v4.2.0
instead ofv4.1.0
because of the two breaking changes:This release of the R package will not be published to CRAN, as #5987 has still not been resolved. I'm still working on that (and making good progress!), but let's not delay the critical fix for quantized training (#6108) waiting on that.#6191 (comment)