ActivityWatch/aw-client

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 }}
    runs-on: ${{ matrix.os }}

    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macOS-11]
        python_version: [3.9]

    steps:
    - uses: actions/checkout@v2
      with:
        submodules: 'recursive'

    - name: Set up Python
      uses: actions/setup-python@v1
      with:
        python-version: ${{ matrix.python_version }}

    - name: Install dependencies
      shell: bash
      run: |
        pip install poetry==1.3.2
        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 to fail, since sometimes codecov servers are grumpy
        bash <(curl -s https://codecov.io/bash) || true