Actions
action #177778
closedEnsure openqa-clone-custom-git-refspec works fine with git-only test distributions like os-autoinst-distri-openQA
Start date:
Due date:
% Done:
0%
Estimated time:
Description
Motivation¶
See error report by Martchus aka. mkittler in https://github.com/os-autoinst/os-autoinst-distri-openQA/pull/177#issuecomment-2180542666, also spotted quite recently in https://openqa.opensuse.org/tests/4880482.
Calling openqa-clone-custom-git-refspec https://github.com/os-autoinst/os-autoinst-distri-openQA/tree/reproducer https://openqa.opensuse.org/tests/4880477
will set wrong NEEDLES_DIR
resulting in a test failure (see the test above).
Acceptance criteria¶
- AC1:
openqa-clone-custom-git-refspec https://github.com/os-autoinst/os-autoinst-distri-openQA/tree/<id> https://openqa.opensuse.org/tests/<test_id>
yields passing openQA job without needing to set any needles URL specifically for<id>
pointing to any PR in that repo and<test_id>
pointing to any openQA-in-openQA job. Look up one of those from https://openqa.opensuse.org/group_overview/24 - AC2: Specifying NEEDLES_DIR as additional argument has precedence
- AC3: osado can still pass when triggered with
openqa-clone-custom-git-refspec
which do not use the git URL in their CASEDIR or NEEDLES_DIR without needing explict mentions of NEEDLES_DIR
Suggestions¶
- See https://suse.slack.com/archives/C02AJ1E568M/p1740406234200799
- See what was done in #162632, maybe we introduce a regression since then?
- Start with the current test
prove -l t/40-script_openqa-clone-custom-git-refspec.t
which should be quick enough to execute - Look into https://github.com/os-autoinst/openQA/blob/master/script/openqa-clone-custom-git-refspec and how it processes NEEDLES_DIR in particular.
- Take a look at existing production openSUSE default tests like https://openqa.opensuse.org/tests/4300489 . Those ones have no setting for CASEDIR and no setting for NEEDLES_DIR. After processing vars.json has CASEDIR set to the value of DISTRI and no value for NEEDLES_DIR. In contrast a production openQA-in-openQA job like https://openqa.opensuse.org/tests/4301863 has both DIR variables set to git URLs and vars.json mentions a path like "/var/lib/openqa/pool/13/os-autoinst-needles-openQA" ending up in needing the workaround
- Read #44327-6 why the vars.json reading was initially included and try at best remove that completely. Maybe we have all the necessary features included by now so that we don't need to do that in openqa-clone-custom-git-refspec
Workaround¶
openqa-clone-custom-git-refspec https://github.com/os-autoinst/os-autoinst-distri-openQA/tree/reproducer https://openqa.opensuse.org/tests/4880477 NEEDLES_DIR=https://github.com/os-autoinst/os-autoinst-needles-openQA.git
Actions