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

use macos-latest-large for test #4

Closed
wants to merge 1 commit 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.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
135 changes: 18 additions & 117 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,70 +17,24 @@ jobs:
with:
product: opensearch

Build-k-NN-Linux:
strategy:
matrix:
java: [11, 17, 21]

name: Build and Test k-NN Plugin on Linux
runs-on: ubuntu-latest
needs: Get-CI-Image-Tag
container:
# using the same image which is used by opensearch-build team to build the OpenSearch Distribution
# this image tag is subject to change as more dependencies and updates will arrive over time
image: ${{ needs.Get-CI-Image-Tag.outputs.ci-image-version-linux }}
# need to switch to root so that github actions can install runner binary on container without permission issues.
options: --user root

steps:
- name: Checkout k-NN
uses: actions/checkout@v1
with:
submodules: true

# Setup git user so that patches for native libraries can be applied and committed
- name: Setup git user
run: |
su `id -un 1000` -c 'git config --global user.name "github-actions[bot]"'
su `id -un 1000` -c 'git config --global user.email "github-actions[bot]@users.noreply.github.com"'

- name: Setup Java ${{ matrix.java }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}

- name: Run build
# switching the user, as OpenSearch cluster can only be started as root/Administrator on linux-deb/linux-rpm/windows-zip.
run: |
chown -R 1000:1000 `pwd`
if lscpu | grep -i avx2
then
echo "avx2 available on system"
su `id -un 1000` -c "whoami && java -version && ./gradlew build"
else
echo "avx2 not available on system"
su `id -un 1000` -c "whoami && java -version && ./gradlew build -Dsimd.enabled=false"
fi


- name: Upload Coverage Report
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}

Build-k-NN-MacOS:
strategy:
matrix:
java: [ 11, 17, 21 ]
java: [ 11 ]

name: Build and Test k-NN Plugin on MacOS
needs: Get-CI-Image-Tag
runs-on: macos-latest
runs-on: macos-13

steps:
- name: Checkout k-NN
uses: actions/checkout@v1

- name: Check system capabilities
run: |
# use arch to check the system architecture
arch

# Setup git user so that patches for native libraries can be applied and committed
- name: Setup git user
run: |
Expand All @@ -95,75 +49,22 @@ jobs:
- name: Install dependencies on macos
run: |
brew reinstall gcc
brew reinstall llvm
export FC=/usr/local/Cellar/gcc/12.2.0/bin/gfortran

- name: Run build
run: |
if sysctl -n machdep.cpu.features machdep.cpu.leaf7_features | grep -i AVX2
then
echo "avx2 available on system"
./gradlew build
# echo "avx2 available on system"
# cd jni
# cmake . --fresh
# make
./gradlew build -x buildJniLib
else
echo "avx2 not available on system"
./gradlew build -Dsimd.enabled=false
# echo "avx2 not available on system"
# cd jni
# cmake . --fresh -DOpenMP_CXX_INCLUDE_DIR=/usr/local/opt/llvm/include/openmp -DSIMD_ENABLED=false
# make
./gradlew build -Dsimd.enabled=false -x buildJniLib
fi

Build-k-NN-Windows:
strategy:
matrix:
java: [ 11, 17, 21 ]

name: Build and Test k-NN Plugin on Windows
needs: Get-CI-Image-Tag
runs-on: windows-latest

steps:
- name: Checkout k-NN
uses: actions/checkout@v1

# Setup git user so that patches for native libraries can be applied and committed
- name: Setup git user
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"

- name: Setup Java ${{ matrix.java }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}

- name: Install MinGW Using Scoop
run: |
iex "& {$(irm get.scoop.sh)} -RunAsAdmin"
scoop bucket add main
scoop install mingw

- name: Add MinGW to PATH
run: |
echo "C:/Users/runneradmin/scoop/apps/mingw/current/bin" >> $env:GITHUB_PATH
Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
refreshenv

- name: Install Zlib Using Scoop
run: |
echo "C:/Users/runneradmin/scoop/shims" >> $env:GITHUB_PATH
Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
refreshenv
scoop bucket add extras
scoop install zlib
regedit /s "C:\\Users\\runneradmin\\scoop\\apps\\zlib\\current\\register.reg"

- name: Download OpenBLAS
run: |
curl -L -O https://github.com/xianyi/OpenBLAS/releases/download/v0.3.21/OpenBLAS-0.3.21-x64.zip
mkdir OpenBLAS
Expand-Archive -Path .\OpenBLAS-0.3.21-x64.zip -DestinationPath .\OpenBLAS\
mkdir ./src/main/resources/windowsDependencies
cp ./OpenBLAS/bin/libopenblas.dll ./src/main/resources/windowsDependencies/
rm .\OpenBLAS-0.3.21-x64.zip
rm -r .\OpenBLAS\

- name: Run build
run: |
./gradlew.bat build -D'simd.enabled=false'

19 changes: 0 additions & 19 deletions .github/workflows/add-untriaged.yml

This file was deleted.

28 changes: 0 additions & 28 deletions .github/workflows/auto-release.yml

This file was deleted.

28 changes: 0 additions & 28 deletions .github/workflows/backport.yml

This file was deleted.

Loading
Loading