openSUSE Project Management Tool: Issueshttps://progress.opensuse.org/https://progress.opensuse.org/themes/openSUSE/favicon/favicon.ico?15829177842021-09-16T05:40:47ZopenSUSE Project Management Tool
Redmine openQA Project - action #98730 (New): Check for pod2manhttps://progress.opensuse.org/issues/987302021-09-16T05:40:47Zokurzokurz@suse.com
<a name="Motivation"></a>
<h2 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h2>
<p><a href="https://github.com/os-autoinst/openQA/pull/4200" class="external">https://github.com/os-autoinst/openQA/pull/4200</a></p>
<a name="Further-details"></a>
<h2 >Further details<a href="#Further-details" class="wiki-anchor">¶</a></h2>
<p>entrance level issue</p>
openQA Project - coordination #77698 (New): [epic] synchronous qemu based system level test in pu...https://progress.opensuse.org/issues/776982020-11-11T09:51:22Zokurzokurz@suse.com
<a name="User-Story"></a>
<h2 >User Story<a href="#User-Story" class="wiki-anchor">¶</a></h2>
<p>As a software stack developer I want to run synchronous qemu based tests in pull request CI runs to have system level test coverage before accepting PRs</p>
<a name="Acceptance-criteria"></a>
<h2 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li><strong>AC1:</strong> Easy instructions how to run qemu based system level tests in any github project exist</li>
<li><strong>AC2:</strong> Scalable for multiple projects</li>
<li><strong>AC3:</strong> One example github PR or gitlab MR shows a successful test in action for any product or repository</li>
</ul>
<a name="Suggestions"></a>
<h2 >Suggestions<a href="#Suggestions" class="wiki-anchor">¶</a></h2>
<ul>
<li>Experiment with local runs of isotovideo, maybe based on github.com/os-autoinst/os-autoinst-distri-example
<ul>
<li>isotovideo supports setting all necessary test parameters on the command line but a file <code>vars.json</code> can be used as well</li>
</ul></li>
<li>Look into github actions and publish on github marketplace for easy inclusion
<ul>
<li>you can start with <a href="https://docs.github.com/en/free-pro-team@latest/actions/creating-actions/creating-a-docker-container-action" class="external">https://docs.github.com/en/free-pro-team@latest/actions/creating-actions/creating-a-docker-container-action</a> and <a href="https://github.com/actions/hello-world-docker-action" class="external">https://github.com/actions/hello-world-docker-action</a></li>
<li>read how to publish on marketplace: <a href="https://docs.github.com/en/free-pro-team@latest/actions/creating-actions/publishing-actions-in-github-marketplace#publishing-an-action" class="external">https://docs.github.com/en/free-pro-team@latest/actions/creating-actions/publishing-actions-in-github-marketplace#publishing-an-action</a></li>
</ul></li>
<li>If the above is not feasible or as alternative create documentation describing how to use the proof of concept</li>
<li>Try to have a generic solution that is not dependant on one specific CI provider but consider "polishing" it for at least one to be super-easy :)</li>
<li>Also upload test artifacts, e.g. serial terminal log and video.ogv , e.g. see <a href="https://docs.github.com/en/free-pro-team@latest/actions/guides/storing-workflow-data-as-artifacts#uploading-build-and-test-artifacts" class="external">https://docs.github.com/en/free-pro-team@latest/actions/guides/storing-workflow-data-as-artifacts#uploading-build-and-test-artifacts</a> . was suggested by pdostal in <a href="https://github.com/os-autoinst/os-autoinst-distri-example/pull/4#issuecomment-727800015" class="external">https://github.com/os-autoinst/os-autoinst-distri-example/pull/4#issuecomment-727800015</a></li>
</ul>