ci: add missing dependencies for documentation

Message ID 1565702536-9596-1-git-send-email-david.marchand@redhat.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series ci: add missing dependencies for documentation |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/iol-Compile-Testing success Compile Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS
ci/mellanox-Performance-Testing success Performance Testing PASS

Commit Message

David Marchand Aug. 13, 2019, 1:22 p.m. UTC
  Install missing dependencies so that doc can be generated.
While at it, explicitly configure that we want the doc to be generated.
Missing dependencies are then reported as an error rather than silently
ignored.

Because of these extra dependencies, only build them in dedicated travis
jobs.

Fixes: ad2b2cfb1ea3 ("ci: enable unit tests with Travis")

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 .ci/linux-build.sh | 8 ++++----
 .travis.yml        | 7 ++++++-
 2 files changed, 10 insertions(+), 5 deletions(-)
  

Comments

Aaron Conole Aug. 13, 2019, 2:41 p.m. UTC | #1
David Marchand <david.marchand@redhat.com> writes:

> Install missing dependencies so that doc can be generated.
> While at it, explicitly configure that we want the doc to be generated.
> Missing dependencies are then reported as an error rather than silently
> ignored.
>
> Because of these extra dependencies, only build them in dedicated travis
> jobs.
>
> Fixes: ad2b2cfb1ea3 ("ci: enable unit tests with Travis")
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---

Makes sense.  I didn't see any problems with the doc build - was there
an indication that the dependencies were missing?

Either way:

Acked-by: Aaron Conole <aconole@redhat.com>
  
David Marchand Aug. 13, 2019, 2:48 p.m. UTC | #2
On Tue, Aug 13, 2019 at 4:41 PM Aaron Conole <aconole@redhat.com> wrote:
>
> David Marchand <david.marchand@redhat.com> writes:
>
> > Install missing dependencies so that doc can be generated.
> > While at it, explicitly configure that we want the doc to be generated.
> > Missing dependencies are then reported as an error rather than silently
> > ignored.
> >
> > Because of these extra dependencies, only build them in dedicated travis
> > jobs.
> >
> > Fixes: ad2b2cfb1ea3 ("ci: enable unit tests with Travis")
> >
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > ---
>
> Makes sense.  I didn't see any problems with the doc build - was there
> an indication that the dependencies were missing?

Only a log saying nothing would be built:
https://travis-ci.com/DPDK/dpdk/jobs/224804083#L628
  
Thomas Monjalon Sept. 13, 2019, 10:59 a.m. UTC | #3
13/08/2019 16:41, Aaron Conole:
> David Marchand <david.marchand@redhat.com> writes:
> 
> > Install missing dependencies so that doc can be generated.
> > While at it, explicitly configure that we want the doc to be generated.
> > Missing dependencies are then reported as an error rather than silently
> > ignored.
> >
> > Because of these extra dependencies, only build them in dedicated travis
> > jobs.
> >
> > Fixes: ad2b2cfb1ea3 ("ci: enable unit tests with Travis")
> >
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> Acked-by: Aaron Conole <aconole@redhat.com>

Applied, thanks
  

Patch

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index d5ad919..6075c44 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -19,14 +19,14 @@  if [ "$AARCH64" = "1" ]; then
     OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_gcc"
 fi
 
+if [ "$BUILD_DOCS" = "1" ]; then
+    OPTS="$OPTS -Denable_docs=true"
+fi
+
 OPTS="$OPTS --default-library=$DEF_LIB"
 meson build --werror -Dexamples=all $OPTS
 ninja -C build
 
-if [ "$BUILD_DOCS" = "1" ]; then
-    ninja -C build doc
-fi
-
 if [ "$RUN_TESTS" = "1" ]; then
     sudo meson test -C build --suite fast-tests -t 3
 fi
diff --git a/.travis.yml b/.travis.yml
index 781f9f6..3d6ef29 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -23,6 +23,9 @@  extra_packages: &extra_packages
   - *required_packages
   - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
 
+doc_packages: &doc_packages
+  - [doxygen, graphviz, python3-sphinx]
+
 before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh
 
 env:
@@ -30,7 +33,7 @@  env:
   - DEF_LIB="shared"
   - DEF_LIB="static" OPTS="-Denable_kmods=false"
   - DEF_LIB="shared" OPTS="-Denable_kmods=false"
-  - DEF_LIB="shared" RUN_TESTS=1 BUILD_DOCS=1
+  - DEF_LIB="shared" RUN_TESTS=1
 
 matrix:
   include:
@@ -58,6 +61,7 @@  matrix:
       apt:
         packages:
           - *extra_packages
+          - *doc_packages
   - env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
     compiler: gcc
     addons:
@@ -88,6 +92,7 @@  matrix:
       apt:
         packages:
           - *extra_packages
+          - *doc_packages
   - env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
     compiler: clang
     addons: