This commit is contained in:
eric
2021-07-02 06:37:07 +08:00
parent 2b042bed83
commit 2cbec8bcd3
79 changed files with 796 additions and 889 deletions

View File

@@ -3,42 +3,41 @@ name: ci
on: [push, pull_request]
jobs:
test:
strategy:
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
runs-on: ${{ matrix.os }}
steps:
- name: checkout
uses: actions/checkout@v2
with:
submodules: true
- name: install rust toolchain
uses: hecrj/setup-rust-action@v1
with:
rust-version: nightly
- name: test leaf
run: cargo test -p leaf
# test:
# strategy:
# matrix:
# os:
# - macos-latest
# - ubuntu-latest
# - windows-latest
# runs-on: ${{ matrix.os }}
# steps:
# - name: checkout
# uses: actions/checkout@v2
# with:
# submodules: true
#
# - name: install rust toolchain
# uses: hecrj/setup-rust-action@v1
# with:
# rust-version: nightly
#
# - name: test leaf
# run: cargo test -p leaf
build-bin-cross:
needs: [test]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
- mips-unknown-linux-musl
- mipsel-unknown-linux-musl
# - mipsel-unknown-linux-musl
- x86_64-unknown-linux-musl
- i686-unknown-linux-musl
# - i686-unknown-linux-musl
- aarch64-unknown-linux-musl
- arm-unknown-linux-musleabi
- armv7-unknown-linux-musleabihf
# - arm-unknown-linux-musleabi
# - armv7-unknown-linux-musleabihf
- x86_64-pc-windows-gnu
steps:
- name: checkout
@@ -91,7 +90,6 @@ jobs:
path: leaf-${{ matrix.target }}
build-bin-local:
needs: [test]
strategy:
matrix:
os: [macos-latest]
@@ -136,40 +134,39 @@ jobs:
name: leaf-${{ matrix.target }}
path: leaf-${{ matrix.target }}
build-lib-ios:
needs: [test]
runs-on: macos-latest
steps:
- name: checkout
uses: actions/checkout@v2
with:
submodules: true
- name: install rust
uses: hecrj/setup-rust-action@v1
with:
rust-version: nightly
- name: install toolchain
run: |
rustup target add aarch64-apple-ios
cargo install cargo-lipo
cargo install cbindgen
brew update && brew install llvm unzip protobuf
- name: build
run: |
export RUSTFLAGS="-Z strip=symbols"
make ios
- name: zip artifacts
run: |
mv target/universal/release/libleaf.a .
mv target/universal/release/leaf.h .
zip libleaf-ios.zip leaf.h libleaf.a
- name: upload assets
uses: actions/upload-artifact@v2
with:
name: libleaf-ios.zip
path: libleaf-ios.zip
# build-lib-ios:
# runs-on: macos-latest
# steps:
# - name: checkout
# uses: actions/checkout@v2
# with:
# submodules: true
#
# - name: install rust
# uses: hecrj/setup-rust-action@v1
# with:
# rust-version: nightly
#
# - name: install toolchain
# run: |
# rustup target add aarch64-apple-ios
# cargo install cargo-lipo
# cargo install cbindgen
# brew update && brew install llvm unzip protobuf
#
# - name: build
# run: |
# export RUSTFLAGS="-Z strip=symbols"
# make ios
#
# - name: zip artifacts
# run: |
# mv target/universal/release/libleaf.a .
# mv target/universal/release/leaf.h .
# zip libleaf-ios.zip leaf.h libleaf.a
#
# - name: upload assets
# uses: actions/upload-artifact@v2
# with:
# name: libleaf-ios.zip
# path: libleaf-ios.zip

View File

