[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Stable ABI checking (take 2)

  • To: Xen-devel <xen-devel@xxxxxxxxxxxxx>
  • From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Date: Mon, 22 Feb 2021 14:03:58 +0000
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PicZB/wZknwts8R5utTU6NvVnJ3tHmNsSXCjPN56PPs=; b=CDxog2zaks3ljgXt9UaMqRQqjQVRg21lqe/oI47ns2MJ3SrHw1IM1HLFoqr3+Y4L26CQ5nDyMTWGE7S/B1xX89eYwplgd8XISid04gqWXX9cOsD9owsIwfSs2Gwc7070gwbc5c7NE174qmPTLC9IxTpr6ThXAmJqv1i3PIyNH81dJaLjH3baTXc1vedhUEYYpRrKDLoLMCa5YPGtWqGoaL/orSh40+8hrgZS0w+UMwTn+4ovr628Tn8dQ2goW2dGMFF4Qp1jARpW9SgwkqWt6twGeWpMDtrkr0SCdZmK2cUKrBXluOhPkJscgsmkDjfmiU6ccLAR98qGJ97l2km4Kg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c3bePMqM/3odbsDgzL+NZirLbrzPrSiuhYRgUfadz0rpGM8a4VLG6QXiD33oaPTJrqGX1WS+g1BX4d8taVQQ3LzUnoekPs3FjNF6Yk8IwhXJ6xCICrJWrvgNhBeRwO4sm2qOorrDRQjjsoMNUYFBHH/oJNp+omgmB5N6vIYCQYvOxxAsPuDMnxL5kJwY85vkA5g1QvUOm4s/kgY2RZxk3tVP3PhaOLLBIB5ZTNr6CKiob9xvZeVk1h7rQDjHynAK9j/8pqh8H69NMtv4+y2bHU5KmdnmwwZxZ5GPJmnMmJnSaLQOg0/6xS4v7DMkCLPkDAk6fNAIyxIBh5V1JvSADA==
  • Authentication-results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Ian Jackson <iwj@xxxxxxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Juergen Gross <jgross@xxxxxxxx>
  • Delivery-date: Mon, 22 Feb 2021 14:04:20 +0000
  • Ironport-sdr: rj74Scy0TG1GdU3wEYD8upGeuCUJLTPQX8+hYED5I0X01rduDn1a0ScuMImui0R5DHBO0oK5OU nWN07Scp7Mcc2Beo+3VDB4SOLlOr4wzxI+GTEJeuzywmZB7tVINc/Vi/MQvQGAMxOiiW8Zxo5X 2V+3goCMSEwdxw2aPwJAKWxVOiiOl7x8uJ2s3Yuig+dXmeo039RUrQXX8m3L8WgH7OXHWK/3hL VKF9ITvp4xclaLcUROFNGDU9dr0OI3JOPVvOK39NKQZoGxqRYJhhwcnalYsoRIHcraz+VVkXz+ b0k=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>


Staging is now capable of writing out an ABI description when the
appropriate tool (abi-dumper) is available.

We now have to possible courses of action for ABI checking in builds.

1) Publish the ABI descriptions on xenbits, update all downstream test
systems to invoke abi-compliance-checker manually.

2) Commit/update the ABI descriptions when RELEASE-$X.$Y.0 is tagged,
update the main build to use abi-compliance-checker when available.


The ABI descriptions claim to be sensitive to toolchain in use.  I don't
know how true this is in practice.

Publishing on xenbits involves obtaining even more misc artefacts during
the build, which is going to be firm -2 from downstreams.

Committing the ABI descriptions lets abi checking work in developer
builds (with suitable tools installed).  It also means we get checking
"for free" in Gitlab CI and OSSTest without custom logic.

Thoughts on which approach is better?  I'm leaning in favour of option 2
because it allows for consumption by developers and test systems.

If we do go with route 2, I was thinking of adding a `make check`
hierarchy.  Longer term, this can be used to queue up other unit tests
which can be run from within the build tree.




Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.