Project

General

Profile

Actions

action #130000

closed

coordination #121855: [epic] Agama web interactive installation

Integrate yupdate script in openQA in order to get e2e playwright tests from a different repo

Added by JERiveraMoya 11 months ago. Updated 10 months ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
Start date:
2023-05-29
Due date:
% Done:

0%

Estimated time:

Description

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, 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.

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 and run it with playwright to simply probe that the installer has the latest tests.

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.
Note that the readme file in https://github.com/jknphy/e2e-agama-playwright/blob/main/README.md is just a copy/paste from Agama repo, this project is a simplification for QE of what Agama contains.
You will be sending PR to https://github.com/jknphy/e2e-agama-playwright for review.

Actions #1

Updated by JERiveraMoya 11 months ago

  • Description updated (diff)
Actions #2

Updated by JERiveraMoya 11 months ago

  • Description updated (diff)
Actions #3

Updated by coolgw 11 months ago

  • Status changed from Workable to In Progress
  • Assignee set to coolgw
Actions #5

Updated by JERiveraMoya 10 months ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF