On Tue, Nov 24, 2015 at 2:04 PM, Eric Anholt <e...@anholt.net> wrote: > 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
Any reason not to add freedreno and nouveau in here? Too bad these packages don't all have "latest" symlinks... -ilia > + - make && make check > -- > 2.6.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev