Project

General

Profile

action #130000

Updated by JERiveraMoya 11 months ago

#### Motivation 
 YaST developers created an script a time ago that is able to patch the installer. 
 This seems to be apparently the best solution for now to retrieve our future e2e tests for Agama in openQA using Playwright. 
 why is that? because the other option would be to use git submodules in similar fashion than is used for needles, which would require extra implementation to mimic https://github.com/os-autoinst/openQA/blob/master/script/fetchneedles and additionally would require to fetch from worker url all those file and transfer to the SUT to specific folder, in summary no sense for now that we have the test runner in the ISO, we have a tool that can just part different part of the installer and that tool is yupdate. In the documentation is said that this mechanism makes the installation unsupported but it is not true as far we just change the folder with the tests, test, we just need a rakefile that only does that and nothing else. 

 This is the repo that for now we can use to retrieve our test (in the future we can have something more official): 
 https://github.com/jknphy/e2e-agama-playwright 
 with the rakefile described above: https://github.com/jknphy/e2e-agama-playwright/blob/main/Rakefile 
 Just compare with the one for Agama: https://github.com/openSUSE/agama/blob/master/Rakefile 
 Using the one from Agama we could have similar result using `YUPDATE_SKIP_FRONTEND=1` and `YUPDATE_SKIP_FRONTEND=1` but we don't need to mess up for now with permissions for user to merge in agama repo, we can just use the one for github user jknphy which doesn't need any env setting because it only acts on the test folder, which for Agama is called [playwright](https://github.com/openSUSE/agama/tree/master/playwright). 

 The idea would be before running playwright, see this step https://openqa.opensuse.org/tests/3267958#step/agama_installation/1 
 patch agama installer using that repo above, for this case we would really need some setting, so we can change the repo in the future, would be something like it is CASEDIR for openQA, so for your development you can point to your own fork and for the merged code and test suite in production we can use the one above with github user jknphy as official ("for now"). 
 Once Agama is patched you can have access to new test we will be developing. 

 #### Acceptance criteria 
 **AC1**: Integrate yupdate in order to pick up e2e test for openQA 
 **AC2**: Add new dummy test to probe that is patched. 

 #### Additional information 
 https://github.com/openSUSE/agama/blob/master/doc/yupdate.md 
 https://github.com/yast/yast-installation/blob/master/doc/yupdate.md 
 Note that existing test are thought for the CI, and we will diverge a lot from them, we need tests using POM, follow-up tickets will be adding those Page Object Models and new test for the e2e testing areas we can cover. Nevertheless we will need a way to sync those test with the CI tests as they will be using common files, but we can discuss that with YaST developers in the future as well. 

Back