| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
- # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
- name: Node.js CI
- on:
- push:
- branches: ['*']
- pull_request:
- branches: [master]
- jobs:
- tests:
- name: Node.js ${{matrix.node-version}} on ${{matrix.os}}
- runs-on: ${{matrix.os}}
- strategy:
- matrix:
- os: [ubuntu-latest, windows-latest, macOS-latest]
- node-version: [12, 14, 16]
- steps:
- - uses: actions/checkout@v2
- with:
- submodules: true
- - name: Setup Node.js ${{matrix.node-version}}
- uses: actions/setup-node@v1
- with:
- node-version: ${{matrix.node-version}}
- - name: Get NPM cache directory
- id: npm-cache
- run: echo "::set-output name=dir::$(npm config get cache)"
- - name: Cache node modules
- uses: actions/cache@v2
- with:
- path: ${{steps.npm-cache.outputs.dir}}
- key: ${{runner.os}}-node-${{hashFiles('**/package-lock.json')}}
- restore-keys: |
- ${{runner.os}}-node-
- ${{runner.os}}-
- - name: Install the package and run tests
- run: |
- npm ci
- npm run build --if-present
- npm test
|