name: Python package on: [push, pull_request] jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest] python-version: [3.7, 3.8] fail-fast: false steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip flake8 cython python setup.py develop - name: Install Debian-specific dependencies run: | sudo apt install libapt-pkg-dev python -m pip install wheel python -m pip install git+https://salsa.debian.org/apt-team/python-apt python -m pip install -e ".[debian]" mkdir -p ~/.config/breezy/plugins brz branch lp:brz-debian ~/.config/breezy/plugins/debian if: "matrix.python-version != 'pypy3' && matrix.os == 'ubuntu-latest'" - name: Style checks run: | python -m flake8 - name: Typing checks run: | pip install -U mypy python -m mypy ognibuild if: "matrix.python-version != 'pypy3'" - name: Test suite run run: | python -m unittest ognibuild.tests.test_suite env: PYTHONHASHSEED: random