Skip to content

test reducing windows dead weight #170

test reducing windows dead weight

test reducing windows dead weight #170

Workflow file for this run

name: Build
on:
push:
# pull_request:
release:
types:
- created
# workflow_dispatch:
jobs:
build:
runs-on: ${{ matrix.os }}
env:
CLOJARS_USERNAME: ${{secrets.CLOJARS_USERNAME}}
CLOJARS_PASSWORD: ${{secrets.CLOJARS_PASSWORD}}
strategy:
matrix:
include:
# - os: macos-14
# platform: macosx-arm64
# - os: ubuntu-22.04
# platform: linux-x86_64
# - os: ubuntu-24.04-arm
# platform: linux-arm64
- os: windows-latest
platform: windows-x86_64
steps:
- name: Checkout repository and submodules
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Cache embedding model
uses: actions/cache@v4
with:
path: target/embedding-models
key: ${{ runner.os }}-${{ matrix.platform }}-multilingual-e5-small-q8_0-v1
- name: Install Lein (Unix)
if: runner.os != 'Windows'
uses: knicknic/os-specific-run@v1.0.3
with:
macos: brew install leiningen
linux: |
curl -O https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
chmod a+x lein
sudo mv lein /usr/local/bin/
- name: Install Lein (Windows)
if: runner.os == 'Windows'
run: |
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein.bat" -OutFile "lein.bat"
.\lein.bat self-install
# macOS ARM64 build
- name: Build macOS ARM64
if: matrix.platform == 'macosx-arm64'
run: |
mkdir -p src/java/datalevin/dtlvnative/macosx-arm64
mkdir -p macosx-arm64/resources/datalevin/dtlvnative/macosx-arm64
brew install libomp llvm
script/build-macos
cp src/*.dylib macosx-arm64/resources/datalevin/dtlvnative/macosx-arm64/
cd macosx-arm64
lein deps
cd ../src/java
java -jar ~/.m2/repository/org/bytedeco/javacpp/1.5.13/javacpp-1.5.13.jar datalevin/dtlvnative/DTLV.java
# Fix libjniDTLV.dylib to use @loader_path for libdtlv.dylib reference
cd datalevin/dtlvnative/macosx-arm64
install_name_tool -change libdtlv.dylib @loader_path/libdtlv.dylib libjniDTLV.dylib
codesign -f -s - libjniDTLV.dylib
cd ../../../../..
cp src/java/datalevin/dtlvnative/macosx-arm64/*.dylib macosx-arm64/resources/datalevin/dtlvnative/macosx-arm64/
cd macosx-arm64
lein run
if [ "${{ github.event_name }}" = "release" ]; then
lein deploy clojars
fi
# Linux x86_64 build
- name: Build Linux x86_64
if: matrix.platform == 'linux-x86_64'
run: |
export CC=/usr/bin/gcc-12
export CXX=/usr/bin/g++-12
sudo apt-get update
sudo apt-get install -y gcc-12 g++-12
mkdir -p linux-x86_64/resources/datalevin/dtlvnative/linux-x86_64
mkdir -p src/java/datalevin/dtlvnative/linux-x86_64
script/build
cp src/*.so linux-x86_64/resources/datalevin/dtlvnative/linux-x86_64
cd linux-x86_64
lein deps
cd ../src/java
java -jar ~/.m2/repository/org/bytedeco/javacpp/1.5.13/javacpp-1.5.13.jar datalevin/dtlvnative/DTLV.java
cd ../..
cp src/java/datalevin/dtlvnative/linux-x86_64/*.so linux-x86_64/resources/datalevin/dtlvnative/linux-x86_64/
cd linux-x86_64
lein run
if [ "${{ github.event_name }}" = "release" ]; then
lein deploy clojars
fi
# Linux ARM64 build
- name: Build Linux ARM64
if: matrix.platform == 'linux-arm64'
run: |
export CC=/usr/bin/gcc-12
export CXX=/usr/bin/g++-12
sudo apt-get update
sudo apt-get install -y gcc-12 g++-12 cmake
mkdir -p src/java/datalevin/dtlvnative/linux-arm64
mkdir -p linux-arm64/resources/datalevin/dtlvnative/linux-arm64
script/build
cp src/*.so linux-arm64/resources/datalevin/dtlvnative/linux-arm64/
cd linux-arm64
lein deps
cd ../src/java
java -jar ~/.m2/repository/org/bytedeco/javacpp/1.5.13/javacpp-1.5.13.jar datalevin/dtlvnative/DTLV.java
cd ../..
cp src/java/datalevin/dtlvnative/linux-arm64/*.so linux-arm64/resources/datalevin/dtlvnative/linux-arm64/
cd linux-arm64
lein run
if [ "${{ github.event_name }}" = "release" ]; then
lein deploy clojars
fi
# Windows x86_64 build
- name: Setup Visual Studio shell
if: runner.os == 'Windows'
uses: ilammy/msvc-dev-cmd@v1
- name: Build Windows x86_64
if: matrix.platform == 'windows-x86_64'
shell: cmd
run: |
mkdir windows-x86_64\resources\datalevin\dtlvnative\windows-x86_64
cd windows-x86_64
if not exist project.clj exit /b 1
call ..\lein.bat deps
if errorlevel 1 exit /b %errorlevel%
cd ..
call script\build.bat
if errorlevel 1 exit /b %errorlevel%
cd windows-x86_64
if not exist project.clj exit /b 1
call ..\lein.bat run
if errorlevel 1 exit /b %errorlevel%
if "%GITHUB_EVENT_NAME%"=="release" call ..\lein.bat deploy clojars