check windows builds still work with new wrapper #61
Workflow file for this run
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
name: publish | |
on: | |
push: | |
tags: | |
- "v*" | |
- "prebuild-test.*" | |
jobs: | |
prebuild: | |
name: Prebuild for ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: ubuntu-latest | |
artifact_name: crsqlite.so | |
asset_name: crsqlite-linux-x86_64.so | |
- os: windows-latest | |
artifact_name: crsqlite.dll | |
asset_name: crsqlite-windows-x86_64.dll | |
- os: macos-latest | |
artifact_name: crsqlite.dylib | |
asset_name: crsqlite-darwin-x86_64.dylib | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Load .env file | |
uses: xom9ikk/dotenv@v2 | |
with: | |
path: ./ | |
- name: Windows rust toolchain | |
if: runner.os == 'Windows' | |
run: | | |
rm core/rs/bundle_static/rust-toolchain.toml | |
rustup component add rust-src --toolchain nightly-2023-06-17-x86_64-pc-windows-gnu | |
rustup default nightly-2023-06-17-x86_64-pc-windows-gnu | |
- name: Build | |
run: | | |
cd core | |
make loadable | |
- name: Upload binaries to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: core/dist/${{ matrix.artifact_name }} | |
asset_name: ${{ matrix.asset_name }} | |
tag: ${{ github.ref }} | |
# we can probably collapse all these into the prebuild job | |
prebuild-macos-arm: | |
name: Prebuild for macos arm | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
include: | |
- os: macos-latest | |
artifact_name: crsqlite.dylib | |
asset_name: crsqlite-darwin-aarch64.dylib | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Rust Nightly | |
run: | | |
rustup toolchain install nightly-2023-06-17 | |
rustup target add aarch64-apple-darwin --toolchain nightly-2023-06-17 | |
- name: Build MacOS Arm dylib | |
run: | | |
cd core | |
export CI_MAYBE_TARGET="aarch64-apple-darwin" && make loadable | |
- name: Upload macos dylib to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: core/dist/${{ matrix.artifact_name }} | |
asset_name: ${{ matrix.asset_name }} | |
tag: ${{ github.ref }} | |
- name: Build all ios dynamic | |
run: | | |
cd core | |
./all-ios-loadable.sh | |
- name: Upload framework to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: core/dist/crsqlite-ios-dylib.xcframework.tar.gz | |
asset_name: crsqlite-ios-dylib.xcframework.tar.gz | |
tag: ${{ github.ref }} | |
prebuild-linux-arm: | |
name: Prebuild for linux arm | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
include: | |
- os: ubuntu-latest | |
artifact_name: crsqlite.so | |
asset_name: crsqlite-linux-aarch64.so | |
steps: | |
- name: Install toolchain | |
run: | | |
sudo apt update && sudo apt install -y gcc make gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Rust Nightly | |
run: | | |
rustup toolchain install nightly-2023-06-17 | |
rustup target add aarch64-unknown-linux-gnu --toolchain nightly-2023-06-17 | |
- name: Build | |
run: | | |
cd core | |
export CI_MAYBE_TARGET="aarch64-unknown-linux-gnu" && export CI_GCC="aarch64-linux-gnu-gcc" && make loadable | |
- name: Upload binaries to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: core/dist/${{ matrix.artifact_name }} | |
asset_name: ${{ matrix.asset_name }} | |
tag: ${{ github.ref }} | |
prebuild-android: | |
name: Prebuild for android | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
include: | |
- os: ubuntu-latest | |
artifact_name: crsqlite.so | |
asset_name: crsqlite-aarch64-linux-android.so | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Rust Nightly | |
run: | | |
rustup toolchain install nightly-2023-06-17 | |
rustup target add aarch64-linux-android --toolchain nightly-2023-06-17 | |
- uses: nttld/setup-ndk@v1 | |
id: setup-ndk | |
with: | |
ndk-version: r25c | |
local-cache: true | |
add-to-path: false | |
- name: Cargo NDK | |
run: cargo install cargo-ndk | |
- name: Build | |
env: | |
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }} | |
run: | | |
cd core | |
export ANDROID_TARGET=aarch64-linux-android; make loadable | |
- name: Upload binaries to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: core/dist/${{ matrix.artifact_name }} | |
asset_name: ${{ matrix.asset_name }} | |
tag: ${{ github.ref }} |