@@ -12,12 +12,12 @@ jobs:
matrix:
target:
- mips-unknown-linux-musl
- mipsel-unknown-linux-musl
# - mipsel-unknown-linux-musl
- x86_64-unknown-linux-musl
- i686-unknown-linux-musl
# - i686-unknown-linux-musl
- aarch64-unknown-linux-musl
- arm-unknown-linux-musleabi
- armv7-unknown-linux-musleabihf
# - arm-unknown-linux-musleabi
# - armv7-unknown-linux-musleabihf
- x86_64-pc-windows-gnu
steps:
- name: checkout
@@ -110,42 +110,42 @@ jobs:
name: leaf-${{ matrix.target }}
path: leaf-${{ matrix.target }}
build-lib-ios:
runs-on: macos-latest
steps:
- name: checkout
uses: actions/checkout@v2
with:
submodules: true
- name: install rust
uses: hecrj/setup-rust-action@v1
with:
rust-version: nightly
- name: install toolchain
run: |
rustup target add aarch64-apple-ios
cargo install cargo-lipo
cargo install cbindgen
brew update && brew install llvm unzip protobuf
- name: build
run: |
export RUSTFLAGS="-Z strip=symbols"
make ios
- name: zip artifacts
run: |
mv target/universal/release/libleaf.a .
mv target/universal/release/leaf.h .
zip libleaf-ios.zip leaf.h libleaf.a
- name: upload assets
uses: actions/upload-artifact@v2
with:
name: libleaf-ios.zip
path: libleaf-ios.zip
# build-lib-ios:
# runs-on: macos-latest
# steps:
# - name: checkout
# uses: actions/checkout@v2
# with:
# submodules: true
#
# - name: install rust
# uses: hecrj/setup-rust-action@v1
# with:
# rust-version: nightly
#
# - name: install toolchain
# run: |
# rustup target add aarch64-apple-ios
# cargo install cargo-lipo
# cargo install cbindgen
# brew update && brew install llvm unzip protobuf
#
# - name: build
# run: |
# export RUSTFLAGS="-Z strip=symbols"
# make ios
#
# - name: zip artifacts
# run: |
# mv target/universal/release/libleaf.a .
# mv target/universal/release/leaf.h .
# zip libleaf-ios.zip leaf.h libleaf.a
#
# - name: upload assets
# uses: actions/upload-artifact@v2
# with:
# name: libleaf-ios.zip
# path: libleaf-ios.zip
create-release:
needs: [build-bin-cross, build-bin-local, build-lib-ios]
@@ -185,12 +185,12 @@ jobs:
target:
- x86_64-apple-darwin
- mips-unknown-linux-musl
- mipsel-unknown-linux-musl
# - mipsel-unknown-linux-musl
- x86_64-unknown-linux-musl
- i686-unknown-linux-musl
# - i686-unknown-linux-musl
- aarch64-unknown-linux-musl
- arm-unknown-linux-musleabi
- armv7-unknown-linux-musleabihf
# - arm-unknown-linux-musleabi
# - armv7-unknown-linux-musleabihf
- x86_64-pc-windows-gnu
steps:
- name: download upload url
@@ -247,35 +247,35 @@ jobs:
asset_name: leaf-${{ matrix.target }}.zip
asset_content_type: application/octet-stream
release-lib:
needs: [create-release]
runs-on: macos-latest
steps:
- name: download upload url
uses: actions/download-artifact@v2
with:
name: upload_url.txt
- name: get upload url
run: |
upload_url=`cat upload_url.txt`
echo "uploadurl=$upload_url" >> $GITHUB_ENV
- name: install deps
run: |
brew update && brew install unzip
- name: download asset
uses: actions/download-artifact@v2
with:
name: libleaf-ios.zip
- name: upload asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ env.uploadurl }}
asset_path: ./libleaf-ios.zip
asset_name: libleaf-ios.zip
asset_content_type: application/octet-stream
# release-lib:
# needs: [create-release]
# runs-on: macos-latest
# steps:
# - name: download upload url
# uses: actions/download-artifact@v2
# with:
# name: upload_url.txt
#
# - name: get upload url
# run: |
# upload_url=`cat upload_url.txt`
# echo "uploadurl=$upload_url" >> $GITHUB_ENV
#
# - name: install deps
# run: |
# brew update && brew install unzip
#
# - name: download asset
# uses: actions/download-artifact@v2
# with:
# name: libleaf-ios.zip
#
# - name: upload asset
# uses: actions/upload-release-asset@v1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# upload_url: ${{ env.uploadurl }}
# asset_path: ./libleaf-ios.zip
# asset_name: libleaf-ios.zip
# asset_content_type: application/octet-stream