name: CI on: [ push, pull_request ] 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@v1 with: path: tmp key: tmp ${{ matrix.script }} - name: Perform tests shell: bash run: | git clone --branch v1.5.4 --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