-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
18 changed files
with
1,400 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
version: 4.5.0.99.{build} | ||
|
||
image: Visual Studio 2015 | ||
platform: x64 | ||
configuration: | ||
- '3.8' | ||
|
||
# only build on 'master' and pull requests targeting it | ||
branches: | ||
only: | ||
- master | ||
|
||
environment: | ||
matrix: | ||
- COMPILER: MSVC | ||
TASK: python | ||
- COMPILER: MINGW | ||
TASK: python | ||
|
||
clone_depth: 5 | ||
|
||
install: | ||
- git submodule update --init --recursive # get `external_libs` folder | ||
- set PATH=C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin;%PATH% | ||
- set PYTHON_VERSION=%CONFIGURATION% | ||
- ps: | | ||
$env:ALLOW_SKIP_ARROW_TESTS = "1" | ||
$env:APPVEYOR = "true" | ||
$env:CMAKE_BUILD_PARALLEL_LEVEL = 4 | ||
$env:MINICONDA = "C:\Miniconda3-x64" | ||
$env:PATH = "$env:MINICONDA;$env:MINICONDA\Scripts;$env:PATH" | ||
$env:BUILD_SOURCESDIRECTORY = "$env:APPVEYOR_BUILD_FOLDER" | ||
build: false | ||
|
||
test_script: | ||
- conda config --remove channels defaults | ||
- conda config --add channels nodefaults | ||
- conda config --add channels conda-forge | ||
- conda config --set channel_priority strict | ||
- conda init powershell | ||
- powershell.exe -ExecutionPolicy Bypass -File %APPVEYOR_BUILD_FOLDER%\.ci\test-windows.ps1 |
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# This file controls default reviewers for LightGBM code. | ||
# See https://help.github.com/en/articles/about-code-owners | ||
# for details | ||
# | ||
# Maintainers are encouraged to use their best discretion in | ||
# setting reviewers on PRs manually, but this file should | ||
# offer a reasonable automatic best-guess | ||
|
||
# catch-all rule (this only gets matched if no rules below match) | ||
* @guolinke @jameslamb @shiyu1994 @jmoralez @borchero @StrikerRUS |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
--- | ||
name: Bug Report 🐞 | ||
about: Something isn't working as expected? Here is the right place to report. | ||
--- | ||
|
||
## Description | ||
<!-- A clear description of the bug --> | ||
|
||
## Reproducible example | ||
<!-- Minimal code that exhibits this behavior --> | ||
|
||
## Environment info | ||
|
||
LightGBM version or commit hash: | ||
|
||
Command(s) you used to install LightGBM | ||
|
||
```shell | ||
|
||
``` | ||
|
||
<!-- Put any additional environment information here --> | ||
|
||
|
||
## Additional Comments | ||
<!-- What else should we know? --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
--- | ||
name: Feature Request 💡 | ||
about: Suggest a new idea for the project. | ||
labels: enhancement, feature-request | ||
--- | ||
|
||
<!-- | ||
Please search your feature on previous issues and our feature requests consolidation hub (https://github.com/microsoft/LightGBM/issues/2302) before you open a new one. | ||
--> | ||
|
||
## Summary | ||
|
||
<!-- Briefly explain your feature proposal. --> | ||
|
||
## Motivation | ||
|
||
<!-- Why is it useful to have this feature in the LightGBM project? --> | ||
|
||
## Description | ||
|
||
<!-- Detailed description of the new feature. --> | ||
|
||
## References | ||
|
||
<!-- Any useful references, for instance, papers, implementations in other projects, draft code snippets, etc. --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
version: 2 | ||
updates: | ||
- package-ecosystem: github-actions | ||
directory: / | ||
schedule: | ||
interval: monthly | ||
groups: | ||
ci-dependencies: | ||
patterns: | ||
- "*" | ||
commit-message: | ||
prefix: "[ci]" | ||
labels: | ||
- maintenance |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
name-template: 'v$NEXT_PATCH_VERSION' | ||
tag-template: 'v$NEXT_PATCH_VERSION' | ||
categories: | ||
- title: '💡 New Features' | ||
label: 'feature' | ||
- title: '🔨 Breaking' | ||
label: 'breaking' | ||
- title: '🚀 Efficiency Improvement' | ||
label: 'efficiency' | ||
- title: '🐛 Bug Fixes' | ||
label: 'fix' | ||
- title: '📖 Documentation' | ||
label: 'doc' | ||
- title: '🧰 Maintenance' | ||
label: 'maintenance' | ||
change-template: '- $TITLE @$AUTHOR (#$NUMBER)' | ||
template: | | ||
## Changes | ||
$CHANGES |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
name: CUDA Version | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
branches: | ||
- master | ||
# Run manually by clicking a button in the UI | ||
workflow_dispatch: | ||
inputs: | ||
restart_docker: | ||
description: 'Restart nvidia-docker on the runner before building?' | ||
required: true | ||
type: boolean | ||
default: false | ||
|
||
# automatically cancel in-progress builds if another commit is pushed | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
# Optionally reinstall + restart docker on the runner before building. | ||
# This is safe as long as only 1 of these jobs runs at a time. | ||
restart-docker: | ||
name: set up docker | ||
runs-on: [self-hosted, linux] | ||
timeout-minutes: 30 | ||
steps: | ||
- name: Setup or update software on host machine | ||
if: ${{ inputs.restart_docker }} | ||
run: | | ||
# install core packages | ||
sudo apt-get update | ||
sudo apt-get install --no-install-recommends -y \ | ||
apt-transport-https \ | ||
ca-certificates \ | ||
curl \ | ||
gnupg-agent \ | ||
lsb-release \ | ||
software-properties-common | ||
# set up nvidia-docker | ||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - | ||
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" -y | ||
curl -sL https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - | ||
curl -sL https://nvidia.github.io/nvidia-docker/$(. /etc/os-release;echo $ID$VERSION_ID)/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list | ||
sudo apt-get update | ||
sudo apt-get install --no-install-recommends -y \ | ||
containerd.io \ | ||
docker-ce \ | ||
docker-ce-cli \ | ||
nvidia-docker2 | ||
sudo chmod a+rw /var/run/docker.sock | ||
sudo systemctl restart docker | ||
- name: mark job successful | ||
run: | | ||
exit 0 | ||
test: | ||
name: ${{ matrix.task }} ${{ matrix.cuda_version }} ${{ matrix.method }} (${{ matrix.linux_version }}, ${{ matrix.compiler }}, Python ${{ matrix.python_version }}) | ||
runs-on: [self-hosted, linux] | ||
needs: [restart-docker] | ||
container: | ||
image: nvcr.io/nvidia/cuda:${{ matrix.cuda_version }}-devel-${{ matrix.linux_version }} | ||
env: | ||
CMAKE_BUILD_PARALLEL_LEVEL: 4 | ||
COMPILER: ${{ matrix.compiler }} | ||
CONDA: /tmp/miniforge | ||
DEBIAN_FRONTEND: noninteractive | ||
METHOD: ${{ matrix.method }} | ||
OS_NAME: linux | ||
PYTHON_VERSION: ${{ matrix.python_version }} | ||
TASK: ${{ matrix.task }} | ||
SKBUILD_STRICT_CONFIG: true | ||
options: --gpus all | ||
timeout-minutes: 30 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- method: wheel | ||
compiler: gcc | ||
python_version: "3.10" | ||
cuda_version: "11.8.0" | ||
linux_version: "ubuntu20.04" | ||
task: cuda | ||
- method: source | ||
compiler: gcc | ||
python_version: "3.12" | ||
cuda_version: "12.2.0" | ||
linux_version: "ubuntu22.04" | ||
task: cuda | ||
- method: pip | ||
compiler: clang | ||
python_version: "3.11" | ||
cuda_version: "11.8.0" | ||
linux_version: "ubuntu20.04" | ||
task: cuda | ||
steps: | ||
- name: Install latest git and sudo | ||
run: | | ||
apt-get update | ||
apt-get install --no-install-recommends -y \ | ||
ca-certificates \ | ||
software-properties-common | ||
add-apt-repository ppa:git-core/ppa -y | ||
apt-get update | ||
apt-get install --no-install-recommends -y \ | ||
git \ | ||
sudo | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 5 | ||
submodules: true | ||
- name: Setup and run tests | ||
run: | | ||
export BUILD_DIRECTORY="$GITHUB_WORKSPACE" | ||
export PATH=$CONDA/bin:$PATH | ||
# check GPU usage | ||
nvidia-smi | ||
# build and test | ||
$GITHUB_WORKSPACE/.ci/setup.sh | ||
$GITHUB_WORKSPACE/.ci/test.sh | ||
all-cuda-jobs-successful: | ||
if: always() | ||
runs-on: ubuntu-latest | ||
needs: [test] | ||
steps: | ||
- name: Note that all tests succeeded | ||
uses: re-actors/[email protected] | ||
with: | ||
jobs: ${{ toJSON(needs) }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
name: Link checks | ||
|
||
on: | ||
# Run manually by clicking a button in the UI | ||
workflow_dispatch: | ||
# Run once a day at 8:00am UTC | ||
schedule: | ||
- cron: '0 8 * * *' | ||
|
||
env: | ||
COMPILER: gcc | ||
OS_NAME: 'linux' | ||
PYTHON_VERSION: '3.12' | ||
TASK: 'check-links' | ||
|
||
jobs: | ||
check-links: | ||
timeout-minutes: 60 | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 5 | ||
submodules: false | ||
- name: Setup and run tests | ||
run: | | ||
export BUILD_DIRECTORY="$GITHUB_WORKSPACE" | ||
export CONDA=${HOME}/miniforge | ||
export PATH=${CONDA}/bin:${HOME}/.local/bin:${PATH} | ||
$GITHUB_WORKSPACE/.ci/setup.sh || exit 1 | ||
$GITHUB_WORKSPACE/.ci/test.sh || exit 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: 'Lock Inactive Threads' | ||
|
||
on: | ||
schedule: | ||
# midnight UTC, every Wednesday | ||
- cron: '0 0 * * 3' | ||
# allow manual triggering from GitHub UI | ||
workflow_dispatch: | ||
|
||
permissions: | ||
issues: write | ||
pull-requests: write | ||
|
||
concurrency: | ||
group: lock | ||
|
||
jobs: | ||
action: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: dessant/lock-threads@v5 | ||
with: | ||
github-token: ${{ github.token }} | ||
# after how many days of inactivity should a closed issue/PR be locked? | ||
issue-inactive-days: '365' | ||
pr-inactive-days: '365' | ||
# do not close feature request issues... | ||
# we close those but track them in https://github.com/microsoft/LightGBM/issues/2302 | ||
exclude-any-issue-labels: 'feature request' | ||
# what labels should be removed prior to locking? | ||
remove-issue-labels: 'awaiting response,awaiting review,blocking,in progress' | ||
remove-pr-labels: 'awaiting response,awaiting review,blocking,in progress' | ||
# what message should be posted prior to locking? | ||
issue-comment: > | ||
This issue has been automatically locked since there has not been any recent activity since it was closed. | ||
To start a new related discussion, open a new issue at https://github.com/microsoft/LightGBM/issues | ||
including a reference to this. | ||
pr-comment: > | ||
This pull request has been automatically locked since there has not been any recent activity since it was closed. | ||
To start a new related discussion, open a new issue at https://github.com/microsoft/LightGBM/issues | ||
including a reference to this. | ||
# what shoulld the locking status be? | ||
issue-lock-reason: 'resolved' | ||
pr-lock-reason: 'resolved' | ||
process-only: 'issues, prs' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
name: No Response Bot | ||
|
||
permissions: | ||
issues: write | ||
pull-requests: write | ||
|
||
on: | ||
issue_comment: | ||
types: [created] | ||
schedule: | ||
# "every day at 04:00 UTC" | ||
- cron: '0 4 * * *' | ||
|
||
jobs: | ||
noResponse: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: lee-dohm/[email protected] | ||
with: | ||
closeComment: > | ||
This issue has been automatically closed because it has been awaiting a response for too long. | ||
When you have time to to work with the maintainers to resolve this issue, please post a new comment and it will be re-opened. | ||
If the issue has been locked for editing by the time you return to it, please open a new issue and reference this one. | ||
Thank you for taking the time to improve LightGBM! | ||
daysUntilClose: 30 | ||
responseRequiredLabel: awaiting response | ||
token: ${{ github.token }} |
Oops, something went wrong.