name: Build on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build: name: Test on ${{ matrix.os }} runs-on: ${{ matrix.os }} env: RELEASE: false SKIP_WEBUI: true strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macOS-latest] python_version: [3.9] steps: - uses: actions/checkout@v3 with: submodules: 'recursive' - name: Set up Python uses: actions/setup-python@v4 with: python-version: ${{ matrix.python_version }} - name: Install dependencies shell: bash run: | pip install poetry==1.3.2 # due to: https://github.com/python-poetry/poetry/issues/7611 python -m venv venv source venv/bin/activate || source venv/Scripts/activate make build - name: Run tests shell: bash run: | source venv/bin/activate || source venv/Scripts/activate make test - name: Report coverage shell: bash run: | # allow failures since codecov servers can be grumpy bash <(curl -s https://codecov.io/bash) || true - name: Package shell: bash run: | source venv/bin/activate || source venv/Scripts/activate pip install pyinstaller make package typecheck: runs-on: ${{ matrix.os }} env: RELEASE: false SKIP_WEBUI: true strategy: matrix: os: [ubuntu-latest] python_version: [3.9] steps: - uses: actions/checkout@v3 with: submodules: 'recursive' - name: Set up Python uses: actions/setup-python@v4 with: python-version: ${{ matrix.python_version }} - name: Install dependencies shell: bash run: | pip install poetry python -m venv venv source venv/bin/activate || source venv/Scripts/activate make build - name: Typecheck shell: bash run: | source venv/bin/activate || source venv/Scripts/activate make typecheck