From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 4F1701B430 for ; Thu, 31 Jan 2019 17:43:21 +0100 (CET) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9B730C058CB0; Thu, 31 Jan 2019 16:43:20 +0000 (UTC) Received: from dhcp-25.97.bos.redhat.com (unknown [10.18.25.61]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E5492600C2; Thu, 31 Jan 2019 16:43:19 +0000 (UTC) From: Aaron Conole To: Bruce Richardson Cc: Michael Santana , dev@dpdk.org, Honnappa Nagarahalli , Thomas Monjalon References: <20190123220714.20763-1-msantana@redhat.com> <20190130221602.13866-1-msantana@redhat.com> <20190130221602.13866-3-msantana@redhat.com> <20190131092510.GC122080@bricha3-MOBL.ger.corp.intel.com> Date: Thu, 31 Jan 2019 11:43:19 -0500 In-Reply-To: <20190131092510.GC122080@bricha3-MOBL.ger.corp.intel.com> (Bruce Richardson's message of "Thu, 31 Jan 2019 09:25:10 +0000") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 31 Jan 2019 16:43:20 +0000 (UTC) Subject: Re: [dpdk-dev] [PATCH v2 2/2] ci: Introduce travis builds for github repositories X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Jan 2019 16:43:21 -0000 Bruce Richardson writes: > On Wed, Jan 30, 2019 at 05:16:02PM -0500, Michael Santana wrote: >> GitHub is a service used by developers to store repositories. GitHub >> provides service integrations that allow 3rd party services to access >> developer repositories and perform actions. One of these services is >> Travis-CI, a simple continuous integration platform. >> >> This is a simple initial implementation of a travis build for the DPDK >> project. It doesn't require any changes from individual developers to >> enable, but will allow those developers who opt-in to GitHub and the >> travis service to get automatic builds for every push they make. >> >> Additionally, the travis service will send an email to the test-report >> list informing anyone interested in the automated build (including a >> result). >> >> Signed-off-by: Aaron Conole >> Signed-off-by: Michael Santana >> --- > > A few comments inline below. > >> v2: >> - Added aarch64 build >> - Added multiple meson options for builds >> - Added multiple make/config options for builds >> >> .ci/linux-build.sh | 88 +++++++++++++++ >> .ci/linux-setup.sh | 31 ++++++ >> .travis.yml | 159 ++++++++++++++++++++++++++++ >> MAINTAINERS | 7 ++ >> doc/guides/contributing/patches.rst | 4 + >> meson_cross_aarch64_gcc.txt | 12 +++ >> 6 files changed, 301 insertions(+) >> create mode 100755 .ci/linux-build.sh >> create mode 100755 .ci/linux-setup.sh >> create mode 100644 .travis.yml >> create mode 100644 meson_cross_aarch64_gcc.txt >> > > > >> + >> +if [ "${NINJABUILD}" == "1" ]; then >> + OPTS="" >> + >> + DEF_LIB="static" >> + if [ "${SHARED}" == "1" ]; then >> + DEF_LIB="shared" >> + fi >> + >> + if [ "${KERNEL}" == "1" ]; then >> + OPTS="-Denable_kmods=false" >> + fi > > Is this condition correct? If kernel is set to "1" you want to disable > module builds? I think it should be the other way around. For meson, it's defaulted on (IIUC): option('enable_kmods', type: 'boolean', value: true, description: 'build kernel modules') So this will shut it off. Maybe the test should have been for KERNEL != "1", though. Okay, will adjust. >> + >> + if [ "${ARM64}" == "1" ]; then >> + OPTS="${OPTS} --cross-file meson_cross_aarch64_${CC}.txt" >> + fi >> + > > > >> diff --git a/.travis.yml b/.travis.yml >> new file mode 100644 >> index 000000000..f296d6914 >> --- /dev/null >> +++ b/.travis.yml >> @@ -0,0 +1,159 @@ >> +language: c >> +compiler: >> + - gcc >> + - clang >> + >> +os: >> + - linux >> + >> +addons: >> + apt: >> + sources: >> + - deadsnakes #source for python 3.5 > > Do we really need python sources? Are the binaries not enough? The sources section is for package repository configurations. I agree, I'm not sure why this is needed, but probably it has to do with some travis container limitation (I don't know if the right python version is available by default). >> + - sourceline: 'ppa:mstipicevic/ninja-build-1-7-2' >> + packages: >> + - [libnuma-dev, linux-headers-$(uname -r), python3.5, python3-pip, ninja-build] >> + >> +before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh >> + > > > >> diff --git a/meson_cross_aarch64_gcc.txt b/meson_cross_aarch64_gcc.txt >> new file mode 100644 >> index 000000000..aee167d13 >> --- /dev/null >> +++ b/meson_cross_aarch64_gcc.txt >> @@ -0,0 +1,12 @@ >> +[binaries] >> +c = 'aarch64-linux-gnu-gcc' >> +cpp = 'aarch64-linux-gnu-g++' >> +ar = 'aarch64-linux-gnu-gcc-ar' >> +strip = 'aarch64-linux-gnu-strip' >> +pkgconfig = 'aarch64-linux-gnu-pkg-config' >> + >> +[host_machine] >> +system = 'linux' >> +cpu_family = 'aarch64' >> +cpu = 'aarch64' >> +endian = 'little' >> -- > > This looks very similar to the "config/arm/arm64_armv8_linuxapp_gcc" file. > I suggest that file be used instead of adding a new one. Agreed, we can drop this. I completely missed the configurations in that directory. Thanks again, Bruce! > /Bruce