Example distro for openQA. This can be used as a template for new openQA test projects.
To use this repository with openQA, clone this repo to /var/lib/openqa/tests/.
To use it standalone with isotovideo any other local path is fine.
When running tests based on the state in this repo the test is expected to pass with a single needle match assuming that no bootable medium is specified for a start.
For training purposes checkout the "training" branch which intentionally fails as no needles are present. Creating the needles is by intention left to new users as a learning exercise by running the test distribution within openQA and using the openQA internal needle editor to create a new needle.
If you have questions, visit us on IRC in #opensuse-factory
This project lives in https://github.com/os-autoinst/os-autoinst-distri-example
Feel free to add issues in github or send pull requests.
- For git commit messages use the rules stated on How to Write a Git Commit Message as a reference
If this is too much hassle for you feel free to provide incomplete pull requests for consideration or create an issue with a code change proposal.
If you only have a browser available, you can also develop tests with GitHub Codespaces.
On os-autoinst-distri-example. click on the "Code" button and select "Codespaces". Just click on the plus sign to create a new Codespace. Or use this link as a quickstart to resume existing instances or create new ones.
See OpenQA in a browser for documentation on how to use it.
You can then directly modify tests in VSCode and run
openqa-clone-job url-to-job CASEDIR=$PWD
This repo is intended to be used with openQA as a learning example. The example was first featured in the workshop talk osc14: Ludwig Nussel, How to write openQA tests.
One can also use the same code for running standalone isotovideo. The workflow based on isotovideo is also used by the CI pipeline which serves as another example how one can integrate isotovideo into a CI pipeline, here based on the example of github actions.
Find the latest status from CI runs in https://github.com/os-autoinst/os-autoinst-distri-example/actions
A basic CI pipeline is defined within .github/workflows/isotovideo.yml showing how isotovideo can be run against the tests. Note that this pipeline will succeed as long as isotovideo could successfully execute the complete test flow regardless of their individual results.
A more advanced example is shown in .github/workflows/isotovideo-check-all-test-modules.yml which defines a pipeline that will fail if any test module returns any other status than "ok", for example "failed".
Effectively the same workflow can be found in .github/workflows/isotovideo-action.yml, it only uses a more GitHub action specific syntax. This makes it easier to integrate into more complex workflows but it is less suitable for executing on your local machine.
This project is licensed under the GPL v2 license, see COPYING file for details.