Skip to content

Commit

Permalink
This commit contains a lot...
Browse files Browse the repository at this point in the history
Most types defined by the Julia C API are now exposed as opaque types to Rust.
jl-sys's support library has gained many new functions to make this possible.

A multithreaded runtime is now available. The types that give access to a
runtime are now called handles.

Async callbacks have been replaced with background and delegated tasks

The array API is consistent with other types, their element type parameter no
longer refers to the element layout but the element type constructor.

For more changes see the changelog.
  • Loading branch information
Taaitaaiger committed May 12, 2024
1 parent 067d883 commit 7ae88a5
Show file tree
Hide file tree
Showing 333 changed files with 32,137 additions and 105,334 deletions.
23 changes: 0 additions & 23 deletions .cargo/config

This file was deleted.

211 changes: 15 additions & 196 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: CI

on:
push:
branches: [ dev ]
branches: [ master, dev ]
pull_request:
branches: [ master, dev ]

Expand All @@ -25,7 +25,7 @@ jobs:
- name: Setup Julia environment
uses: julia-actions/setup-julia@v1
with:
version: '1.9'
version: '1.10'

- name: Setup Rust
uses: dtolnay/rust-toolchain@master
Expand All @@ -36,7 +36,7 @@ jobs:
run: |
export JULIA_DIR="$(dirname $(dirname $(which julia)))"
export LD_LIBRARY_PATH="${JULIA_DIR}/lib:${JULIA_DIR}/lib/julia:${LD_LIBRARY_PATH}"
cargo test --features full,julia-1-9 --verbose
cargo test --features full,julia-1-10 --verbose
test-macos:
runs-on: macos-latest
Expand All @@ -54,7 +54,7 @@ jobs:
- name: Setup Julia environment
uses: julia-actions/setup-julia@v1
with:
version: '1.9'
version: '1.10'

- name: Setup Rust
uses: dtolnay/rust-toolchain@master
Expand All @@ -65,7 +65,7 @@ jobs:
run: |
export JULIA_DIR="$(dirname $(dirname $(which julia)))"
export DYLD_LIBRARY_PATH="${JULIA_DIR}/lib:${JULIA_DIR}/lib/julia:${DYLD_LIBRARY_PATH}"
cargo test --features full,julia-1-9 --verbose
cargo test --features full,julia-1-10 --verbose
test-windows-gnu:
runs-on: windows-latest
Expand All @@ -83,15 +83,15 @@ jobs:
- name: Setup Julia environment
uses: julia-actions/setup-julia@v1
with:
version: '1.9'
version: '1.10'

- name: Setup Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}

- name: Run tests
run: cargo test --features full,julia-1-9 --verbose
run: cargo test --features full,julia-1-10 --verbose

test-windows-msvc:
runs-on: windows-latest
Expand All @@ -110,7 +110,7 @@ jobs:
id: setup-julia
uses: julia-actions/setup-julia@v1
with:
version: '1.9'
version: '1.10'

- uses: ilammy/msvc-dev-cmd@v1

Expand All @@ -120,7 +120,7 @@ jobs:
toolchain: ${{ matrix.rust }}

- name: Run tests
run: cargo test --features full,julia-1-9 --verbose
run: cargo test --features full,julia-1-10 --verbose

test-linux-lts:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -150,7 +150,7 @@ jobs:
cargo test --features full,julia-1-6 --verbose
test-macos-lts:
runs-on: macos-latest
runs-on: macos-latest-large
continue-on-error: ${{ matrix.allow-fail }}
strategy:
matrix:
Expand Down Expand Up @@ -226,110 +226,6 @@ jobs:
run: |
cargo test --features full,julia-1-6 --verbose
test-linux-beta:
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.allow-fail }}
strategy:
matrix:
rust: [stable]
allow-fail: [false]
steps:
- uses: actions/checkout@v3

- name: Setup Julia environment
uses: julia-actions/setup-julia@v1
with:
version: '~1.10.0-0'

- name: Setup Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}

- name: Run tests
run: |
julia -e "import Pkg; Pkg.add(\"JlrsCore\")"
export JULIA_DIR="$(dirname $(dirname $(which julia)))"
export LD_LIBRARY_PATH="${JULIA_DIR}/lib:${JULIA_DIR}/lib/julia:${LD_LIBRARY_PATH}"
cargo test --features full,julia-1-10 --verbose
test-macos-beta:
runs-on: macos-latest
continue-on-error: ${{ matrix.allow-fail }}
strategy:
matrix:
rust: [stable]
allow-fail: [false]
steps:
- uses: actions/checkout@v3

- name: Setup Julia environment
uses: julia-actions/setup-julia@v1
with:
version: '~1.10.0-0'

- name: Setup Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}

