Adding Testing Farm as GitHub Action for test execution
This pull request adds Testing Farm as GitHub Action for test execution in Testing Farm.
Selected compose is: Fedora 39.
This pull request has to be solved and merged before merging this one. https://github.com/sclorg/testing-farm-as-github-action/pull/146
Looks great so far. I guess this is incomplete PR so far, we also need a TFT plan added to the repository.
@jkonecny12 Please write there what hardware requirements are needed. It looks like the PR https://github.com/sclorg/testing-farm-as-github-action/pull/146 will be merged soon.
We need enabled KVM, I guess it is this https://docs.testing-farm.io/Testing%20Farm/0.1/test-request.html#virtualization-supported. However, I wonder about CPU and memory limit if that is something we need to have.
@rvykydal you know this field better than me, any recommendation?
We need enabled KVM, I guess it is this https://docs.testing-farm.io/Testing%20Farm/0.1/test-request.html#virtualization-supported. However, I wonder about CPU and memory limit if that is something we need to have.
@rvykydal you know this field better than me, any recommendation?
We are currently using OpenStack runners with 32 VCPU and 48GB RAM. We run X the tests in parallel (using parallel) based on configured value (16 for the current runners) or counted here. So I'd say we can scale, the bigger the machine the better.
I wonder how these requirements works... Are we able to specify minimal requirements with a flag bigger is better or are we fixed on it has to have X CPUs Y RAM precisely?
able
I would prefer to start w/o requirements and then you will see. This can be easily enhanced.
Support for hardware specification in TMT is done and already merged https://github.com/sclorg/testing-farm-as-github-action/pull/146
Here is TMT/FMF plan which needs to be review by TMT team https://gitlab.cee.redhat.com/rhinstaller/builders/-/merge_requests/140
@rvykydal @jkonecny12 @lukaszachy Please review it.
The pull request is squashed.
@jkonecny12 @rvykydal @lukaszachy WDYT?
Sorry, I wanted to merge this and tested. But currently we have broken builds on Rawhide and RHEL so this has to be postponed a bit
I have tried this pull request local and I changed hardware requirements to size: ">=80GB".
The command that was used was:
tmt run -e REPO_NAME=https://github.com/rhinstaller/kickstart-tests plan --name testing-farm --debug discover --verbose --debug prepare --verbose --debug provision --how container
The output is following:
/var/tmp/tmt/run-002
Module 'tmt.steps.provision' already imported.
warn: /plans/testing-farm:provision - {'hardware': {'virtualization': {'is-supported': True}, 'disk': {'size': '>=80GB'}}, 'how': 'virtual'} is not valid under any of the given schemas
Workdir '/var/tmp/tmt/run-002/plans/testing-farm' created.
/plans/testing-farm
Workdir '/var/tmp/tmt/run-002/plans/testing-farm/discover' created.
Workdir '/var/tmp/tmt/run-002/plans/testing-farm/provision' created.
Workdir '/var/tmp/tmt/run-002/plans/testing-farm/prepare' created.
Workdir '/var/tmp/tmt/run-002/plans/testing-farm/execute' created.
Workdir '/var/tmp/tmt/run-002/plans/testing-farm/report' created.
Report step always force mode enabled.
Workdir '/var/tmp/tmt/run-002/plans/testing-farm/report' created.
Workdir '/var/tmp/tmt/run-002/plans/testing-farm/finish' created.
discover
workdir: /var/tmp/tmt/run-002/plans/testing-farm/discover
how: shell
Workdir '/var/tmp/tmt/run-002/plans/testing-farm/discover/default-0' created.
summary: 1 test selected
/repository: https://github.com/rhinstaller/kickstart-tests
provision
workdir: /var/tmp/tmt/run-002/plans/testing-farm/provision
how: virtual
hardware:
virtualization:
is-supported: true
disk:
size: '>=80GB'
image: fedora-39
memory: 2048 MB
disk: 40 GB
warn: The 'virtual' provision plugin does not support hardware requirements.
testcloud version: 0.9.12
progress: downloading...
I wonder do we need 80GB size. I don't think that is requirement.
Still not running properly but I need this PR for reasonable testing. Switching to draft.
Thanks a lot @phracek let's try this in action! :)