Skip to content

Commit

Permalink
ci: add builds on Arch with gcc-8
Browse files Browse the repository at this point in the history
- GEN8 and GEN9 support is built and tested separately
- don't use dpkg in Arch builds
- optimize build times

Change-Id: I0be818d2afa9a86281a4e4030e8ecd10cd861efe
Signed-off-by: Jacek Danecki <jacek.danecki@intel.com>
  • Loading branch information
JacekDanecki authored and Compute-Runtime-Automation committed May 24, 2018
1 parent 4c4e682 commit ab507d7
Show file tree
Hide file tree
Showing 8 changed files with 77 additions and 12 deletions.
6 changes: 6 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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

6 changes: 0 additions & 6 deletions scripts/build-arch-dep.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions scripts/docker/Dockerfile-arch-gcc-5
Original file line number Diff line number Diff line change
Expand Up @@ -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"]
14 changes: 14 additions & 0 deletions scripts/docker/Dockerfile-arch-gcc-8-gen-8
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
FROM docker.io/base/archlinux
MAINTAINER Jacek Danecki <jacek.danecki@intel.com>

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"]
14 changes: 14 additions & 0 deletions scripts/docker/Dockerfile-arch-gcc-8-gen-9
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
FROM docker.io/base/archlinux
MAINTAINER Jacek Danecki <jacek.danecki@intel.com>

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"]
6 changes: 3 additions & 3 deletions scripts/igc/prepare.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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

Expand Down
28 changes: 28 additions & 0 deletions scripts/prepare-arch-gcc-8.sh
Original file line number Diff line number Diff line change
@@ -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

11 changes: 10 additions & 1 deletion scripts/run-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit ab507d7

Please sign in to comment.