name: Run Cross-platform Tests

on:
  - push
  - pull_request

jobs:
  run-tests:
    strategy:
      matrix:
        os:
          - ubuntu-latest
          - macos-latest
          - windows-latest
        python:
          - 3.6
          - 3.7
          - 3.8
        ipfs:
          - v0.4.23
          - v0.5.1
    runs-on: ${{ matrix.os }}
    name: Test on ${{ matrix.os }} Py ${{ matrix.python }} IPFS ${{ matrix.ipfs }}
    steps:
      - uses: actions/checkout@master
      - name: Set up Python ${{ matrix.python }}
        uses: actions/setup-python@master
        with:
          python-version: ${{ matrix.python }}
      - name: Set up IPFS ${{ matrix.ipfs }}
        uses: ibnesayeed/setup-ipfs@master
        with:
          ipfs_version: ${{ matrix.ipfs }}
      - name: Install Dependencies
        shell: bash
        run: |
          pip install -r requirements.txt
          pip install -r test-requirements.txt
      - name: Lint Code
        shell: bash
        run: pycodestyle
      - name: Boot IPFS Daemon
        shell: bash
        run: |
          ipfs daemon &
          while ! curl -s localhost:5001 > /dev/null; do sleep 1; done
      - name: Run Tests
        shell: bash
        run: py.test -s --cov=./

name: Run Cross-platform Tests

on:
  - push
  - pull_request

jobs:
  run-tests:
    strategy:
      fail-fast: false
      matrix:
        os:
          - ubuntu-latest
          - macos-latest
          - windows-latest
        python:
          - 3.6
          - 3.7
          - 3.8
        ipfs:
          - v0.4.23
          - v0.5.1
    runs-on: ${{ matrix.os }}
    name: Test on ${{ matrix.os }} Py ${{ matrix.python }} IPFS ${{ matrix.ipfs }}
    steps:
      - uses: actions/checkout@master
      - name: Set up Python ${{ matrix.python }}
        uses: actions/setup-python@master
        with:
          python-version: ${{ matrix.python }}
      - name: Set up IPFS ${{ matrix.ipfs }}
        uses: ibnesayeed/setup-ipfs@master
        with:
          ipfs_version: ${{ matrix.ipfs }}
      - name: Install Dependencies
        shell: bash
        run: |
          pip install -r requirements.txt
          pip install -r test-requirements.txt
      - name: Lint Code
        shell: bash
        run: pycodestyle
      - name: Boot IPFS Daemon
        shell: bash
        run: |
          ipfs daemon &
          while ! curl -s localhost:5001 > /dev/null; do sleep 1; done
      - name: Run Tests
        shell: bash
        run: py.test -s --cov=./

Disable fail-fast in GH Workflow matrix
Disable fail-fast in GH Workflow matrix
