android+ios release artifacts

This commit is contained in:
Alex Garcia 2024-09-12 17:28:55 -07:00
parent d26dc92d91
commit 6f75fc327f
2 changed files with 122 additions and 11 deletions

View file

@ -92,6 +92,84 @@ jobs:
name: sqlite-vec-wasm32-emscripten name: sqlite-vec-wasm32-emscripten
path: dist/.wasm/* path: dist/.wasm/*
include-hidden-files: true include-hidden-files: true
build-android-extensions:
runs-on: ubuntu-latest
strategy:
matrix:
platforms:
[
{ name: android-aarch64, cc: aarch64-linux-android21-clang },
{ name: android-i686, cc: i686-linux-android21-clang },
{ name: android-x86_64, cc: x86_64-linux-android21-clang },
{ name: android-armv7a, cc: armv7a-linux-androideabi21-clang },
]
steps:
- uses: actions/checkout@v4
- run: ./scripts/vendor.sh
- uses: actions/setup-java@v4
with:
java-version: "17"
distribution: "temurin"
- uses: android-actions/setup-android@v3
- run: |
sdkmanager --install "ndk;27.0.12077973"
echo "ANDROID_NDK_HOME=$ANDROID_SDK_ROOT/ndk/27.0.12077973" >> $GITHUB_ENV
- run: |
ls $ANDROID_NDK_HOME/toolchains/llvm/prebuilt/
ls $ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin
- run: |
export PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
make CC=${{ matrix.platforms.cc }} \
AR=llvm-ar \
RANLIB=llvm-ranlib \
STRIP=llvm-strip loadable
- uses: actions/upload-artifact@v4
with:
name: sqlite-vec-${{ matrix.platforms.name }}-extension
path: dist/*.so
build-ios-extensions:
runs-on: ${{ matrix.platforms.runner }}
strategy:
fail-fast: false
matrix:
platforms: [
{
name: ios-aarch64,
target: arm64-apple-ios,
sdk: iphoneos,
runner: macos-14,
},
#{
# name: ios-x86_64,
# target: x86_64-apple-ios,
# sdk: iphoneos,
# runner: macos-12,
#},
{
name: iossimulator-aarch64,
target: arm64-apple-ios-simulator,
sdk: iphonesimulator,
runner: macos-14,
},
{
name: iossimulator-x86_64,
target: x86_64-apple-ios-simulator,
sdk: iphonesimulator,
runner: macos-14,
},
]
steps:
- uses: actions/checkout@v4
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- run: ./scripts/vendor.sh
- run: make CFLAGS="-target ${{ matrix.platforms.target }} -isysroot $(xcrun -sdk ${{ matrix.platforms.sdk }} --show-sdk-path) -fembed-bitcode -DNDEBUG=1" loadable static
- uses: actions/upload-artifact@v4
with:
name: sqlite-vec-${{ matrix.platforms.name }}-extension
path: dist/*
dist: dist:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: needs:
@ -101,6 +179,8 @@ jobs:
build-macos-aarch64-extension, build-macos-aarch64-extension,
build-windows-x86_64-extension, build-windows-x86_64-extension,
build-wasm32-emscripten, build-wasm32-emscripten,
build-android-extensions,
build-ios-extensions,
] ]
permissions: permissions:
contents: write contents: write
@ -126,8 +206,40 @@ jobs:
with: with:
name: sqlite-vec-wasm32-emscripten name: sqlite-vec-wasm32-emscripten
path: dist/wasm32-emscripten path: dist/wasm32-emscripten
- uses: actions/download-artifact@v4
with:
name: sqlite-vec-android-aarch64-extension
path: dist/android-aarch64
- uses: actions/download-artifact@v4
with:
name: sqlite-vec-android-i686-extension
path: dist/android-i686
- uses: actions/download-artifact@v4
with:
name: sqlite-vec-android-x86_64-extension
path: dist/android-x86_64
- uses: actions/download-artifact@v4
with:
name: sqlite-vec-android-armv7a-extension
path: dist/android-armv7a
- uses: actions/download-artifact@v4
with:
name: sqlite-vec-android-armv7a-extension
path: dist/android-armv7a
- uses: actions/download-artifact@v4
with:
name: sqlite-vec-ios-aarch64-extension
path: dist/ios-aarch64
- uses: actions/download-artifact@v4
with:
name: sqlite-vec-iossimulator-aarch64-extension
path: dist/iossimulator-aarch64
- uses: actions/download-artifact@v4
with:
name: sqlite-vec-iossimulator-x86_64-extension
path: dist/iossimulator-x86_64
- run: | - run: |
curl -L https://github.com/asg017/sqlite-dist/releases/download/v0.0.1-alpha.11/sqlite-dist-x86_64-unknown-linux-gnu.tar.xz \ curl -L https://github.com/asg017/sqlite-dist/releases/download/v0.0.1-alpha.13/sqlite-dist-x86_64-unknown-linux-gnu.tar.xz \
| tar xfJ - --strip-components 1 | tar xfJ - --strip-components 1
- run: make sqlite-vec.h - run: make sqlite-vec.h
- run: ./sqlite-dist ./sqlite-dist.toml --input dist/ --output distx/ --version $(cat VERSION) - run: ./sqlite-dist ./sqlite-dist.toml --input dist/ --output distx/ --version $(cat VERSION)

View file

@ -20,7 +20,7 @@ jobs:
with: with:
name: sqlite-vec-linux-x86_64-extension name: sqlite-vec-linux-x86_64-extension
path: dist/* path: dist/*
build-x86_64-linux-android-extension: build-android-extensions:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
@ -55,25 +55,24 @@ jobs:
with: with:
name: sqlite-vec-android-${{ matrix.platforms.name }}-extension name: sqlite-vec-android-${{ matrix.platforms.name }}-extension
path: dist/*.so path: dist/*.so
build-ios-extension: build-ios-extensions:
runs-on: ${{ matrix.platforms.runner }} runs-on: ${{ matrix.platforms.runner }}
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
platforms: platforms: [
[
{ {
name: ios-arm64, name: ios-arm64,
target: arm64-apple-ios, target: arm64-apple-ios,
sdk: iphoneos, sdk: iphoneos,
runner: macos-14, runner: macos-14,
}, },
{ #{
name: ios-x86_64, # name: ios-x86_64,
target: x86_64-apple-ios, # target: x86_64-apple-ios,
sdk: iphoneos, # sdk: iphoneos,
runner: macos-12, # runner: macos-12,
}, #},
{ {
name: ios-simulator-arm64, name: ios-simulator-arm64,
target: arm64-apple-ios-simulator, target: arm64-apple-ios-simulator,