- name: Run tests
run: |
export JULIA_DIR="$(dirname $(dirname $(which julia)))"
export DYLD_LIBRARY_PATH="${JULIA_DIR}/lib:${JULIA_DIR}/lib/julia:${DYLD_LIBRARY_PATH}"
cargo test --features full,julia-1-10 --verbose
test-windows-gnu-beta:
runs-on: windows-latest
continue-on-error: ${{ matrix.allow-fail }}
strategy:
matrix:
rust: [stable-x86_64-pc-windows-gnu]
allow-fail: [false]
steps:
- uses: actions/checkout@v3

- name: Setup Julia environment
uses: julia-actions/setup-julia@v1
with:
version: '~1.10.0-0'

- name: Setup Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}

- name: Run tests
run: |
cargo test --features full,julia-1-10 --verbose --lib --bins --tests
test-windows-msvc-beta:
runs-on: windows-latest
continue-on-error: ${{ matrix.allow-fail }}
strategy:
matrix:
rust: [stable-x86_64-pc-windows-msvc]
allow-fail: [false]
steps:
- uses: actions/checkout@v3

- name: Setup Julia environment
id: setup-julia
uses: julia-actions/setup-julia@v1
with:
version: '~1.10.0-0'

- uses: ilammy/msvc-dev-cmd@v1

- name: Setup Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}

- name: Run tests
run: |
cargo test --features full,julia-1-10 --verbose --lib --bins --tests
julia-module-test-linux:
runs-on: ubuntu-latest
needs: test-linux
Expand All @@ -339,84 +235,7 @@ jobs:
- name: Setup Julia environment
uses: julia-actions/setup-julia@v1
with:
version: '1.9'

- name: Setup Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable

- name: Set env
run: |
export JULIA_DIR=$(dirname $(dirname $(which julia)))
echo "LD_LIBRARY_PATH=${JULIA_DIR}/lib:${JULIA_DIR}/lib/julia:${LD_LIBRARY_PATH}" >> $GITHUB_ENV
echo "JULIA_DIR=${JULIA_DIR}" >> $GITHUB_ENV
- name: Run module tests
run: |
cd julia_module_test
cargo build --features julia-1-9
cp ./target/debug/libjulia_module_test.so .
julia JuliaModuleTest.jl
julia-module-test-windows-gnu:
runs-on: windows-latest
needs: test-windows-gnu
steps:
- uses: actions/checkout@v3

- name: Setup Julia environment
uses: julia-actions/setup-julia@v1
with:
version: '1.9'

- name: Setup Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable-x86_64-pc-windows-gnu

- name: Run module tests
run: |
cd julia_module_test
cargo build --features julia-1-9
cp ./target/debug/julia_module_test.* libjulia_module_test.dll
julia JuliaModuleTest.jl
julia-module-test-macos:
runs-on: macos-latest
needs: test-macos
steps:
- uses: actions/checkout@v3

- name: Setup Julia environment
uses: julia-actions/setup-julia@v1
with:
version: '1.9'

- name: Setup Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable

- name: Run tests
run: |
export JULIA_DIR="$(dirname $(dirname $(which julia)))"
export DYLD_LIBRARY_PATH="${JULIA_DIR}/lib:${JULIA_DIR}/lib/julia:${DYLD_LIBRARY_PATH}"
cd julia_module_test
cargo build --features julia-1-9
cp ./target/debug/libjulia_module_test.* .
julia JuliaModuleTest.jl
julia-module-test-linux-beta:
runs-on: ubuntu-latest
needs: test-linux
steps:
- uses: actions/checkout@v3

- name: Setup Julia environment
uses: julia-actions/setup-julia@v1
with:
version: '~1.10.0-0'
version: '1.10'

- name: Setup Rust
uses: dtolnay/rust-toolchain@master
Expand All @@ -437,7 +256,7 @@ jobs:
julia JuliaModuleTest.jl
julia-module-test-windows-gnu-beta:
julia-module-test-windows-gnu:
runs-on: windows-latest
needs: test-windows-gnu
steps:
Expand All @@ -446,7 +265,7 @@ jobs:
- name: Setup Julia environment
uses: julia-actions/setup-julia@v1
with:
version: '~1.10.0-0'
version: '1.10'

- name: Setup Rust
uses: dtolnay/rust-toolchain@master
Expand All @@ -460,7 +279,7 @@ jobs:
cp ./target/debug/julia_module_test.* libjulia_module_test.dll
julia JuliaModuleTest.jl
julia-module-test-macos-beta:
julia-module-test-macos:
runs-on: macos-latest
needs: test-macos
steps:
Expand All @@ -469,7 +288,7 @@ jobs:
- name: Setup Julia environment
uses: julia-actions/setup-julia@v1
with:
version: '~1.10.0-0'
version: '1.10'

- name: Setup Rust
uses: dtolnay/rust-toolchain@master
Expand Down
Loading

0 comments on commit 7ae88a5

Please sign in to comment.