yocto-autobuilder-helper/scripts/run-docs-build
Quentin Schulz 8273124feb Revert "scripts: run-docs-build: do not turn sphinx warnings into errors"
The patch was meant as a quick temporary work-around to have the docs
built and published.

Now that releases where -W flag is set (turning warnings into errors)
are appropriately patched to make those warnings disappear (on Sphinx
v3.2.1 which is the one used on the builder), this patch can be reverted
so that next time a warning appears the doc building will fail but will
not destroy the doc website (because of commit
6a4e6ef18d "scripts: run-docs-build: make
the script fail hard ASAP when there's an error", since rsync will not
be run if any error happens before).

This reverts commit 931d409b25.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-15 22:03:37 +00:00

4.1 KiB
Executable File

#!/bin/bash

Called with $1 as the build directory

$2 as the path to yocto-docs

$3 as the path to bitbake

set -e set -u set -o pipefail set -x

builddir=$1 ypdocs=$2/documentation/ bbdocs=$3/doc/ docs_buildtools=/srv/autobuilder/autobuilder.yocto.io/pub/buildtools/x86_64-buildtools-docs-nativesdk-standalone-3.2+snapshot-20201105.sh outputdir=$builddir/output scriptdir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"

cd $builddir mkdir buildtools $docs_buildtools -y -d $builddir/buildtools . $builddir/buildtools/environment-setup*

Getting the old docbook built docs from an archive. Not rebuilding them.

#wget https://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-archives-20201105.tar.xz docbookarchive=/srv/autobuilder/autobuilder.yocto.io/pub/docbook-mirror/docbook-archives-20201105.tar.xz mkdir $outputdir cd $outputdir echo Extracing old content from archive tar -xJf $docbookarchive

cd $bbdocs echo Building bitbake master branch git checkout master make clean make publish mkdir $outputdir/bitbake cp -r ./_build/final/* $outputdir/bitbake

git checkout master-next echo Building bitbake master-next branch make clean make publish mkdir $outputdir/bitbake/next cp -r ./_build/final/* $outputdir/bitbake/next

stable branches

A decision was made to keep updating all the Sphinx generated docs for the moment,

even the ones corresponding to no longer supported releases

https://lists.yoctoproject.org/g/docs/message/2193

We copy the releases.rst file from master so that all versions of the docs

see the latest releases.

for branch in 1.46 1.48 1.50 1.52; do echo Building bitbake $branch branch git checkout $branch git checkout master releases.rst make clean make publish mkdir $outputdir/bitbake/$branch cp -r ./_build/final/* $outputdir/bitbake/$branch git reset --hard done

only sync bitbake folder for now. We need bitbake to be published first

since the bitbake intersphinx index will be downloaded to build yocto-docs

cd $outputdir rsync -irlp --checksum --ignore-times --delete bitbake docs@docs.yoctoproject.org:docs/

cd $ypdocs echo Building master branch git checkout master make clean make publish cp -r ./_build/final/* $outputdir

cd $ypdocs echo Building transition branch git checkout transition make clean make publish cp -r ./_build/final/* $outputdir/

cd $ypdocs echo Building master-next branch git checkout master-next make clean make publish mkdir $outputdir/next cp -r ./_build/final/* $outputdir/next

stable branches

Again, keeping even the no longer supported releases (see above comment)

for branch in dunfell gatesgarth hardknott honister; do cd $ypdocs echo Building $branch branch git checkout $branch git checkout master releases.rst make clean make publish mkdir $outputdir/$branch cp -r ./_build/final/* $outputdir/$branch git reset --hard done

Yocto Project releases/tags

v_sphinx='yocto-3.1.5' #This and newer versions have Sphinx docs. cd $ypdocs for tag in $(git tag --list 'yocto-'); do first=$(printf '%s\n%s' $tag $v_sphinx | sort --version-sort | head -n1) if [ "$first" = "$v_sphinx" ]; then echo Processing $tag cd $ypdocs git checkout $tag if [ -e "${scriptdir}/docs-build-patches/${tag}/" ]; then echo Adding patch for $tag git am "${scriptdir}/docs-build-patches/${tag}/"000 fi git checkout master releases.rst make clean make publish version=$(echo $tag | cut -c7-) mkdir $outputdir/$version cp -r ./_build/final/* $outputdir/$version git reset --hard echo Finished processing $tag fi done

get current release (e.g. most recent tag), and add a 'current' link

tag=$(git tag --list 'yocto-*' | sort --version-sort | tail -1 | cut -c7-) echo Linking to $tag as current ln -s $tag $outputdir/current

Update switchers.js with the copy from master ypdocs

cd $outputdir find . -name switchers.js -not -path ./_static/switchers.js -exec cp ./_static/switchers.js {} ;

cd $outputdir rsync -irlp --checksum --ignore-times --delete . docs@docs.yoctoproject.org:docs/