fix: add macos build args to build.rs, simplify ci

since we dont need to pass custom build command anymore to make lua work
on macos, we can dramatically slim down our lua and test CIs
This commit is contained in:
əlemi 2024-09-25 21:32:01 +02:00
parent 224350cdb6
commit 55929146d6
Signed by: alemi
GPG key ID: A4895B84D311642C
3 changed files with 11 additions and 42 deletions

View file

@ -20,19 +20,16 @@ jobs:
target: linux-gnu target: linux-gnu
pre: lib pre: lib
ext: so ext: so
buildcmd: cargo build --release --features=luajit
- runner: windows-latest - runner: windows-latest
arch: x86_64 arch: x86_64
target: windows-msvc target: windows-msvc
pre: pre:
ext: dll ext: dll
buildcmd: cargo build --release --features=luajit
- runner: macos-latest - runner: macos-latest
arch: aarch64 arch: aarch64
target: darwin target: darwin
pre: lib pre: lib
ext: dylib ext: dylib
buildcmd: cargo rustc --release --features=luajit -- -C link-arg=-undefined -C link-arg=dynamic_lookup
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
@ -41,7 +38,7 @@ jobs:
- uses: arduino/setup-protoc@v3 - uses: arduino/setup-protoc@v3
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: ${{ matrix.platform.buildcmd }} - run: cargo build --release --features=luajit
- id: previoustag - id: previoustag
uses: "WyriHaximus/github-action-get-previous-tag@v1" uses: "WyriHaximus/github-action-get-previous-tag@v1"
with: with:

View file

@ -27,38 +27,6 @@ jobs:
- java - java
- js - js
- py - py
toolchain:
- stable
- beta
- nightly
steps:
- uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
- run: cargo build --release --verbose --features=${{ matrix.features }}
# TODO to build lua bindings on macos, we need to tweak the compile command to expose symbols
# since i can't add conditional steps to above task, i have to separate off lua from the rest...
build-lua:
runs-on: ${{ matrix.platform.runner }}
strategy:
fail-fast: false
matrix:
platform:
- runner: ubuntu-latest
action: build
extra:
- runner: windows-latest
action: build
extra:
- runner: macos-latest
action: rustc
extra: -- -C link-arg=-undefined -C link-arg=dynamic_lookup
features:
- luajit - luajit
- lua54 - lua54
toolchain: toolchain:
@ -73,17 +41,13 @@ jobs:
- uses: dtolnay/rust-toolchain@master - uses: dtolnay/rust-toolchain@master
with: with:
toolchain: ${{ matrix.toolchain }} toolchain: ${{ matrix.toolchain }}
- run: cargo ${{ matrix.platform.action }} --release --verbose --features=${{ matrix.features }} ${{ matrix.platform.extra }} - run: cargo build --release --verbose --features=${{ matrix.features }}
test: test:
runs-on: ${{ matrix.runner }} runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
runner:
- ubuntu-latest
- windows-latest
- macos-latest
toolchain: toolchain:
- stable - stable
- beta - beta

View file

@ -15,4 +15,12 @@ fn main() {
{ {
pyo3_build_config::add_extension_module_link_args(); pyo3_build_config::add_extension_module_link_args();
} }
#[cfg(feature = "lua")]
{
if let Ok("macos") = std::env::var("CARGO_CFG_TARGET_OS").as_deref() {
println!("cargo:rustc-cdylib-link-arg=-undefined");
println!("cargo:rustc-cdylib-link-arg=dynamic_lookup");
}
}
} }