diff --git a/.travis.yml b/.travis.yml index 851f223db2..4256023282 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,6 +34,12 @@ matrix: - os: linux compiler: gcc env: BUILD_OS=arch COMPILER=gcc-5 + - os: linux + compiler: gcc + env: BUILD_OS=arch COMPILER=gcc-8 GEN=gen-8 + - os: linux + compiler: gcc + env: BUILD_OS=arch COMPILER=gcc-8 GEN=gen-9 script: ./scripts/run-build.sh diff --git a/scripts/build-arch-dep.sh b/scripts/build-arch-dep.sh index f3afc03dee..f8b9a433bc 100755 --- a/scripts/build-arch-dep.sh +++ b/scripts/build-arch-dep.sh @@ -19,12 +19,6 @@ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. -wget https://aur.archlinux.org/cgit/aur.git/snapshot/dpkg.tar.gz -tar -xzf dpkg.tar.gz -pushd dpkg -makepkg -i --noconfirm -popd - wget https://aur.archlinux.org/cgit/aur.git/snapshot/ncurses5-compat-libs.tar.gz tar -xzf ncurses5-compat-libs.tar.gz pushd ncurses5-compat-libs diff --git a/scripts/docker/Dockerfile-arch-gcc-5 b/scripts/docker/Dockerfile-arch-gcc-5 index 242c5a5082..4a99e5b5d3 100644 --- a/scripts/docker/Dockerfile-arch-gcc-5 +++ b/scripts/docker/Dockerfile-arch-gcc-5 @@ -9,6 +9,6 @@ COPY scripts/prepare-workspace.sh /root RUN /root/prepare-arch-gcc-5.sh RUN /root/prepare-workspace.sh RUN cd /root/build ; cmake -G Ninja -DBUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_COMPILER=gcc-5 -DCMAKE_CXX_COMPILER=g++-5 ../neo; \ - ninja -j `nproc` + -DCMAKE_C_COMPILER=gcc-5 -DCMAKE_CXX_COMPILER=g++-5 \ + -DDO_NOT_RUN_AUB_TESTS=1 -DDONT_CARE_OF_VIRTUALS=1 ../neo ; ninja -j `nproc` CMD ["/bin/bash"] diff --git a/scripts/docker/Dockerfile-arch-gcc-8-gen-8 b/scripts/docker/Dockerfile-arch-gcc-8-gen-8 new file mode 100644 index 0000000000..c5a7b0c188 --- /dev/null +++ b/scripts/docker/Dockerfile-arch-gcc-8-gen-8 @@ -0,0 +1,14 @@ +FROM docker.io/base/archlinux +MAINTAINER Jacek Danecki + +COPY neo /root/neo +COPY scripts/prepare-arch-gcc-8.sh /root +COPY scripts/build-arch-dep.sh /root +COPY scripts/prepare-workspace.sh /root + +RUN /root/prepare-arch-gcc-8.sh +RUN /root/prepare-workspace.sh +RUN cd /root/build ; cmake -G Ninja -DBUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DSUPPORT_GEN9=0 \ + -DDO_NOT_RUN_AUB_TESTS=1 -DDONT_CARE_OF_VIRTUALS=1 ../neo ; ninja -j `nproc` +CMD ["/bin/bash"] diff --git a/scripts/docker/Dockerfile-arch-gcc-8-gen-9 b/scripts/docker/Dockerfile-arch-gcc-8-gen-9 new file mode 100644 index 0000000000..3e7d368421 --- /dev/null +++ b/scripts/docker/Dockerfile-arch-gcc-8-gen-9 @@ -0,0 +1,14 @@ +FROM docker.io/base/archlinux +MAINTAINER Jacek Danecki + +COPY neo /root/neo +COPY scripts/prepare-arch-gcc-8.sh /root +COPY scripts/build-arch-dep.sh /root +COPY scripts/prepare-workspace.sh /root + +RUN /root/prepare-arch-gcc-8.sh +RUN /root/prepare-workspace.sh +RUN cd /root/build ; cmake -G Ninja -DBUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DSUPPORT_GEN8=0 \ + -DDO_NOT_RUN_AUB_TESTS=1 -DDONT_CARE_OF_VIRTUALS=1 ../neo ; ninja -j `nproc` +CMD ["/bin/bash"] diff --git a/scripts/igc/prepare.sh b/scripts/igc/prepare.sh index 1698e778d3..d60ad8894b 100755 --- a/scripts/igc/prepare.sh +++ b/scripts/igc/prepare.sh @@ -21,7 +21,6 @@ NEO_TOP_DIR=`git rev-parse --show-toplevel` -ARCH=`dpkg --print-architecture` WRK_DIR=${NEO_TOP_DIR}/.. mkdir -p ${WRK_DIR}/igc/inc cp CMakeLists.txt ${WRK_DIR}/igc @@ -30,8 +29,9 @@ pushd ${WRK_DIR}/igc VER=2018ww19-010806 IGC_REV=858e183 -wget https://github.com/intel/compute-runtime/releases/download/${VER}/intel-opencl_${VER}_${ARCH}.deb -dpkg-deb -x intel-opencl_${VER}_${ARCH}.deb . +wget https://github.com/intel/compute-runtime/releases/download/${VER}/intel-opencl_${VER}_amd64.deb +ar -x intel-opencl_${VER}_amd64.deb +tar -xJf data.tar.xz rm opt/intel/opencl/libigdrcl.so ln -s opt/intel/opencl lib diff --git a/scripts/prepare-arch-gcc-8.sh b/scripts/prepare-arch-gcc-8.sh new file mode 100755 index 0000000000..c54069e2eb --- /dev/null +++ b/scripts/prepare-arch-gcc-8.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# Copyright (c) 2018, Intel Corporation +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. + +pacman -Sy --noconfirm gcc cmake git make wget pkg-config fakeroot ninja sudo \ + perl-io-string perl-test-pod autoconf automake patch +useradd -m build -g wheel +sed -i "s/^# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/" /etc/sudoers +cp -a /root/*.sh /home/build +su -l build /home/build/build-arch-dep.sh + diff --git a/scripts/run-build.sh b/scripts/run-build.sh index b92251dc2f..41b4647f01 100755 --- a/scripts/run-build.sh +++ b/scripts/run-build.sh @@ -19,6 +19,15 @@ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. +DOCKERFILE=Dockerfile-${BUILD_OS}-${COMPILER} +IMAGE=neo-${BUILD_OS}-${COMPILER}:ci + +if [ -n "$GEN" ] +then + DOCKERFILE=${DOCKERFILE}-${GEN} + IMAGE=neo-${BUILD_OS}-${COMPILER}-${GEN}:ci +fi + git clone --depth 1 ../compute-runtime neo && \ -docker build -f scripts/docker/Dockerfile-${BUILD_OS}-${COMPILER} -t neo-${BUILD_OS}-${COMPILER}:ci . && \ +docker build -f scripts/docker/${DOCKERFILE} -t ${IMAGE} . && \ docker images