From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: redhat.com, ip: 209.132.183.28, mailfrom: lersek@redhat.com) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by groups.io with SMTP; Mon, 16 Sep 2019 04:06:46 -0700 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2D5E610F2E81; Mon, 16 Sep 2019 11:06:46 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-120-35.rdu2.redhat.com [10.10.120.35]) by smtp.corp.redhat.com (Postfix) with ESMTP id 68C851001281; Mon, 16 Sep 2019 11:06:45 +0000 (UTC) Subject: Re: [edk2-devel] [RFC] EDK II Continuous Integration Phase 1 To: Sean , devel@edk2.groups.io References: <993588d5-b755-9d72-ec2b-7eb1ad6b6a7e@redhat.com> <10937.1568408459627289047@groups.io> From: "Laszlo Ersek" Message-ID: <592f587b-86cb-cb48-4816-8781b20b0b5d@redhat.com> Date: Mon, 16 Sep 2019 13:06:43 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <10937.1568408459627289047@groups.io> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.6.2 (mx1.redhat.com [10.5.110.66]); Mon, 16 Sep 2019 11:06:46 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable Hi Sean, On 09/13/19 23:00, sean.brogan via [] wrote: > These tests require using the "edk2-pytool" stuff but are easy to integ= rate with the github PR or CI flow.=C2=A0 Example of it running the code = compliance tests is here: https://dev.azure.com/tianocore/edk2-ci-play/_b= uild?definitionId=3D13&_a=3Dsummary A test run takes about 3 minutes. >=20 > The past week or so we also have been working on a more complete test r= un which adds to the above test suite three more tests.=C2=A0 Compile eac= h package for Debug, Release, and Host Based Unit tests.=C2=A0 Obviously = this adds more time and takes more resources but at the moment we have it= down to 13 minutes. You can see it here: https://dev.azure.com/tianocore= /edk2-ci-play/_build?definitionId=3D12&_a=3Dsummary >=20 > To enable this framework you need the following. >=20 > 1. pip install a couple of edk2-pytool packages (see requirements.txt f= ile) > 2. Add the pytool based plugins to the edk2 code tree=C2=A0 See here: h= ttps://github.com/spbrogan/edk2-staging/tree/edk2-stuart-ci-latest/BaseTo= ols/Plugin/Ci > 3. Add a CiSettings.py file that satisfies the setup, update, and ci_bu= ild=C2=A0 See here: https://github.com/spbrogan/edk2-staging/blob/edk2-st= uart-ci-latest/CISettings.py > 4. Add a *.ci.yaml file to each package to configure test settings, ign= ore files, and other configuration for testing the package.=C2=A0 Example= here: https://github.com/spbrogan/edk2-staging/blob/edk2-stuart-ci-lates= t/MdeModulePkg/MdeModulePkg.ci.yaml > 5.=C2=A0 For Azure pipeline support (cloud based CI) you will need to a= dd Azure pipeline.yaml flles. >=20 > This can all be seen in the branch here. https://github.com/spbrogan/ed= k2-staging/tree/edk2-stuart-ci-latest > Be aware that in that same branch we are enabling "Host based unit test= s" which also requires more code changes so if diffing with clean edk2 yo= u can ignore those (although that is all part of another RFC for unit tes= t so any feedback on that would be great too). >=20 > Feedback would be appreciated.=C2=A0 I am hoping this RFC can move forw= ard in the next few weeks. I'm really sorry, I don't have any cycles left for this topic at the moment. I hope Mike and others can proceed with you. (I prefer to share whenever I'm out of time for a topic; I find that a lot better than unjustifiedly blocking others from doing their work.) Thanks & sorry again Laszlo