summaryrefslogtreecommitdiff
path: root/publish-docs
blob: dc39eb3e7efa83105133159440d3b1f16c0f3d0a (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
#!/bin/sh

set -eu

build_docs()
{
    local srcdir="$1"
    local log="$(mktemp)"

    set -eu
    cd "$srcdir"/doc
    if make dirhtml > "$log" 2>&1
    then
        echo "$srcdir/doc/_build/dirhtml"
        rm -f "$log"
    else
        cat "$log" 1>&2
        rm -f "$log"
        exit 1
    fi
}

tarballurl="$1"
rsync_target="$2"

tempdir="$(mktemp -d)"
trap 'rm -rf "$tempdir"' EXIT INT

echo "Downloading and unpacking sources"
wget -O- -q "$tarballurl" | tar -C "$tempdir" -xzf -

echo "Building docs"
docdir=$(build_docs "$tempdir"/*/.)

echo "Uploading docs"
rsync -ahHS --delete "$docdir/." "$rsync_target/."

#find "$tempdir" -mindepth 1 -delete