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] remove unnecessary package installations in CI #6488

Merged
merged 8 commits into from
Jun 17, 2024
21 changes: 7 additions & 14 deletions .ci/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,7 @@ if [[ $OS_NAME == "macos" ]]; then
# Check https://github.com/actions/runner-images/tree/main/images/macos for available
# versions of Xcode
sudo xcode-select -s /Applications/Xcode_14.3.1.app/Contents/Developer || exit 1
if [[ $TASK != "mpi" ]]; then
brew install gcc
fi
brew install gcc
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I believe that != "mpi" was just a shorter way to represent some other subset of jobs and that this has been carried forward unnecessarily from older versions of these build scripts.

Proposing removing this condition to simplify the scripts a bit... if the job has COMPILER=gcc set, we need to install gcc.

fi
if [[ $TASK == "mpi" ]]; then
brew install open-mpi
Expand All @@ -41,35 +39,30 @@ else # Linux
software-properties-common

sudo apt-get install --no-install-recommends -y \
apt-utils \
build-essential \
ca-certificates \
cmake \
curl \
git \
iputils-ping \
jq \
libcurl4 \
libicu-dev \
libssl-dev \
libunwind8 \
locales \
locales-all \
netcat \
unzip \
zip || exit 1
locales-all || exit 1
if [[ $COMPILER == "clang" ]]; then
sudo apt-get install --no-install-recommends -y \
clang \
libomp-dev
elif [[ $COMPILER == "clang-17" ]]; then
sudo apt-get install wget
sudo apt-get install --no-install-recommends -y \
wget
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
sudo apt-add-repository deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main
sudo apt-add-repository deb-src http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main
sudo apt-get update
sudo apt-get install -y clang-17
sudo apt-get install --no-install-recommends -y libomp-17-dev
sudo apt-get install -y \
clang-17 \
libomp-17-dev
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

With a --no-install-recommends added here, the C++ tests fail:

[ 70%] Building CXX object CMakeFiles/lightgbm_objs.dir/src/treelearner/serial_tree_learner.cpp.o
In file included from /__w/1/s/src/treelearner/linear_tree_learner.cpp:7:
In file included from /__w/1/s/external_libs/eigen/Eigen/Dense:1:
In file included from /__w/1/s/external_libs/eigen/Eigen/Core:22:
In file included from /__w/1/s/external_libs/eigen/Eigen/src/Core/util/ConfigureVectorization.h:346:
In file included from /usr/lib/llvm-17/lib/clang/17/include/emmintrin.h:17:
In file included from /usr/lib/llvm-17/lib/clang/17/include/xmmintrin.h:31:
/usr/lib/llvm-17/lib/clang/17/include/mm_malloc.h:32:40: error: 'alloc_align' attribute parameter 1 is out of bounds
   32 |                                        __alloc_align__(2)))

https://dev.azure.com/lightgbm-ci/lightgbm-ci/_build/results?buildId=16401&view=results

I'm unsure why. For now, just letting apt-get install the other recommended packages seems to resolve that, so I think we should continue doing that.

fi

export LANG="en_US.UTF-8"
Expand Down
Loading