This just builds/installs our dependencies, and runs "make check". I'm interested in integrating more tests into it, but this seems like a pretty easy first start.
If your personal branches of Mesa are on github, you can enable it on your account and the repository (see https://docs.travis-ci.com/user/for-beginners), then any pushes you do will get their HEAD commit tested, and any pull requests to your tree will get their merge commits tested. --- I'd really like to have *some* sort of publicly available CI for people hacking on Mesa. We've all seen how many times make check has been broken, so this was an easy start. Travis doesn't seem optimal, since it doesn't test each commit, but I think it's better than nothing, and the cost is this little file and bumping the versions of dependencies to download when we update configure.ac requirements. .travis.yml | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..31cd5c2 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,92 @@ +language: c + +sudo: false + +cache: + directories: + - $HOME/.ccache + +addons: + apt: + packages: + - libdrm-dev + - libudev-dev + - x11proto-xf86vidmode-dev + - libexpat1-dev + - libxcb-dri2-0-dev + - libx11-xcb-dev + - llvm-3.4-dev + +env: + global: + - XORG_RELEASES=http://xorg.freedesktop.org/releases/individual + - XCB_RELEASES=http://xcb.freedesktop.org/dist + - XORGMACROS_VERSION=util-macros-1.19.0 + - GLPROTO_VERSION=glproto-1.4.17 + - DRI2PROTO_VERSION=dri2proto-2.8 + - DRI3PROTO_VERSION=dri3proto-1.0 + - PRESENTPROTO_VERSION=presentproto-1.0 + - LIBPCIACCESS_VERSION=libpciaccess-0.13.4 + - LIBDRM_VERSION=libdrm-2.4.65 + - XCBPROTO_VERSION=xcb-proto-1.11 + - LIBXCB_VERSION=libxcb-1.11 + - LIBXSHMFENCE_VERSION=libxshmfence-1.2 + - PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig + +install: + - export PATH="/usr/lib/ccache:$PATH" + - pip install --user mako + + # Install dependencies where we require specific versions (or where + # disallowed by Travis CI's package whitelisting). + + - wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2 + - tar -jxvf $XORGMACROS_VERSION.tar.bz2 + - (cd $XORGMACROS_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget $XORG_RELEASES/proto/$GLPROTO_VERSION.tar.bz2 + - tar -jxvf $GLPROTO_VERSION.tar.bz2 + - (cd $GLPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget $XORG_RELEASES/proto/$DRI2PROTO_VERSION.tar.bz2 + - tar -jxvf $DRI2PROTO_VERSION.tar.bz2 + - (cd $DRI2PROTO_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget $XORG_RELEASES/proto/$DRI3PROTO_VERSION.tar.bz2 + - tar -jxvf $DRI3PROTO_VERSION.tar.bz2 + - (cd $DRI3PROTO_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget $XORG_RELEASES/proto/$PRESENTPROTO_VERSION.tar.bz2 + - tar -jxvf $PRESENTPROTO_VERSION.tar.bz2 + - (cd $PRESENTPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget $XCB_RELEASES/$XCBPROTO_VERSION.tar.bz2 + - tar -jxvf $XCBPROTO_VERSION.tar.bz2 + - (cd $XCBPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget $XCB_RELEASES/$LIBXCB_VERSION.tar.bz2 + - tar -jxvf $LIBXCB_VERSION.tar.bz2 + - (cd $LIBXCB_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget $XORG_RELEASES/lib/$LIBPCIACCESS_VERSION.tar.bz2 + - tar -jxvf $LIBPCIACCESS_VERSION.tar.bz2 + - (cd $LIBPCIACCESS_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget http://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2 + - tar -jxvf $LIBDRM_VERSION.tar.bz2 + - (cd $LIBDRM_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget $XORG_RELEASES/lib/$LIBXSHMFENCE_VERSION.tar.bz2 + - tar -jxvf $LIBXSHMFENCE_VERSION.tar.bz2 + - (cd $LIBXSHMFENCE_VERSION && ./configure --prefix=$HOME/prefix && make install) + +# Disabled LLVM (and therefore r300 and r600) because the build fails +# with "undefined reference to `clock_gettime'" and "undefined +# reference to `setupterm'" in llvmpipe. +script: + - ./autogen.sh --enable-debug + --disable-gallium-llvm + --with-egl-platforms=x11,drm + --with-dri-drivers=i915,i965,radeon,r200,swrast,nouveau + --with-gallium-drivers=svga,swrast,vc4,virgl + - make && make check -- 2.6.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev