Message ID | 20201012130348.3212-1-conor.walsh@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6658EA04B6; Mon, 12 Oct 2020 15:06:26 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 326961D6FA; Mon, 12 Oct 2020 15:06:25 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id DD3961D6ED for <dev@dpdk.org>; Mon, 12 Oct 2020 15:06:21 +0200 (CEST) IronPort-SDR: sEqomlJ97NbQHvBBIjBjMPHopvurKKP6eQcd9z66317DtwX+c6YiSSw84PcW7Lax0IC9q3WKdD TfEduGr7y8Hg== X-IronPort-AV: E=McAfee;i="6000,8403,9771"; a="145056091" X-IronPort-AV: E=Sophos;i="5.77,366,1596524400"; d="scan'208";a="145056091" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Oct 2020 06:03:56 -0700 IronPort-SDR: OkQEdE6pUUH7+dQhMfoQ/xihJD0ATb3uZDDI2XRmlp3zXvZnmS7lt9FiXoBvQuEijD5ZHXsPqT H+11grl7+vyQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,366,1596524400"; d="scan'208";a="329742004" Received: from unknown (HELO silpixa00400466.ir.intel.com) ([10.237.213.195]) by orsmga002.jf.intel.com with ESMTP; 12 Oct 2020 06:03:54 -0700 From: Conor Walsh <conor.walsh@intel.com> To: mdr@ashroe.eu, nhorman@tuxdriver.com, bruce.richardson@intel.com, thomas@monjalon.net, david.marchand@redhat.com Cc: dev@dpdk.org, Conor Walsh <conor.walsh@intel.com> Date: Mon, 12 Oct 2020 13:03:44 +0000 Message-Id: <20201012130348.3212-1-conor.walsh@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201012080829.3446-1-conor.walsh@intel.com> References: <20201012080829.3446-1-conor.walsh@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v6 0/4] devtools: abi breakage checks X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series | devtools: abi breakage checks | |
Message
Conor Walsh
Oct. 12, 2020, 1:03 p.m. UTC
This patchset will help developers discover abi breakages more easily before upstreaming their code. Currently checking that the DPDK ABI has not changed before up-streaming code is not intuitive and the process is time consuming. Currently contributors must use the test-meson-builds.sh tool, alongside some environmental variables to test their changes. Contributors in many cases are either unaware or unable to do this themselves, leading to a potentially serious situation where they are unknowingly up-streaming code that breaks the ABI. These breakages are caught by Travis, but it would be more efficient if they were caught locally before up-streaming. This patchset introduces changes to test-meson-builds.sh, check-abi.sh and adds a new script gen-abi-tarballs.sh. The changes to test-meson-builds.sh include UX changes such as adding command line arguments and allowing the use of relative paths. Reduced the number of abi checks to just two, one for both x86_64 and ARM, the references for these tests can now be prebuilt and downloaded by test-meson-builds.sh, these changes will allow the tests to run much faster. check-abi.sh is updated to use the prebuilt references. gen-abi-tarballs.sh is a new script to generate the prebuilt abi references used by test-meson-builds.sh, these compressed archives can be retrieved from either a local directory or a remote http location. --- v6: Corrected a mistake in the doc patch v5: - Patchset has been completely reworked following feedback - Patchset is now part of test-meson-builds.sh not the meson build system v4: - Reworked both Python scripts to use more native Python functions and modules. - Python scripts are now in line with how other Python scripts in DPDK are structured. v3: - Fix for bug which now allows meson < 0.48.0 to be used - Various coding style changes throughout - Minor bug fixes to the various meson.build files v2: Spelling mistake, corrected spelling of environmental Conor Walsh (4): devtools: add generation of compressed abi dump archives devtools: abi and UX changes for test-meson-builds.sh devtools: change dump file not found to warning in check-abi.sh doc: test-meson-builds.sh doc updates devtools/check-abi.sh | 3 +- devtools/gen-abi-tarballs.sh | 48 ++++++++ devtools/test-meson-builds.sh | 170 ++++++++++++++++++++++------ doc/guides/contributing/patches.rst | 26 +++-- 4 files changed, 201 insertions(+), 46 deletions(-) create mode 100755 devtools/gen-abi-tarballs.sh
Comments
On 12/10/2020 14:03, Conor Walsh wrote: > This patchset will help developers discover abi breakages more easily > before upstreaming their code. Currently checking that the DPDK ABI > has not changed before up-streaming code is not intuitive and the > process is time consuming. Currently contributors must use the > test-meson-builds.sh tool, alongside some environmental variables to > test their changes. Contributors in many cases are either unaware or > unable to do this themselves, leading to a potentially serious situation > where they are unknowingly up-streaming code that breaks the ABI. These > breakages are caught by Travis, but it would be more efficient if they > were caught locally before up-streaming. I would remove everything in the git log text before this line... > This patchset introduces changes > to test-meson-builds.sh, check-abi.sh and adds a new script > gen-abi-tarballs.sh. The changes to test-meson-builds.sh include UX UX changes = improvements > changes such as adding command line arguments and allowing the use of > relative paths. Reduced the number of abi checks to just two, one for both > x86_64 and ARM, the references for these tests can now be prebuilt and > downloaded by test-meson-builds.sh, these changes will allow the tests to > run much faster. check-abi.sh is updated to use the prebuilt references. > gen-abi-tarballs.sh is a new script to generate the prebuilt abi > references used by test-meson-builds.sh, these compressed archives can be > retrieved from either a local directory or a remote http location. > > --- > v6: Corrected a mistake in the doc patch > > v5: > - Patchset has been completely reworked following feedback > - Patchset is now part of test-meson-builds.sh not the meson build system > > v4: > - Reworked both Python scripts to use more native Python functions > and modules. > - Python scripts are now in line with how other Python scripts in > DPDK are structured. > > v3: > - Fix for bug which now allows meson < 0.48.0 to be used > - Various coding style changes throughout > - Minor bug fixes to the various meson.build files > > v2: Spelling mistake, corrected spelling of environmental > > Conor Walsh (4): > devtools: add generation of compressed abi dump archives > devtools: abi and UX changes for test-meson-builds.sh > devtools: change dump file not found to warning in check-abi.sh > doc: test-meson-builds.sh doc updates > > devtools/check-abi.sh | 3 +- > devtools/gen-abi-tarballs.sh | 48 ++++++++ > devtools/test-meson-builds.sh | 170 ++++++++++++++++++++++------ > doc/guides/contributing/patches.rst | 26 +++-- > 4 files changed, 201 insertions(+), 46 deletions(-) > create mode 100755 devtools/gen-abi-tarballs.sh >
Thanks for your feedback Ray, V7 with your suggested changes for the patchset is on its way. /Conor > -----Original Message----- > From: Kinsella, Ray <mdr@ashroe.eu> > Sent: Wednesday 14 October 2020 10:37 > To: Walsh, Conor <conor.walsh@intel.com>; nhorman@tuxdriver.com; > Richardson, Bruce <bruce.richardson@intel.com>; thomas@monjalon.net; > david.marchand@redhat.com > Cc: dev@dpdk.org > Subject: Re: [PATCH v6 0/4] devtools: abi breakage checks > > > > On 12/10/2020 14:03, Conor Walsh wrote: > > This patchset will help developers discover abi breakages more easily > > before upstreaming their code. Currently checking that the DPDK ABI > > has not changed before up-streaming code is not intuitive and the > > process is time consuming. Currently contributors must use the > > test-meson-builds.sh tool, alongside some environmental variables to > > test their changes. Contributors in many cases are either unaware or > > unable to do this themselves, leading to a potentially serious situation > > where they are unknowingly up-streaming code that breaks the ABI. These > > breakages are caught by Travis, but it would be more efficient if they > > were caught locally before up-streaming. > > I would remove everything in the git log text before this line... > > > This patchset introduces changes > > to test-meson-builds.sh, check-abi.sh and adds a new script > > gen-abi-tarballs.sh. The changes to test-meson-builds.sh include UX > > UX changes = improvements > > > changes such as adding command line arguments and allowing the use of > > relative paths. Reduced the number of abi checks to just two, one for both > > x86_64 and ARM, the references for these tests can now be prebuilt and > > downloaded by test-meson-builds.sh, these changes will allow the tests to > > run much faster. check-abi.sh is updated to use the prebuilt references. > > gen-abi-tarballs.sh is a new script to generate the prebuilt abi > > references used by test-meson-builds.sh, these compressed archives can > be > > retrieved from either a local directory or a remote http location. > > > > --- > > v6: Corrected a mistake in the doc patch > > > > v5: > > - Patchset has been completely reworked following feedback > > - Patchset is now part of test-meson-builds.sh not the meson build system > > > > v4: > > - Reworked both Python scripts to use more native Python functions > > and modules. > > - Python scripts are now in line with how other Python scripts in > > DPDK are structured. > > > > v3: > > - Fix for bug which now allows meson < 0.48.0 to be used > > - Various coding style changes throughout > > - Minor bug fixes to the various meson.build files > > > > v2: Spelling mistake, corrected spelling of environmental > > > > Conor Walsh (4): > > devtools: add generation of compressed abi dump archives > > devtools: abi and UX changes for test-meson-builds.sh > > devtools: change dump file not found to warning in check-abi.sh > > doc: test-meson-builds.sh doc updates > > > > devtools/check-abi.sh | 3 +- > > devtools/gen-abi-tarballs.sh | 48 ++++++++ > > devtools/test-meson-builds.sh | 170 ++++++++++++++++++++++------ > > doc/guides/contributing/patches.rst | 26 +++-- > > 4 files changed, 201 insertions(+), 46 deletions(-) > > create mode 100755 devtools/gen-abi-tarballs.sh > >