name: Node.js CI on: push: branches: - master jobs: test-node: runs-on: ubuntu-latest strategy: fail-fast: false matrix: node-version: [8.x, 10.x, 12.x, 13.x ] steps: - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - uses: actions/checkout@v2 - name: Install node-hid requirements run: sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev libudev-dev - run: npm ci - run: npm run build-all - run: npm run test-node test-browser: runs-on: ubuntu-latest strategy: fail-fast: false matrix: module: [ 'esm', 'umd' ] steps: - uses: actions/setup-node@v1 with: node-version: 12.x - uses: actions/checkout@v2 - run: npm ci - run: npm run build-all - run: npm run test-browser-${{ matrix.module }} test-react-native: runs-on: macos-latest # Temporary for testing CI continue-on-error: true strategy: fail-fast: false steps: - name: Use Node.js 12.x uses: actions/setup-node@v1 with: node-version: 12.x - uses: actions/checkout@v2 - run: npm ci - run: npm run build-all - run: npm run test-react coverage: name: Coverage runs-on: ubuntu-latest continue-on-error: true steps: - uses: actions/setup-node@v1 with: node-version: 12.x - uses: actions/checkout@v2 - run: npm ci - run: npm run build-all - run: npm run test-coverage - name: Upload coverage summary uses: actions/upload-artifact@v2 with: name: coverage-summary path: ./output/summary.txt - name: Tar files run: tar -cvf ./output/coverage.tar ./output/lcov-report/ - name: Upload coverage uses: actions/upload-artifact@v2 with: name: coverage-complete path: ./output/coverage.tar