name: Docs CI

### Run on *EVERY* commit. The documentation *SHOULD* stay valid, and
### the developers should receive early warning if they break it.
on: [push, pull_request]

jobs:
  check-markdown:
    runs-on: ubuntu-20.04
    timeout-minutes: 5
    steps:
      - uses: actions/checkout@v2
      - name: Build V
        run: make
      - name: Check markdown line length & code examples
        run: ./v check-md -hide-warnings .
        ## NB: -hide-warnings is used here, so that the output is less noisy,
        ## thus real errors are easier to spot.

  report-missing-fn-doc:
    runs-on: ubuntu-20.04
    timeout-minutes: 5
    env:
      MOPTIONS: --relative-paths --exclude /vlib/v/ --exclude /builtin/linux_bare/ --exclude /testdata/ --exclude /tests/
    steps:
      - uses: actions/checkout@v2
      - name: Build V
        run: make

      - name: Checkout previous v
        uses: actions/checkout@v2
        with:
          repository: vlang/v
          path: pv

      - name: Check against parent commit
        run: |
          ./v missdoc --diff $MOPTIONS pv/vlib vlib