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

[DO NOT MERGE] Release v3.3.4 #5619

Closed
wants to merge 18 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .appveyor.yml
@@ -1,4 +1,4 @@
version: 3.3.3.{build}
version: 3.3.4.{build}

image: Visual Studio 2015
platform: x64
Expand Down
1 change: 1 addition & 0 deletions .ci/setup.sh
Expand Up @@ -7,6 +7,7 @@ if [[ $OS_NAME == "macos" ]]; then
sudo xcode-select -s /Applications/Xcode_10.3.app/Contents/Developer || exit -1
fi
else # gcc
sudo xcode-select -s /Applications/Xcode_14.1.app/Contents/Developer || exit -1
Copy link
Collaborator Author

@jameslamb jameslamb Dec 6, 2022

Choose a reason for hiding this comment

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

had to pull in this change from #5580 for GitHub Actions and Azure CI jobs on macOS-latest to work

if [[ $TASK != "mpi" ]]; then
brew install gcc
fi
Expand Down
20 changes: 10 additions & 10 deletions .ci/test.sh
Expand Up @@ -118,26 +118,26 @@ if [[ $TASK == "swig" ]]; then
exit 0
fi

# temporary fix for https://github.com/microsoft/LightGBM/issues/5390
if [[ $PYTHON_VERSION == "3.7" ]]; then
DEPENDENCIES="dask distributed"
else
DEPENDENCIES="dask=2022.7.0 distributed=2022.7.0 scipy<1.9"
# hack around https://github.com/microsoft/LightGBM/pull/5619#issuecomment-1341935203 just to produce
# a releasable artifact on Ubuntu 14.04
ARCH=$(uname -m)
PACKAGE_CONSTRAINTS="dask-core distributed pandas numpy scikit-learn scipy"
if [[ $OS_NAME == "linux" ]] && [[ $COMPILER == "gcc" ]] && [[ $ARCH != "aarch64" ]]; then
if [[ $TASK == "bdist" ]] || [[ $TASK == "regular" ]] || [[ $TASK == "mpi" ]]; then
PACKAGE_CONSTRAINTS="dask-core<=2022.7.1 distributed<=2022.7.1 libstdcxx-ng<12.0 numpy<=1.20.0 pandas<=1.4.1 scikit-learn<=1.1.0 scipy<=1.8.0"
fi
fi

# re-including python=version[build=*cpython] to ensure that conda doesn't fall back to pypy
conda install -q -y -n $CONDA_ENV \
cloudpickle \
${DEPENDENCIES} \
joblib \
matplotlib \
numpy \
pandas \
psutil \
pytest \
${PACKAGE_CONSTRAINTS} \
"python=$PYTHON_VERSION[build=*cpython]" \
python-graphviz \
scikit-learn || exit -1
python-graphviz || exit -1

if [[ $OS_NAME == "macos" ]] && [[ $COMPILER == "clang" ]]; then
# fix "OMP: Error #15: Initializing libiomp5.dylib, but found libomp.dylib already initialized." (OpenMP library conflict due to conda's MKL)
Expand Down
9 changes: 5 additions & 4 deletions .ci/test_r_package.sh
Expand Up @@ -21,9 +21,9 @@ if [[ "${R_MAJOR_VERSION}" == "3" ]]; then
export R_LINUX_VERSION="3.6.3-1bionic"
export R_APT_REPO="bionic-cran35/"
elif [[ "${R_MAJOR_VERSION}" == "4" ]]; then
export R_MAC_VERSION=4.2.1
export R_MAC_VERSION=4.2.2
export R_MAC_PKG_URL=${CRAN_MIRROR}/bin/macosx/base/R-${R_MAC_VERSION}.pkg
export R_LINUX_VERSION="4.2.1-1.2004.0"
export R_LINUX_VERSION="4.2.2-1.2004.0"
export R_APT_REPO="focal-cran40/"
else
echo "Unrecognized R version: ${R_VERSION}"
Expand Down Expand Up @@ -76,7 +76,7 @@ if [[ $OS_NAME == "macos" ]]; then
brew install --cask basictex || exit -1
export PATH="/Library/TeX/texbin:$PATH"
sudo tlmgr --verify-repo=none update --self || exit -1
sudo tlmgr --verify-repo=none install inconsolata helvetic || exit -1
sudo tlmgr --verify-repo=none install inconsolata helvetic rsfs || exit -1

curl -sL ${R_MAC_PKG_URL} -o R.pkg || exit -1
sudo installer \
Expand Down Expand Up @@ -163,10 +163,11 @@ elif [[ $R_BUILD_TYPE == "cran" ]]; then
|| (cat ${RCHK_LOG_FILE} && exit -1)
cat ${RCHK_LOG_FILE}

