[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/sdpython/mlstatpy/main/.github/workflows/documentation.yml [Back]  [Original]

name: Test, Documentation and Code Coverage

on:
  push:
  pull_request:
    types:
      - closed
    branches:
      - main

jobs:
  run:
    name: Build documentation on ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest]

    steps:
      - uses: actions/checkout@v3

      - uses: actions/setup-python@v4
        with:
          python-version: '3.12'

      - uses: tlylt/install-graphviz@v1

      - name: Install pandoc
        run: sudo apt-get install -y pandoc

      - name: Install requirements
        run: python -m pip install -r requirements.txt

      - name: Install requirements dev
        run: python -m pip install -r requirements-dev.txt

      - name: Cache pip
        uses: actions/cache@v4
        with:
          path: ~/.cache/pip
          key: ${{ runner.os }}-pip-${{ hashFiles('requirements-dev.txt') }}
          restore-keys: |
            ${{ runner.os }}-pip-
            ${{ runner.os }}-

      - name: Generate coverage report
        run: |
          pip install pytest
          pip install pytest-cov
          export PYTHONPATH=.
          pytest --cov=./mlstatpy/ --cov-report=xml --durations=10 --ignore-glob=**LONG*.py --ignore-glob=**notebook*.py
          export PYTHONPATH=

      - name: test notebooks
        run: SCIPY_ARRAY_API=1 python -m pytest _unittests/ut_xrun_doc/test_documentation_notebook.py --durations=10

      - name: Upload coverage reports to Codecov
        uses: codecov/codecov-action@v3
        env:
          CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

      - name: Install
        run: python setup.py install

      - name: Copy license
        run: cp LICENSE* ./_doc
      - name: Copy changelogs
        run: cp CHANGELOGS* ./_doc

      - name: Documentation
        run: SCIPY_ARRAY_API=1 python -m sphinx ./_doc ./dist/html -n -w doc.txt

      - name: Summary
        run: cat doc.txt

      - name: Check for errors and warnings
        run: |
          if [[ $(grep ERROR doc.txt) ]]; then
            echo "Documentation produces errors."
            grep ERROR doc.txt
            exit 1
          fi
          if [[ $(grep WARNING doc.txt) ]]; then
            echo "Documentation produces warnings."
            grep WARNING doc.txt
            exit 1
          fi

      - uses: actions/upload-artifact@v4
        with:
          path: ./dist/html/**

Web Proxy Viewer  |  New URL  |  Original Page