ci: add GitHub Actions

Change-Id: I586ea4dd76e5f4b3a9effc65402b6b4285a30faf
diff --git a/.jenkins.d/00-deps.sh b/.jenkins.d/00-deps.sh
index 1f004f5..c021e54 100755
--- a/.jenkins.d/00-deps.sh
+++ b/.jenkins.d/00-deps.sh
@@ -6,10 +6,13 @@
     if has OSX-10.13 $NODE_LABELS || has OSX-10.14 $NODE_LABELS; then
         FORMULAE+=(python)
     fi
+    if [[ $JOB_NAME == *"Docs" ]]; then
+        FORMULAE+=(doxygen graphviz)
+    fi
 
-    if [[ -n $TRAVIS ]]; then
-        # Travis images come with a large number of pre-installed
-        # brew packages, don't waste time upgrading all of them
+    if [[ -n $GITHUB_ACTIONS || -n $TRAVIS ]]; then
+        # GitHub Actions and Travis images come with a large number of
+        # pre-installed packages. Don't waste time upgrading all of them.
         brew list --versions "${FORMULAE[@]}" || brew update
         for FORMULA in "${FORMULAE[@]}"; do
             brew list --versions "$FORMULA" || brew install "$FORMULA"
@@ -23,14 +26,24 @@
         brew cleanup
     fi
 
+    if [[ $JOB_NAME == *"Docs" ]]; then
+        pip3 install --upgrade --upgrade-strategy=eager sphinx sphinxcontrib-doxylink
+    fi
+
 elif has Ubuntu $NODE_LABELS; then
     sudo apt-get -qq update
-    sudo apt-get -qy install g++ pkg-config python3-minimal \
+    sudo apt-get -qy install build-essential pkg-config python3-minimal \
                              libboost-all-dev libssl-dev libsqlite3-dev
 
-    if [[ $JOB_NAME == *"code-coverage" ]]; then
-        sudo apt-get -qy install gcovr lcov
-    fi
+    case $JOB_NAME in
+        *code-coverage)
+            sudo apt-get -qy install gcovr lcov
+            ;;
+        *Docs)
+            sudo apt-get -qy install doxygen graphviz python3-pip
+            pip3 install --user --upgrade --upgrade-strategy=eager sphinx sphinxcontrib-doxylink
+            ;;
+    esac
 
 elif has CentOS-8 $NODE_LABELS; then
     sudo dnf -y install gcc-c++ libasan pkgconf-pkg-config python3 \