aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/doc_build.yml
blob: 3d4e543d7ec5a4a4f4c71c828a28df75bc1bac5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
name: Docs

on: [push, pull_request]

jobs:
  plots:
    name: Plots
    runs-on: ubuntu-latest
    env:
      PROJ_EXE: proj
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - uses: conda-incubator/setup-miniconda@v2
        with:
          channels: conda-forge
          auto-update-conda: true
      - name: Setup
        shell: bash -l {0}
        run: |
            conda update -n base -c defaults conda
            conda install descartes shapely geopandas matplotlib proj
      - name: Plot
        shell: bash -l {0}
        working-directory: ./docs/plot
        run: |
            ./plot.sh

      - uses: actions/upload-artifact@v2
        with:
          name: Images
          path: docs/plot/images

  docs:
    name: Docs

    needs: [plots]

    runs-on: ubuntu-latest
    strategy:
      fail-fast: true
    container: osgeo/proj-docs

    steps:
    - uses: actions/checkout@v2
    - name: Print versions
      shell: bash -l {0}
      run: |
          python3 --version
          sphinx-build --version
          python3 -m pip list --not-required --format=columns

    - uses: actions/download-artifact@v2
      name: Images
      with:
        name: Images
        path: ./docs/source/operations/projections/images
    - name: Lint .rst files
      shell: bash -l {0}
      run: |
        if find . -name '*.rst' | xargs grep -P '\t'; then echo 'Tabs are bad, please use four spaces in .rst files.'; false; fi
      working-directory: ./docs
    - name: Doxygen
      shell: bash -l {0}
      run: |
        mkdir -p docs/build
        doxygen Doxyfile
    - name: HTML
      shell: bash -l {0}
      run: |
        make html
      working-directory: ./docs
    - name: PDF
      shell: bash -l {0}
      run: |
        make latexpdf
      working-directory: ./docs
    - name: Spelling
      shell: bash -l {0}
      run: |
        make spelling
      working-directory: ./docs
    - uses: actions/upload-artifact@v2
      with:
        name: PDF
        path: docs/build/latex/proj.pdf
    - uses: actions/upload-artifact@v2
      with:
        name: HTML
        path: docs/build/html/*
    - uses: actions/upload-artifact@v2
      with:
        name: Misspelled
        path: docs/build/spelling/output.txt