name: Node.js CI on: push: branches: - master jobs: test-node: # runs-on: ubuntu-latest runs-on: macos-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 }} - name: Checkout repository 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 - name: Install dependencies (and link per package) run: npm ci - name: Build CommonJS and ESM (from TypeScript) run: npm run build-all - name: Run tests run: npm run test-node test-browser: # runs-on: ubuntu-latest runs-on: macos-latest strategy: fail-fast: false matrix: module: [ 'esm', 'umd' ] steps: - uses: actions/setup-node@v1 with: node-version: 12.x - name: Checkout repository 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 - name: Install dependencies (and link per package) run: npm ci - name: Build CommonJS and ESM (from TypeScript) run: npm run build-all - name: Run tests 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 - name: Checkout repository uses: actions/checkout@v2 - name: Install dependencies (and link per package) run: npm ci - name: Build CommonJS and ESM (from TypeScript) run: npm run build-all - name: Run tests run: npm run test-react coverage: name: Coverage # runs-on: ubuntu-latest runs-on: macos-latest continue-on-error: true steps: - uses: actions/setup-node@v1 with: node-version: 12.x - name: Checkout repository 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 - name: Install dependencies (and link per package) run: npm ci - name: Build CommonJS and ESM (from TypeScript) run: npm run build-all - name: Run tests 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