56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
name: Node.js CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
test:
|
|
timeout-minutes: 30
|
|
strategy:
|
|
matrix:
|
|
node-version:
|
|
- node/10
|
|
- node/12
|
|
- node/14
|
|
- node/15
|
|
compiler:
|
|
- gcc
|
|
- clang
|
|
os:
|
|
- ubuntu-16.04 # ubuntu-18.04/ubuntu-latest missing package g++-4.9
|
|
- macos-latest
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install system dependencies
|
|
run: |
|
|
if [ "${{ matrix.compiler }}" = "gcc" -a "${{ matrix.os }}" = ubuntu-* ]; then
|
|
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
|
|
sudo apt-get update
|
|
sudo apt-get install g++-4.9
|
|
fi
|
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
run: |
|
|
git clone --branch v1.4.2 --depth 1 https://github.com/jasongin/nvs ~/.nvs
|
|
. ~/.nvs/nvs.sh
|
|
nvs --version
|
|
nvs add ${{ matrix.node-version }}
|
|
nvs use ${{ matrix.node-version }}
|
|
node --version
|
|
npm --version
|
|
npm install
|
|
- name: npm test
|
|
run: |
|
|
if [ "${{ matrix.compiler }}" = "gcc" ]; then
|
|
export CC="gcc" CXX="g++"
|
|
fi
|
|
if [ "${{ matrix.compiler }}" = "gcc" -a "${{ matrix.os }}" = ubuntu-* ]; then
|
|
export CC="gcc-4.9" CXX="g++-4.9" AR="gcc-ar-4.9" RANLIB="gcc-ranlib-4.9" NM="gcc-nm-4.9"
|
|
fi
|
|
if [ "${{ matrix.compiler }}" = "clang" ]; then
|
|
export CC="clang" CXX="clang++"
|
|
fi
|
|
export CFLAGS="$CFLAGS -O3 --coverage" LDFLAGS="$LDFLAGS --coverage"
|
|
echo "CFLAGS=\"$CFLAGS\" LDFLAGS=\"$LDFLAGS\""
|
|
npm run pretest -- --verbose
|
|
node test
|