<div dir="ltr"><div>Hi everyone!<br></div><div><br></div><div>I’m looking for boilerplates/good practices regarding to testing </div><div>extensions with core code.</div><div><br></div><div>Since we unlocked Nailgun extensions system [0] and now there </div><div>is a possibility to install the extensions from external sources we </div><div>want to also provide a way to test your own extensions against </div><div>Nailgun and some other extensions. Here is the spec for this activity [1]</div><div><br></div><div>The idea is to write python (or shell) script which will:</div><div>- clone all required repos (like fuel-web, extensions repos) using</div><div>  probably zuul-cloner</div><div>- checkout to appropriate stable branches / will cherry-pick some </div><div>  commit / stay on master</div><div>- run tests</div><div><br></div><div>This script will be used to:</div><div>- test extension with different Nailgun versions (to check if it’s compatible)</div><div>  locally and on extension’s jenkins gate jobs</div><div>- test extension with different Nailgun versions and with other extensions</div><div>  enabled (depending on needs)</div><div>- test Nailgun with some core extensions locally and on fuel-web</div><div>  jenkins gate jobs</div><div><br></div><div>The script will be placed in fuel-web repo as extensions will need</div><div>to have Nailgun in its requirements anyway.</div><div><br></div><div>There will be new jenkins job which will consume names of </div><div>extensions to test and the branches/commits/versions which</div><div>the tests should be run against. The job will basically fetch fuel-web</div><div>repo, and run the script mentioned above.</div><div><br></div><div>What do you think about the idea? Is it a good approach?</div><div>Am I missing some already existing solutions for this problem?</div><div><br></div><div>Regards</div><div><br></div><div>[0] <a href="https://blueprints.launchpad.net/fuel/+spec/stevedore-extensions-discovery">https://blueprints.launchpad.net/fuel/+spec/stevedore-extensions-discovery</a></div><div>[1] <a href="https://review.openstack.org/#/c/281749/">https://review.openstack.org/#/c/281749/</a></div><div><br></div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><b>Sylwester Brzeczkowski</b><br></div>Python Software <span>Engineer</span><br>Product Development-Core : Product Engineering<br></div></div></div></div>
</div>