Skip to content

Update Cargo.toml

Update Cargo.toml #379

Workflow file for this run

name: CI
on:
push:
branches:
- master
pull_request: {}
jobs:
check-format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
# Use nightly Rust to check the format
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
components: rustfmt, clippy
- name: Check format
run: cargo fmt --all -- --check
check-rust-sdk:
needs:
- check-format
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: rustfmt, clippy
- name: Check with clippy
run: cargo clippy -p longport --all-features
- name: Test
run: cargo test -p longport --all-features
check-python-sdk:
needs:
- check-format
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: rustfmt, clippy
- name: Check with clippy
run: cargo clippy -p longport-python --all-features
- name: Test
run: cargo test -p longport-python --all-features
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
manylinux: auto
args: -i python${{ matrix.python-version }} --release --out dist -m python/Cargo.toml
- name: Install built wheel
run: |
pip install longport --no-index --find-links dist --force-reinstall
python -c "import longport"
check-nodejs-sdk:
needs:
- check-format
strategy:
fail-fast: true
matrix:
settings:
- host: macos-latest
architecture: x64
build: |
npm run build
strip -x *.node
- host: windows-latest
build: npm run build
architecture: x64
- host: ubuntu-latest
build: |
npm run build
strip *.node
- host: macos-latest
target: aarch64-apple-darwin
build: |
sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*;
export CC=$(xcrun -f clang);
export CXX=$(xcrun -f clang++);
SYSROOT=$(xcrun --sdk macosx --show-sdk-path);
export CFLAGS="-isysroot $SYSROOT -isystem $SYSROOT";
yarn build --target aarch64-apple-darwin
strip -x *.node
runs-on: ${{ matrix.settings.host }}
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 16
check-latest: true
architecture: ${{ matrix.settings.architecture }}
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: rustfmt, clippy
target: ${{ matrix.settings.target }}
- name: Check with clippy
run: cargo clippy -p longport-nodejs --all-features
- name: Test
run: cargo test -p longport-nodejs --all-features
- name: Install napi-rs/cli
run: npm install -g @napi-rs/cli
- name: Build
working-directory: nodejs
run: ${{ matrix.settings.build }}
check-java-sdk:
needs:
- check-format
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
java-version: ["8"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install JDK
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java-version }}
distribution: "temurin"
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: rustfmt, clippy
- name: Install cargo make
run: cargo install cargo-make
- name: Check with clippy
run: cargo clippy -p longport-java --all-features
- name: Test
run: cargo test -p longport-java --all-features
- name: Compile java sources
working-directory: java/javasrc
run: mvn package
check-cpp-sdk:
needs:
- check-format
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install MSBuild
if: ${{ matrix.os == 'windows-latest' }}
uses: microsoft/setup-msbuild@v1.1
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: rustfmt, clippy
- name: Get CMake
uses: lukka/get-cmake@latest
- name: Install cargo make
run: cargo install cargo-make
- name: Check with clippy
run: cargo clippy -p longport-c --all-features
- name: Build with cmake
run: |
cargo make cmake
cargo make c
cargo make cpp
check-ios-cpp-sdk:
needs:
- check-format
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: rustfmt, clippy
- name: Install target
run: |
rustup target install aarch64-apple-ios
rustup target install aarch64-apple-ios-sim
- name: Build
run: |
cargo build -p longport-c --target aarch64-apple-ios
cargo build -p longport-c --target aarch64-apple-ios-sim
check-android-cpp-sdk:
needs:
- check-format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: rustfmt, clippy
- name: Install target
run: |
rustup target install armv7-linux-androideabi
rustup target install aarch64-linux-android
- name: Setup NDK
uses: nttld/setup-ndk@v1
with:
ndk-version: r25c
- name: Build
run: |
cargo build -p longport-c --target armv7-linux-androideabi
cargo build -p longport-c --target aarch64-linux-android