diff --git a/.github/workflows/default.yml b/.github/workflows/default.yml index d7f951c0..318c3b60 100644 --- a/.github/workflows/default.yml +++ b/.github/workflows/default.yml @@ -1,5 +1,4 @@ -# This workflow will install Python dependencies, run tests and lint with a single version of Python -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions +# Workflow lints, and checks format in parallel then runs tests on all platforms name: Default CI/CD @@ -10,7 +9,41 @@ on: branches: [ master ] jobs: - build: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt -r requirements-extra.txt + - name: Lint with flake8 + run: | + flake8 . + - name: Check format with black + run: | + black . + format: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt -r requirements-extra.txt + - name: Check format with black + run: | + black . + test: + needs: [lint, format] runs-on: ${{ matrix.os }} strategy: matrix: @@ -18,9 +51,13 @@ jobs: python-version: [3.6, 3.7, 3.8, 3.9] exclude: - os: macos-latest - python-version: [3.6, 3.7] + python-version: 3.6 + - os: macos-latest + python-version: 3.7 - os: windows-latest - python-version: [3.6, 3.7] + python-version: 3.6 + - os: windows-latest + python-version: 3.7 steps: - uses: actions/checkout@v2 @@ -32,12 +69,6 @@ jobs: run: | python -m pip install --upgrade pip pip install -r requirements.txt -r requirements-extra.txt - - name: Lint with flake8 - run: | - flake8 . - - name: Check format with black - run: | - black . - name: Build python modules run: | python build.py --modules