durandtibo/hya

View on GitHub
.github/workflows/doctest.yaml

Summary

Maintainability
Test Coverage
name: Documentation Tests
on:
  workflow_call:
  workflow_dispatch:  # to trigger manually

jobs:
  doctest:
    runs-on: ubuntu-latest
    timeout-minutes: 10

    steps:
      - uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.12'

      - name: Install Poetry
        uses: snok/install-poetry@v1

      - name: Set environment variable
        run: |
          echo $(poetry run poetry env info --path)/bin >> $GITHUB_PATH

      - name: Install packages
        run: |
          make config-poetry
          make install-all

      - name: Show installed packages
        run: |
          poetry show
          poetry show --tree

      - name: Run doctest on source code
        run: |
          make doctest-src

  build:
    runs-on: ubuntu-latest
    timeout-minutes: 10

    steps:
      - uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.12'

      - name: Install Poetry
        uses: snok/install-poetry@v1

      - name: Set environment variable
        run: |
          echo $(poetry run poetry env info --path)/bin >> $GITHUB_PATH

      - name: Install packages
        run: |
          make config-poetry
          make install-all

      - name: Setup doc deploy
        env:
          CI_BOT_EMAIL: ${{secrets.CI_BOT_EMAIL}}
        run: |
          git config --global user.name ci-docs-bot
          git config --global user.email $CI_BOT_EMAIL

      - name: Build documentation
        run: |
          mike deploy --config-file docs/mkdocs.yml --branch tmp-doc-build-1234 dev