name: CI on: pull_request: push: branches: [ master ] jobs: test: strategy: matrix: node: [ '0.8', '0.10', '0.12', '4', '6', '8', '10', '12', latest ] os: [ ubuntu-latest, windows-latest ] script: [ compress, mocha, release/benchmark, release/jetstream ] exclude: - node: '0.8' script: release/benchmark - node: '0.8' script: release/jetstream name: ${{ matrix.node }} ${{ matrix.os }} ${{ matrix.script }} runs-on: ${{ matrix.os }} env: NODE: ${{ matrix.node }} TYPE: ${{ matrix.script }} steps: - uses: actions/checkout@v2 - uses: actions/cache@v2 with: path: tmp key: tmp ${{ matrix.script }} - name: Perform tests shell: bash run: | git clone --branch v1.6.0 --depth 1 https://github.com/jasongin/nvs.git ~/.nvs while ! timeout 60 bash -c '. ~/.nvs/nvs.sh add $NODE && nvs use $NODE'; do cd ~/.nvs while !(git clean -xdf); do echo "'git clean' failed - retrying..."; done cd - done . ~/.nvs/nvs.sh --version nvs use $NODE node --version npm config set audit false npm config set optional false npm config set save false npm config set strict-ssl false npm config set update-notifier false npm --version while !(npm install); do echo "'npm install' failed - retrying..."; done node test/$TYPE