name: Build and test on: # Only on pushes to main or one of the release branches we build on push push: branches: - main - "[0-9].[0-9]+-branch" tags: # Build pull requests pull_request: jobs: test: strategy: matrix: py: - "3.7" - "3.8" - "3.9" - "3.10" - "3.11" - "pypy-3.8" 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@v3 - name: Setup python uses: actions/setup-python@v4 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@v3 - name: Setup python 3.10 uses: actions/setup-python@v4 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@v3 - name: Setup python uses: actions/setup-python@v4 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@v3 - name: Setup python uses: actions/setup-python@v4 with: python-version: "3.10" architecture: x64 - run: pip install tox - run: tox -e lint