name: Build and test on: # Only on pushes to master or one of the release branches we build on push push: branches: - master - "[0-9].[0-9]+-branch" tags: # Build pull requests pull_request: jobs: test: strategy: matrix: py: - "3.7" - "3.8" - "3.9" - "3.10" - "pypy-3.7" os: - "ubuntu-latest" # - "windows-latest" - "macos-latest" architecture: - x64 - x86 exclude: # Linux and macOS don't have x86 python - os: "ubuntu-latest" architecture: x86 - os: "macos-latest" architecture: x86 name: "Python: ${{ matrix.py }}-${{ matrix.architecture }} on ${{ matrix.os }}" runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Setup python uses: actions/setup-python@v2 with: python-version: ${{ matrix.py }} architecture: ${{ matrix.architecture }} - run: pip install tox - name: Running tox run: tox -e py # coverage: # runs-on: ubuntu-latest # name: Validate coverage # steps: # - uses: actions/checkout@v2 # - name: Setup python 3.10 # uses: actions/setup-python@v2 # with: # python-version: "3.10" # architecture: x64 # - run: pip install tox # - run: tox -e py310,coverage docs: runs-on: ubuntu-latest name: Build the documentation steps: - uses: actions/checkout@v2 - name: Setup python uses: actions/setup-python@v2 with: python-version: "3.10" architecture: x64 - run: pip install tox - run: tox -e docs lint: runs-on: ubuntu-latest name: Lint the package steps: - uses: actions/checkout@v2 - name: Setup python uses: actions/setup-python@v2 with: python-version: "3.10" architecture: x64 - run: pip install tox - run: tox -e lint