Skip to content

Merge pull request #10647 from rouault/disable_travis #12648

Merge pull request #10647 from rouault/disable_travis

Merge pull request #10647 from rouault/disable_travis #12648

Workflow file for this run

name: Docs
on:
push:
branches-ignore:
- 'backport**'
- 'dependabot**'
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
docs:
name: Docs
runs-on: ubuntu-latest
strategy:
fail-fast: true
container: ghcr.io/osgeo/proj-docs
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Setup environment
shell: bash -l {0}
run: |
apt update
apt install -y libproj-dev swig
python3 -m pip install -r doc/requirements.txt
python3 -m pip install numpy setuptools
pushd .
mkdir build
cd build
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_APPS=OFF \
-DGDAL_BUILD_OPTIONAL_DRIVERS=OFF \
-DOGR_BUILD_OPTIONAL_DRIVERS=OFF
cmake --build . -j$(nproc)
cmake --install .
# With the new ghcr.io/osgeo/proj-docs image based on Ubuntu 24.04
# a venv is activated. The above does not install the
# Python bindings into it (and the ones in the system are not found
# without overriding PYTHONPATH), so do it through pip install
cd swig/python
python3 setup.py sdist
cp dist/* /tmp/gdal.tar.gz
python3 -m pip install /tmp/gdal.tar.gz
ldconfig
popd
- name: Print versions
shell: bash -l {0}
run: |
python3 --version
sphinx-build --version
python3 -m pip list --not-required --format=columns
- 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
if find . -name '*.rst' | xargs grep "\.\.versionadded"; then echo 'Wrong annotation. Should be .. versionadded'; false; fi
if find . -name '*.rst' | xargs grep "\.\.note"; then echo 'Wrong annotation. Should be .. note'; false; fi
if find . -name '*.rst' | xargs grep "\.\.warning"; then echo 'Wrong annotation. Should be .. warning'; false; fi
if find . -name '*.rst' | xargs grep "\.\.codeblock"; then echo 'Wrong annotation. Should be .. codeblock'; false; fi
working-directory: ./doc
- name: Doxygen
shell: bash -l {0}
run: |
mkdir -p doc/build
doxygen Doxyfile
- name: HTML
shell: bash -l {0}
run: |
make html O="-D enable_redirects=1"
working-directory: ./doc
- name: PDF
shell: bash -l {0}
run: |
make latexpdf
working-directory: ./doc
- name: Spelling
shell: bash -l {0}
run: |
make spelling
working-directory: ./doc
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: PDF
path: doc/build/latex/gdal.pdf
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: HTML
path: doc/build/html/*
#- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
# with:
# name: Misspelled
# path: doc/build/spelling/output.txt
- name: Deploy ssh key
if: ${{ github.ref_name == 'master' && github.repository == 'OSGeo/gdal' }}
shell: bash -l {0}
run: |
apt install -y ssh
mkdir -p /root/.ssh && echo "${{ secrets.SSH_KEY_DOCS }}" > /root/.ssh/id_rsa
chmod 700 /root/.ssh && chmod 600 /root/.ssh/id_rsa
ssh-keyscan -t rsa github.com >> /root/.ssh/known_hosts
eval `ssh-agent -s`
ssh-add /root/.ssh/id_rsa
- name: Deploy to gdal.org
if: ${{ github.ref_name == 'master' && github.repository == 'OSGeo/gdal' }}
shell: bash -l {0}
run: |
set -x
set -e
cd /__w/gdal
mv gdal/doc/build/html gdal-docs
rm gdal-docs/gdal.pdf
cp gdal/doc/build/latex/gdal.pdf gdal-docs
cp gdal/data/gdalicon.png gdal-docs # For GDAL autotest...
cp -r gdal/resources gdal-docs # Do not change this without changing swig/python/gdal-utils/osgeo_utils/gdal2tiles.py
#
git clone https://github.com/OSGeo/libgeotiff
cp -r libgeotiff/geotiff/html/proj_list gdal-docs/
#
cd gdal-docs
wget http://download.osgeo.org/gdal/for_doc/javadoc.zip -O /tmp/javadoc.zip
unzip -q /tmp/javadoc.zip
git init
git config user.email "[email protected]"
git config user.name "GDAL Bot"
git remote add origin [email protected]:OSGeo/gdal-docs.git
git remote -v
echo "gdal.org" > CNAME
touch .nojekyll
git add -A
git commit -m "Update with OSGeo/gdal commit $GITHUB_SHA"
git push -f origin master