Merge pull request #350 from napi-rs/test-android

Test android
This commit is contained in:
LongYinan 2020-12-09 16:19:14 +08:00 committed by GitHub
commit 305d42d524
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 71 additions and 3 deletions

66
.github/workflows/android.yml vendored Normal file
View file

@ -0,0 +1,66 @@
name: macOS-Android
on:
push:
env:
DEBUG: 'napi:*'
jobs:
build-android-aarch64:
name: Build - Android - aarch64
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Setup node
uses: actions/setup-node@v1
with:
node-version: 14
- name: List NDK Home
run: ls -R "${ANDROID_NDK_HOME}"
- name: Install
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- name: Install aarch64 toolchain
run: rustup target add aarch64-linux-android
- name: Generate Cargo.lock
uses: actions-rs/cargo@v1
with:
command: generate-lockfile
- name: Cache cargo registry
uses: actions/cache@v1
with:
path: ~/.cargo/registry
key: stable-macos-android-node@14-cargo-registry-trimmed-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@v1
with:
path: ~/.cargo/git
key: stable-macos-android-node@14-cargo-index-trimmed-${{ hashFiles('**/Cargo.lock') }}
- name: Cache NPM dependencies
uses: actions/cache@v1
with:
path: node_modules
key: npm-cache-macos-android-node@14-${{ hashFiles('yarn.lock') }}
- name: Install dependencies
run: yarn install --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000
- name: 'Build TypeScript'
run: yarn build
- name: Cross build native tests
run: |
export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android24-clang"
yarn build:test:android

View file

@ -18,6 +18,7 @@ A minimal library for building compiled `NodeJS` add-ons in `Rust`.
![macOS/Windows/Linux x64](https://github.com/napi-rs/napi-rs/workflows/macOS/Windows/Linux%20x64/badge.svg)
![Linux-aarch64](https://github.com/napi-rs/napi-rs/workflows/Linux-aarch64/badge.svg)
![Linux-armv7](https://github.com/napi-rs/napi-rs/workflows/Linux-armv7/badge.svg)
![macOS-Android](https://github.com/napi-rs/napi-rs/workflows/macOS-Android/badge.svg)
![Windows i686](https://github.com/napi-rs/napi-rs/workflows/Windows%20i686/badge.svg)
[![FreeBSD](https://api.cirrus-ci.com/github/napi-rs/napi-rs.svg)](https://cirrus-ci.com/github/napi-rs/napi-rs?branch=main)

View file

@ -1,6 +1,6 @@
{
"name": "@napi-rs/cli",
"version": "1.0.0-alpha.9",
"version": "1.0.0-alpha.10",
"description": "Cli tools for napi-rs",
"keywords": ["cli", "rust", "napi", "n-api", "neon"],
"author": "LongYinan <lynweklm@gmail.com>",

View file

@ -1,5 +1,4 @@
import { execSync } from 'child_process'
import os from 'os'
import { join, parse, sep } from 'path'
import chalk from 'chalk'
@ -104,7 +103,7 @@ export class BuildCommand extends Command {
debug(`Dylib name: ${chalk.greenBright(dylibName)}`)
const platform = os.platform()
const platform = triple.platform
let libExt
debug(`Platform: ${chalk.greenBright(platform)}`)
@ -121,6 +120,7 @@ export class BuildCommand extends Command {
case 'linux':
case 'freebsd':
case 'openbsd':
case 'android':
case 'sunos':
dylibName = `lib${dylibName}`
libExt = '.so'

View file

@ -15,6 +15,7 @@
"build:bench": "yarn --cwd ./bench build",
"build:test": "yarn --cwd ./test_module build",
"build:test:aarch64": "yarn --cwd ./test_module build-aarch64",
"build:test:android": "yarn --cwd ./test_module build --target aarch64-linux-android",
"build:test:armv7": "yarn --cwd ./test_module build-armv7",
"format": "run-p format:md format:json format:yaml format:source format:rs",
"format:md": "prettier --parser markdown --write './**/*.md'",