ActivityWatch/aw-core

View on GitHub
.github/workflows/build.yml

Summary

Maintainability
Test Coverage
name: Build

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:
    name: Test on ${{ matrix.os }}, py-${{ matrix.python_version }}
    runs-on: ${{ matrix.os }}
    env:
      RELEASE: false
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macOS-latest]
        python_version: [3.8]
    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
        make typecheck
    - name: Report coverage
      shell: bash
      run: |
        # Allow failing, since sometimes codecov is grumpy and we just get "no healthy upstream"
        bash <(curl -s https://codecov.io/bash) || true