name: Build
on: [push, pull_request]
jobs:
  extras:
    # Run coverage and extra tests only once
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-python@v1
        with:
          python-version: 3.9
      - run: python -m pip install --upgrade pip setuptools wheel
      - run: make install
      - run: make codestyle
      - run: make test-cover
      - run: make codecov-upload
        env:
          CODECOV_TOKEN: ${{ secrets.CODECOV_REPO_TOKEN }}
      - run: make test-dist
  test:
    # Run core HTTPie tests everywhere
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macOS-latest, windows-latest]
        python-version: [3.6, 3.7, 3.8, 3.9]
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-python@v1
        with:
          python-version: ${{ matrix.python-version }}
      - run: python -m pip install --upgrade pip setuptools wheel
      - run: python -m pip install --upgrade '.[dev]'
      - run: python -m pytest --verbose ./httpie ./tests
