Skip to content

Run unit tests in CI #221

Run unit tests in CI

Run unit tests in CI #221

Workflow file for this run

name: Javascript
on:
push:
branches:
- main
pull_request:
types:
- synchronize
- opened
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
linux:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
include:
- TARGET: armv7-unknown-linux-gnueabi
ARCH: arm
PLATFORM: linux
- TARGET: x86_64-unknown-linux-gnu
ARCH: x64
PLATFORM: linux
- TARGET: i686-unknown-linux-gnu
ARCH: ia32
PLATFORM: linux
steps:
- uses: actions/checkout@v3
- name: Install Protoc
uses: arduino/setup-protoc@v2
with:
version: "23.2" # Fixed since we mount the path below
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup nodejs
uses: actions/setup-node@v3
with:
node-version: 18
- name: Use npm v8
# https://github.com/npm/cli/issues/4552
run: npm -g i npm@~8.3
- name: Install npm deps
run: npm install -g jest @mapbox/node-pre-gyp cargo-cp-artifact protobufjs rewire
- name: Build
run: |
cd libs/gl-client-js/
export CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABI_LINKER=/usr/bin/arm-linux-gnueabi-gcc
export CARGO_TARGET=${{ matrix.TARGET }}
npm run build
- name: Bundle
run: |
mkdir gl-client
cp libs/gl-client-js/index.node gl-client/
python libs/gl-client-js/helper.py ${{ matrix.ARCH }}
- name: Upload binaries
uses: actions/upload-artifact@v3
with:
name: binaries
path: gl-client-*.tar.gz
macos:
runs-on: macos-11
strategy:
fail-fast: false
matrix:
include:
- TARGET: x86_64
ARCH: x86_64
- TARGET: aarch64
ARCH: arm64
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@nightly
- name: Install Protoc
uses: arduino/setup-protoc@v2
with:
version: "23.2"
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Use npm v8
# https://github.com/npm/cli/issues/4552
run: npm -g i npm@~8.3
- name: Install npm deps
run: npm install -g jest @mapbox/node-pre-gyp cargo-cp-artifact protobufjs rewire
- name: Build
run: |
cd libs/gl-client-js/
export CARGO_TARGET=${{ matrix.TARGET }}
npm run build
- name: Bundle
run: |
brew install [email protected]
mkdir gl-client
cp libs/gl-client-js/index.node gl-client/
python3 libs/gl-client-js/helper.py ${{ matrix.ARCH }}
- name: Upload binaries
uses: actions/upload-artifact@v3
with:
name: binaries
path: gl-client-*.tar.gz
windows:
runs-on: windows-2019
strategy:
fail-fast: false
matrix:
include:
- TARGET: x86_64-pc-windows-gnu
ARCH: x64
- TARGET: i686-pc-windows-gnu
ARCH: ia32
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@nightly
- name: Install Protoc
uses: arduino/setup-protoc@v2
with:
version: "23.2"
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Use npm v8
# https://github.com/npm/cli/issues/4552
run: npm -g i npm@~8.3
- name: Install npm deps
run: npm install -g jest @mapbox/node-pre-gyp cargo-cp-artifact protobufjs rewire
- name: Build
run: |
cd libs\gl-client-js
set CARGO_TARGET=${{ matrix.TARGET }}
npm run build
- name: Bundle
run: |
mkdir gl-client
cp libs/gl-client-js/index.node gl-client/
python libs/gl-client-js/helper.py ${{ matrix.ARCH }}
- name: Upload binaries
uses: actions/upload-artifact@v3
with:
name: binaries
path: gl-client-*.tar.gz