# the exception below is from R itself and not LightGBM:
# the exceptions below are from R itself and not LightGBM:
# https://github.com/kalibera/rchk/issues/22#issuecomment-656036156
exit $(
cat ${RCHK_LOG_FILE} \
| grep -v "in function RunGenCollect" \
| grep -v "in function strptime_internal" \
| grep --count -E '\[PB\]|ERROR'
)
Expand Down
2 changes: 1 addition & 1 deletion .ci/test_r_package_windows.ps1
Expand Up @@ -80,7 +80,7 @@ if ($env:R_MAJOR_VERSION -eq "3") {
$env:RTOOLS_BIN = "$RTOOLS_INSTALL_PATH\usr\bin"
$env:RTOOLS_MINGW_BIN = "$RTOOLS_INSTALL_PATH\x86_64-w64-mingw32.static.posix\bin"
$env:RTOOLS_EXE_FILE = "rtools42-5253-5107.exe"
$env:R_WINDOWS_VERSION = "4.2.1"
$env:R_WINDOWS_VERSION = "4.2.2"
} else {
Write-Output "[ERROR] Unrecognized R version: $env:R_VERSION"
Check-Output $false
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/cuda.yml
Expand Up @@ -37,17 +37,17 @@ jobs:
compiler: gcc
python_version: "3.10"
cuda_version: "9.0"
# task: cuda
# - method: source
# compiler: gcc
# python_version: "3.8"
# cuda_version: "11.7.1"
# task: cuda_exp
# - method: pip
# compiler: clang
# python_version: "3.9"
# cuda_version: "10.0"
# task: cuda_exp
task: cuda
- method: source
compiler: gcc
python_version: "3.8"
cuda_version: "11.7.1"
task: cuda_exp
- method: pip
compiler: clang
python_version: "3.9"
cuda_version: "10.0"
task: cuda_exp
steps:
- name: Setup or update software on host machine
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/r_configure.yml
Expand Up @@ -8,7 +8,7 @@ jobs:
r-configure:
name: r-configure
timeout-minutes: 60
runs-on: ubuntu-latest
runs-on: 'ubuntuu-20.04'
container: "ubuntu:20.04"
steps:
- name: Install essential software before checkout
Expand Down
24 changes: 12 additions & 12 deletions .github/workflows/r_package.yml
Expand Up @@ -33,22 +33,22 @@ jobs:
################
# CMake builds #
################
- os: ubuntu-latest
- os: ubuntu-20.04
task: r-package
compiler: gcc
r_version: 3.6
build_type: cmake
- os: ubuntu-latest
- os: ubuntu-20.04
task: r-package
compiler: gcc
r_version: 4.2
build_type: cmake
- os: ubuntu-latest
- os: ubuntu-20.04
task: r-package
compiler: clang
r_version: 3.6
build_type: cmake
- os: ubuntu-latest
- os: ubuntu-20.04
task: r-package
compiler: clang
r_version: 4.2
Expand Down Expand Up @@ -114,7 +114,7 @@ jobs:
toolchain: MSYS
r_version: 4.2
build_type: cran
- os: ubuntu-latest
- os: ubuntu-20.04
task: r-package
compiler: gcc
r_version: 4.2
Expand All @@ -127,7 +127,7 @@ jobs:
################
# Other checks #
################
- os: ubuntu-latest
- os: ubuntu-20.04
task: r-rchk
compiler: gcc
r_version: 4.2
Expand All @@ -151,15 +151,15 @@ jobs:
CTAN_MIRROR: https://ctan.math.illinois.edu/systems/win32/miktex
TINYTEX_INSTALLER: TinyTeX
- name: Setup and run tests on Linux and macOS
if: matrix.os == 'macOS-latest' || matrix.os == 'ubuntu-latest'
if: matrix.os == 'macOS-latest' || matrix.os == 'ubuntu-20.04'
shell: bash
run: |
export TASK="${{ matrix.task }}"
export COMPILER="${{ matrix.compiler }}"
export GITHUB_ACTIONS="true"
if [[ "${{ matrix.os }}" == "macOS-latest" ]]; then
export OS_NAME="macos"
elif [[ "${{ matrix.os }}" == "ubuntu-latest" ]]; then
elif [[ "${{ matrix.os }}" == "ubuntu-20.04" ]]; then
export OS_NAME="linux"
fi
export BUILD_DIRECTORY="$GITHUB_WORKSPACE"
Expand All @@ -181,9 +181,9 @@ jobs:
$env:TASK = "${{ matrix.task }}"
& "$env:GITHUB_WORKSPACE/.ci/test_windows.ps1"
test-r-sanitizers:
name: r-sanitizers (ubuntu-latest, R-devel, ${{ matrix.compiler }} ASAN/UBSAN)
name: r-sanitizers (ubuntu-20.04, R-devel, ${{ matrix.compiler }} ASAN/UBSAN)
timeout-minutes: 60
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
container: wch1/r-debug
strategy:
fail-fast: false
Expand Down Expand Up @@ -219,7 +219,7 @@ jobs:
test-r-debian-clang:
name: r-package (debian, R-devel, clang)
timeout-minutes: 60
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
container: rhub/debian-clang-devel
steps:
- name: Install Git before checkout
Expand Down Expand Up @@ -248,7 +248,7 @@ jobs:
fi
all-successful:
# https://github.community/t/is-it-possible-to-require-all-github-actions-tasks-to-pass-without-enumerating-them/117957/4?u=graingert
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
needs: [test, test-r-sanitizers, test-r-debian-clang]
steps:
- name: Note that all tests succeeded
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/r_valgrind.yml
Expand Up @@ -8,7 +8,7 @@ jobs:
test-r-valgrind:
name: r-package (ubuntu-latest, R-devel, valgrind)
timeout-minutes: 300
runs-on: ubuntu-latest
runs-on: 'ubuntu-20.04'
container: wch1/r-debug
env:
SECRETS_WORKFLOW: ${{ secrets.WORKFLOW }}
Expand Down
8 changes: 4 additions & 4 deletions .vsts-ci.yml
Expand Up @@ -40,7 +40,7 @@ jobs:
matrix:
regular:
TASK: regular
PYTHON_VERSION: '3.9'
PYTHON_VERSION: '3.8'
sdist:
TASK: sdist
PYTHON_VERSION: '3.7'
Expand Down Expand Up @@ -150,7 +150,7 @@ jobs:
OS_NAME: 'linux'
PRODUCES_ARTIFACTS: 'true'
pool:
vmImage: ubuntu-latest
vmImage: 'ubuntu-20.04'
timeoutInMinutes: 180
strategy:
matrix:
Expand Down Expand Up @@ -297,7 +297,7 @@ jobs:
###########################################
condition: not(startsWith(variables['Build.SourceBranch'], 'refs/pull/'))
pool:
vmImage: 'ubuntu-latest'
vmImage: 'ubuntu-20.04'
container: rbase
steps:
- script: |
Expand Down Expand Up @@ -328,7 +328,7 @@ jobs:
- R_artifact
condition: and(succeeded(), not(startsWith(variables['Build.SourceBranch'], 'refs/pull/')))
pool:
vmImage: 'ubuntu-latest'
vmImage: 'ubuntu-20.04'
steps:
# Create archives with complete source code included (with git submodules)
- task: ArchiveFiles@2
Expand Down
18 changes: 9 additions & 9 deletions R-package/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for lightgbm 3.3.3.
# Generated by GNU Autoconf 2.69 for lightgbm 3.3.4.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
Expand Down Expand Up @@ -576,8 +576,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='lightgbm'
PACKAGE_TARNAME='lightgbm'
PACKAGE_VERSION='3.3.3'
PACKAGE_STRING='lightgbm 3.3.3'
PACKAGE_VERSION='3.3.4'
PACKAGE_STRING='lightgbm 3.3.4'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''

Expand Down Expand Up @@ -1182,7 +1182,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures lightgbm 3.3.3 to adapt to many kinds of systems.
\`configure' configures lightgbm 3.3.4 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

Expand Down Expand Up @@ -1244,7 +1244,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of lightgbm 3.3.3:";;
short | recursive ) echo "Configuration of lightgbm 3.3.4:";;
esac
cat <<\_ACEOF

Expand Down Expand Up @@ -1311,7 +1311,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
lightgbm configure 3.3.3
lightgbm configure 3.3.4
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
Expand All @@ -1328,7 +1328,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by lightgbm $as_me 3.3.3, which was
It was created by lightgbm $as_me 3.3.4, which was
generated by GNU Autoconf 2.69. Invocation command line was

$ $0 $@
Expand Down Expand Up @@ -2419,7 +2419,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by lightgbm $as_me 3.3.3, which was
This file was extended by lightgbm $as_me 3.3.4, which was
generated by GNU Autoconf 2.69. Invocation command line was

CONFIG_FILES = $CONFIG_FILES
Expand Down Expand Up @@ -2472,7 +2472,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
lightgbm config.status 3.3.3
lightgbm config.status 3.3.4
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

Expand Down
2 changes: 1 addition & 1 deletion VERSION.txt
@@ -1 +1 @@
3.3.3
3.3.4
7 changes: 4 additions & 3 deletions include/LightGBM/utils/log.h
Expand Up @@ -109,12 +109,13 @@ class Log {
}
static void Fatal(const char *format, ...) {
va_list val;
char str_buf[1024];
const size_t kBufSize = 1024;
char str_buf[kBufSize];
va_start(val, format);
#ifdef _MSC_VER
vsprintf_s(str_buf, format, val);
vsnprintf_s(str_buf, kBufSize, format, val);
#else
vsprintf(str_buf, format, val);
vsnprintf(str_buf, kBufSize, format, val);
#endif
va_end(val);

Expand Down
1 change: 1 addition & 0 deletions tests/python_package_test/test_dask.py
Expand Up @@ -1436,6 +1436,7 @@ def test_network_params_not_required_but_respected_if_given(task, listen_port, c

@pytest.mark.parametrize('task', tasks)
def test_machines_should_be_used_if_provided(task, cluster):
pytest.skip("skipping due to timeout issues discussed in https://github.com/microsoft/LightGBM/issues/5390")
with Client(cluster) as client:
_, _, _, _, dX, dy, _, dg = _create_data(
objective=task,
Expand Down