"demo/frontend/vscode:/vscode.git/clone" did not exist on "17d316f31677ca1ae9f5c83600500cec88514445"
Unverified Commit 2f7bd8ef authored by Nikita Titov's avatar Nikita Titov Committed by GitHub
Browse files

Merge branch 'master' into rocm3

parents 5437ce4f ce3e3121
...@@ -29,6 +29,9 @@ install: ...@@ -29,6 +29,9 @@ install:
$env:MINICONDA = "C:\Miniconda3-x64" $env:MINICONDA = "C:\Miniconda3-x64"
$env:PATH = "$env:MINICONDA;$env:MINICONDA\Scripts;$env:PATH" $env:PATH = "$env:MINICONDA;$env:MINICONDA\Scripts;$env:PATH"
$env:BUILD_SOURCESDIRECTORY = "$env:APPVEYOR_BUILD_FOLDER" $env:BUILD_SOURCESDIRECTORY = "$env:APPVEYOR_BUILD_FOLDER"
# tell scripts where to put artifacts
# (this variable name is left over from when jobs ran on Azure DevOps)
$env:BUILD_ARTIFACTSTAGINGDIRECTORY = "$env:APPVEYOR_BUILD_FOLDER/artifacts"
build: false build: false
......
...@@ -16,6 +16,9 @@ $env:TMPDIR = "$env:USERPROFILE\tmp" ...@@ -16,6 +16,9 @@ $env:TMPDIR = "$env:USERPROFILE\tmp"
Remove-Item $env:TMPDIR -Force -Recurse -ErrorAction Ignore Remove-Item $env:TMPDIR -Force -Recurse -ErrorAction Ignore
[Void][System.IO.Directory]::CreateDirectory($env:TMPDIR) [Void][System.IO.Directory]::CreateDirectory($env:TMPDIR)
# create the artifact upload directory if it doesn't exist yet
[Void][System.IO.Directory]::CreateDirectory($env:BUILD_ARTIFACTSTAGINGDIRECTORY)
if ($env:TASK -eq "r-package") { if ($env:TASK -eq "r-package") {
& .\.ci\test-r-package-windows.ps1 ; Assert-Output $? & .\.ci\test-r-package-windows.ps1 ; Assert-Output $?
exit 0 exit 0
...@@ -56,7 +59,7 @@ if ($env:TASK -eq "swig") { ...@@ -56,7 +59,7 @@ if ($env:TASK -eq "swig") {
Assert-Output $False Assert-Output $False
} }
cmake --build build --target ALL_BUILD --config Release ; Assert-Output $? cmake --build build --target ALL_BUILD --config Release ; Assert-Output $?
if ($env:AZURE -eq "true") { if ($env:PRODUCES_ARTIFACTS -eq "true") {
cp ./build/lightgbmlib.jar $env:BUILD_ARTIFACTSTAGINGDIRECTORY/lightgbmlib_win.jar ; Assert-Output $? cp ./build/lightgbmlib.jar $env:BUILD_ARTIFACTSTAGINGDIRECTORY/lightgbmlib_win.jar ; Assert-Output $?
} }
exit 0 exit 0
......
...@@ -50,6 +50,22 @@ if [[ "${TASK}" == "r-package" ]]; then ...@@ -50,6 +50,22 @@ if [[ "${TASK}" == "r-package" ]]; then
exit 0 exit 0
fi fi
cd "${BUILD_DIRECTORY}"
if [[ $TASK == "swig" ]]; then
cmake -B build -S . -DUSE_SWIG=ON
cmake --build build -j4 || exit 1
if [[ $OS_NAME == "linux" ]] && [[ $COMPILER == "gcc" ]]; then
objdump -T ./lib_lightgbm.so > ./objdump.log || exit 1
objdump -T ./lib_lightgbm_swig.so >> ./objdump.log || exit 1
python ./.ci/check-dynamic-dependencies.py ./objdump.log || exit 1
fi
if [[ $PRODUCES_ARTIFACTS == "true" ]]; then
cp ./build/lightgbmlib.jar "${BUILD_ARTIFACTSTAGINGDIRECTORY}/lightgbmlib_${OS_NAME}.jar"
fi
exit 0
fi
if [[ "$TASK" == "cpp-tests" ]]; then if [[ "$TASK" == "cpp-tests" ]]; then
cmake_args=( cmake_args=(
-DBUILD_CPP_TEST=ON -DBUILD_CPP_TEST=ON
...@@ -85,22 +101,6 @@ if [[ $TASK == "if-else" ]]; then ...@@ -85,22 +101,6 @@ if [[ $TASK == "if-else" ]]; then
exit 0 exit 0
fi fi
cd "${BUILD_DIRECTORY}"
if [[ $TASK == "swig" ]]; then
cmake -B build -S . -DUSE_SWIG=ON
cmake --build build -j4 || exit 1
if [[ $OS_NAME == "linux" ]] && [[ $COMPILER == "gcc" ]]; then
objdump -T ./lib_lightgbm.so > ./objdump.log || exit 1
objdump -T ./lib_lightgbm_swig.so >> ./objdump.log || exit 1
python ./.ci/check-dynamic-dependencies.py ./objdump.log || exit 1
fi
if [[ $PRODUCES_ARTIFACTS == "true" ]]; then
cp ./build/lightgbmlib.jar "${BUILD_ARTIFACTSTAGINGDIRECTORY}/lightgbmlib_${OS_NAME}.jar"
fi
exit 0
fi
if [[ $PYTHON_VERSION == "3.9" ]]; then if [[ $PYTHON_VERSION == "3.9" ]]; then
CONDA_REQUIREMENT_FILE="${BUILD_DIRECTORY}/.ci/conda-envs/ci-core-py39.txt" CONDA_REQUIREMENT_FILE="${BUILD_DIRECTORY}/.ci/conda-envs/ci-core-py39.txt"
else else
......
name: SWIG
on:
push:
branches:
- master
pull_request:
branches:
- master
# automatically cancel in-progress builds if another commit is pushed
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
# tell scripts where to put artifacts
# (this variable name is left over from when jobs ran on Azure DevOps)
BUILD_ARTIFACTSTAGINGDIRECTORY: '${{ github.workspace }}/artifacts'
# in CMake-driven builds, parallelize compilation
CMAKE_BUILD_PARALLEL_LEVEL: 4
# all SWIG jobs produce artifacts
PRODUCES_ARTIFACTS: 'true'
# all jobs here have the same 'TASK'
TASK: swig
jobs:
test-swig:
name: swig (${{ matrix.os-display-name || matrix.os }}, ${{ matrix.compiler }})
runs-on: ${{ matrix.os }}
container: ${{ matrix.container }}
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
compiler: gcc
container: 'lightgbm.azurecr.io/vsts-agent:manylinux_2_28_x86_64'
artifact-name: swig-linux-x86_64-jar
os-display-name: 'manylinux_2_28'
- os: macos-13
compiler: clang
container: null
artifact-name: swig-macos-x86_64-jar
# Visual Studio 2022
- os: windows-2022
compiler: msvc
container: null
artifact-name: swig-windows-x86_64-jar
steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
fetch-depth: 5
persist-credentials: false
submodules: true
- name: Setup and run tests on Linux and macOS
if: startsWith(matrix.os, 'macos') || startsWith(matrix.os, 'ubuntu')
shell: bash
run: |
export BUILD_DIRECTORY="${GITHUB_WORKSPACE}"
export COMPILER="${{ matrix.compiler }}"
export CONDA="${HOME}/miniforge"
export PATH=${CONDA}/bin:${PATH}
if [[ "${{ matrix.os }}" =~ ^macos ]]; then
export OS_NAME="macos"
elif [[ "${{ matrix.os }}" == "ubuntu-latest" ]]; then
export OS_NAME="linux"
fi
$GITHUB_WORKSPACE/.ci/setup.sh
$GITHUB_WORKSPACE/.ci/test.sh
- name: Setup and run tests on Windows
if: startsWith(matrix.os, 'windows')
shell: pwsh -command ". {0}"
run: |
$env:BUILD_DIRECTORY = $env:GITHUB_WORKSPACE
$env:BUILD_SOURCESDIRECTORY = $env:BUILD_DIRECTORY
& "$env:GITHUB_WORKSPACE/.ci/test-windows.ps1"
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact-name }}
path: ${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }}/*.jar
if-no-files-found: error
all-swig-jobs-successful:
if: always()
runs-on: ubuntu-latest
needs:
- test-swig
steps:
- name: Note that all tests succeeded
uses: re-actors/alls-green@v1.2.2
with:
jobs: ${{ toJSON(needs) }}
...@@ -8,7 +8,6 @@ trigger: ...@@ -8,7 +8,6 @@ trigger:
pr: pr:
- master - master
variables: variables:
AZURE: 'true'
CMAKE_BUILD_PARALLEL_LEVEL: 4 CMAKE_BUILD_PARALLEL_LEVEL: 4
PYTHON_VERSION: '3.13' PYTHON_VERSION: '3.13'
runCodesignValidationInjection: false runCodesignValidationInjection: false
...@@ -110,8 +109,6 @@ jobs: ...@@ -110,8 +109,6 @@ jobs:
gpu_source: gpu_source:
TASK: gpu TASK: gpu
METHOD: source METHOD: source
swig:
TASK: swig
steps: steps:
- script: | - script: |
echo "##vso[task.setvariable variable=BUILD_DIRECTORY]$BUILD_SOURCESDIRECTORY" echo "##vso[task.setvariable variable=BUILD_DIRECTORY]$BUILD_SOURCESDIRECTORY"
...@@ -138,7 +135,7 @@ jobs: ...@@ -138,7 +135,7 @@ jobs:
condition: > condition: >
and( and(
succeeded(), succeeded(),
in(variables['TASK'], 'regular', 'sdist', 'bdist', 'swig'), in(variables['TASK'], 'regular', 'sdist', 'bdist'),
not(startsWith(variables['Build.SourceBranch'], 'refs/pull/')) not(startsWith(variables['Build.SourceBranch'], 'refs/pull/'))
) )
inputs: inputs:
...@@ -236,15 +233,12 @@ jobs: ...@@ -236,15 +233,12 @@ jobs:
PYTHON_VERSION: '3.10' PYTHON_VERSION: '3.10'
bdist: bdist:
TASK: bdist TASK: bdist
swig:
TASK: swig
steps: steps:
- script: | - script: |
echo "##vso[task.setvariable variable=BUILD_DIRECTORY]$BUILD_SOURCESDIRECTORY" echo "##vso[task.setvariable variable=BUILD_DIRECTORY]$BUILD_SOURCESDIRECTORY"
CONDA=$AGENT_HOMEDIRECTORY/miniforge CONDA=$AGENT_HOMEDIRECTORY/miniforge
echo "##vso[task.setvariable variable=CONDA]$CONDA" echo "##vso[task.setvariable variable=CONDA]$CONDA"
echo "##vso[task.prependpath]$CONDA/bin" echo "##vso[task.prependpath]$CONDA/bin"
echo "##vso[task.setvariable variable=JAVA_HOME]$JAVA_HOME_8_X64"
displayName: 'Set variables' displayName: 'Set variables'
- script: | - script: |
git clean -d -f -x git clean -d -f -x
...@@ -263,7 +257,7 @@ jobs: ...@@ -263,7 +257,7 @@ jobs:
condition: > condition: >
and( and(
succeeded(), succeeded(),
in(variables['TASK'], 'regular', 'bdist', 'swig'), in(variables['TASK'], 'regular', 'bdist'),
not(startsWith(variables['Build.SourceBranch'], 'refs/pull/')) not(startsWith(variables['Build.SourceBranch'], 'refs/pull/'))
) )
inputs: inputs:
...@@ -286,8 +280,6 @@ jobs: ...@@ -286,8 +280,6 @@ jobs:
PYTHON_VERSION: '3.10' PYTHON_VERSION: '3.10'
bdist: bdist:
TASK: bdist TASK: bdist
swig:
TASK: swig
steps: steps:
- powershell: | - powershell: |
Write-Host "##vso[task.prependpath]$env:CONDA\Scripts" Write-Host "##vso[task.prependpath]$env:CONDA\Scripts"
...@@ -311,7 +303,7 @@ jobs: ...@@ -311,7 +303,7 @@ jobs:
condition: > condition: >
and( and(
succeeded(), succeeded(),
in(variables['TASK'], 'regular', 'bdist', 'swig'), in(variables['TASK'], 'regular', 'bdist'),
not(startsWith(variables['Build.SourceBranch'], 'refs/pull/')) not(startsWith(variables['Build.SourceBranch'], 'refs/pull/'))
) )
inputs: inputs:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment