name: CI / Python tests on: push: branches: [main, master, dev, develop] pull_request: branches: [main, master, dev, develop] workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true permissions: contents: read jobs: unit-tests: name: Unit Tests - py${{ matrix.python-version }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: ["3.11", "3.12", "3.13"] steps: - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} cache: 'pip' - name: Install dependencies run: | python -m pip install --upgrade pip setuptools wheel pip install -e reme_studio -e ".[dev,core]" pip install --no-deps -e plugins/auto-fin pip install -e plugins/daily_paper pip install coverage - name: Run unit tests run: | coverage run -m pytest tests/unit plugins/auto-fin plugins/daily_paper \ -v \ --tb=long \ -s \ --log-cli-level=WARNING - name: Generate coverage report run: coverage report -m