[Mesa-dev] [PATCH] travis: Initial import of travis instructions.
Rob Clark
robdclark at gmail.com
Tue Nov 24 11:13:26 PST 2015
On Tue, Nov 24, 2015 at 2:10 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Tue, Nov 24, 2015 at 2:04 PM, Eric Anholt <eric at 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...
hmm, I was going to say that tinderbox can figure out how to just
build latest (plus we at one point had builders for several different
arch's for xserver and mesa, etc..)
but then I noticed that http://tinderbox.x.org/ is in kind of dire shape.. :-(
BR,
-R
> -ilia
>
>> + - make && make check
>> --
>> 2.6.2
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list