name: Fuzzing on: pull_request: schedule: - cron: '*/5 * * * *' env: BASE_URL: https://api.github.com/repos/${{ github.repository }} CAUSE: ${{ github.event_name }} RUN_NUM: ${{ github.run_number }} TOKEN: ${{ github.token }} jobs: ufuzz: strategy: fail-fast: false matrix: include: - node: latest os: macos-latest - node: '8' os: ubuntu-latest - node: '8' os: ubuntu-latest - node: '8' os: windows-latest - node: '8' os: windows-latest name: ${{ matrix.node }} ${{ matrix.os }} runs-on: ${{ matrix.os }} env: NODE: ${{ matrix.node }} steps: - uses: actions/checkout@v2 - name: Install GNU Core Utilities if: ${{ startsWith(matrix.os, 'macos') }} env: HOMEBREW_NO_INSTALL_CLEANUP: 1 shell: bash run: | brew install coreutils - name: Perform fuzzing 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 if [[ $CAUSE == "schedule" ]]; then node test/ufuzz/job $BASE_URL $TOKEN $RUN_NUM else node test/ufuzz/job 5000 fi