[PATCH wayland-web 2/2] gitlab-ci: Automate wayland's docs publishing

Peter Hutterer peter.hutterer at who-t.net
Tue Jul 17 23:59:45 UTC 2018


On Mon, Jul 16, 2018 at 02:08:35PM -0300, Matheus Santana wrote:
> These changes
> 
> 1. remove the `docs/` dir, which won't be necessary anymore as we'll
>    build them from wayland's repo
> 2. build wayland in CI pipeline, providing docs as an artifact which is
>    later published to GitLab pages
> 
> Also see https://gitlab.freedesktop.org/wayland/wayland/issues/48
> 
> Signed-off-by: Matheus Santana <embs at cin.ufpe.br>
> ---
>  .gitlab-ci.yml                             |   31 +
>  docs/html/Wayland.proc                     |    0
>  docs/html/apa.html                         | 2051 ----------------------------
>  docs/html/apb.html                         |  624 ---------
>  docs/html/apc.html                         |  674 ---------
>  docs/html/ch01.html                        |   73 -
>  docs/html/ch02.html                        |   77 --
>  docs/html/ch03.html                        |  237 ----
>  docs/html/ch04.html                        |  381 ------
>  docs/html/ch05.html                        |  120 --
>  docs/html/css/brand.css                    |   14 -
>  docs/html/css/common.css                   | 1769 ------------------------
>  docs/html/css/default.css                  |    3 -
>  docs/html/css/epub.css                     |  115 --
>  docs/html/css/print.css                    |   15 -
>  docs/html/images/icon.svg                  |   19 -
>  docs/html/images/wayland-architecture.png  |  Bin 28435 -> 0 bytes
>  docs/html/images/wayland.png               |  Bin 5649 -> 0 bytes
>  docs/html/images/x-architecture.png        |  Bin 32329 -> 0 bytes
>  docs/html/images/xwayland-architecture.png |  Bin 7611 -> 0 bytes
>  docs/html/index.html                       |   89 --
>  docs/html/pr01.html                        |   15 -
>  docs/html/pr02.html                        |    8 -
>  23 files changed, 31 insertions(+), 6284 deletions(-)
>  delete mode 100644 docs/html/Wayland.proc
>  delete mode 100644 docs/html/apa.html
>  delete mode 100644 docs/html/apb.html
>  delete mode 100644 docs/html/apc.html
>  delete mode 100644 docs/html/ch01.html
>  delete mode 100644 docs/html/ch02.html
>  delete mode 100644 docs/html/ch03.html
>  delete mode 100644 docs/html/ch04.html
>  delete mode 100644 docs/html/ch05.html
>  delete mode 100644 docs/html/css/brand.css
>  delete mode 100644 docs/html/css/common.css
>  delete mode 100644 docs/html/css/default.css
>  delete mode 100644 docs/html/css/epub.css
>  delete mode 100644 docs/html/css/print.css
>  delete mode 100644 docs/html/images/icon.svg
>  delete mode 100644 docs/html/images/wayland-architecture.png
>  delete mode 100644 docs/html/images/wayland.png
>  delete mode 100644 docs/html/images/x-architecture.png
>  delete mode 100644 docs/html/images/xwayland-architecture.png
>  delete mode 100644 docs/html/index.html
>  delete mode 100644 docs/html/pr01.html
>  delete mode 100644 docs/html/pr02.html
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 0e69f62..3d33881 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -24,6 +24,37 @@ libinput:
>      # libinput's .gitlab-ci.yml has the list of ARCH_PKGS, copied from there
>      ARCH_PKGS:   'git gcc         pkgconfig          meson check       libsystemd    libevdev       doxygen graphviz valgrind binutils libwacom                     gtk3                        mtdev      '
>  
> +wayland:
> +  image: debian:stretch
> +  stage: build
> +  before_script:
> +  - echo 'path-exclude=/usr/share/doc/*' > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft
> +  - echo 'path-exclude=/usr/share/man/*' >> /etc/dpkg/dpkg.cfg.d/99-exclude-cruft
> +  - echo '#!/bin/sh' > /usr/sbin/policy-rc.d
> +  - echo 'exit 101' >> /usr/sbin/policy-rc.d
> +  - chmod +x /usr/sbin/policy-rc.d
> +  - apt-get update
> +  - apt-get -y --no-install-recommends install build-essential automake autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev doxygen graphviz xmlto xsltproc docbook-xsl git ca-certificates

fwiw, the reason we use arch for the libinput build is because it's updated
frequently and (from non-scientific observation) fastest to install the
various packages. It wouldn't require all the other steps either, afaict.

> +  script:
> +  - git clone https://gitlab.freedesktop.org/embs/wayland.git wayland.git

this needs to use the right URL

> +  - pushd wayland.git
> +  - export BUILD_ID="wayland-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
> +  - export PREFIX="$(pwd)/prefix-$BUILD_ID"
> +  - export BUILDDIR="$(pwd)/build-$BUILD_ID"
> +  - export MAKEFLAGS="-j4"
> +  - mkdir "$BUILDDIR" "$PREFIX"
> +  - cd "$BUILDDIR"

you're using pushd above but cd here? either is fine but mixing them seems
odd.

> +  - ../autogen.sh --prefix="$PREFIX" --with-icondir=/usr/share/X11/icons
> +  - make all
> +  - make check
> +  - make install
> +  - make distcheck

I think you can drop check/distcheck here and rely on the wayland repo
proper to not merge anything unless distcheck passes.

That aside, this whole thing looks good as-is though, so
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net> after the URL change

Cheers,
   Peter

> +  - popd
> +  - mv $PREFIX/share/doc/wayland/Wayland/en-US/html docs/
> +  artifacts:
> +    paths:
> +    - docs/html
> +
>  pages:
>    stage: deploy
>    script:


More information about the wayland-devel mailing list