1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-11-14 02:34:21 +00:00
Commit Graph

470 Commits

Author SHA1 Message Date
Adam Williamson
06de92375f Clear workarounds that have reached composes
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-16 13:05:22 -08:00
Lukáš Růžička
8c027c9e10 Unbreak the /etc/release test by fixing a spelling typo in the function. 2024-02-16 13:32:01 +01:00
Adam Williamson
bd25bdac69 g-i-s: we always need two tabs to get to password confirm now
F38 is the oldest thing we test, and it has this flow. So let's
just drop the check here and always hit tab twice.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-14 15:24:32 -08:00
Adam Williamson
9ffd181bbd Don't expect g-i-s online accounts page on F40+
It was removed upstream:
https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/merge_requests/221

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-14 15:19:46 -08:00
Adam Williamson
edcbf6a524 Wipe the openh264 repo a bit harder
We should wipe it both before and after running repo_setup to
really get rid of it. Ideally we should stop doing this at all,
but for right now the repo isn't there for Rawhide post-F40
branching yet, so let's keep this until that's done.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-14 14:22:44 -08:00
Adam Williamson
d998a56383 Add 41 to the workarounds table
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-14 13:35:32 -08:00
Adam Williamson
f8f1d0d433 Add mock and mock-core-configs to F40 workarounds
I'm hoping this will fix live image builds.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-14 11:58:43 -08:00
Adam Williamson
6d4a8a9fb7 setup_repos: fix a logic bug
we might be on a non-update waonly path here, we can't bail in
that case.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-14 11:45:37 -08:00
Adam Williamson
e6dabfa0df f40 workarounds: drop old anaconda build, add new lorax
We don't need this anaconda scratch build any more (the official
build has the fix now), but we *do* need the new lorax update I
just built to fix installer image builds with branched F40. See
https://github.com/weldr/lorax/pull/1379

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-14 00:15:09 -08:00
Adam Williamson
fa5cedc63a Add anaconda workaround build for #2262892
This adds a scratch build with my proposed patch:
https://github.com/rhinstaller/anaconda/pull/5460
to get the tests to start passing again, so we don't have the
flood of red which makes it hard to spot other problems.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-06 16:51:55 -08:00
Adam Williamson
5379850780 setup_repos: fix setup_repos.py call for KOJITASK case
I forgot to actually set the string in this case. Whoops.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-24 11:16:07 -08:00
Adam Williamson
4dd94df3bc get setup_repos.py from main branch not concdl now it's merged
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-11 15:38:10 -08:00
Adam Williamson
5f702b0be8 Run update repo setup steps from a serial console
This is a surprisingly large change as we want to go back to
the console we were previously on after doing it. To do that we
need to know what console we were on, and to know *that*, we need
to port everything that currently uses (ctrl-)alt-fX to switch
consoles to use select_console instead.

This is primarily intended to make running setup_repos.py faster
when it has to download a lot of packages (as typing in hundreds
of package names is quite slow). But it actually makes the whole
thing faster, even when only downloading one or two packages.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-11 12:09:59 -08:00
Adam Williamson
d445a80016 update testing: use a concurrent script to download packages
This uses a Python script which implements concurrent downloads
(via asyncio) to download workaround and update packages and
configure the repos. This should speed up the process for large
multi-package updates.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-11 11:31:40 -08:00
Adam Williamson
8251756331 Revert to having tests, not the scheduler, download packages (#108)
This effectively reverts 97618193 - but had to be done manually
and adjusted to maintain support for testing side tags and for
testing multiple tasks, since those features were added since
the update ISO change.

The 'scheduler injects ISOs of packages into the tests' approach
was intended to speed things up, especially for large updates,
and it did, but it had a few drawbacks. It means restarting
older tests from the web UI doesn't work as the ISOs get garbage
collected (you have to re-schedule in this case). And it has the
rather large problem that you can now only schedule tests from
the openQA server (or at least a machine with the openQA asset
share mounted), because the package download and ISO creation
just happen wherever the scheduler is running and assume that
the openQA asset share that will be used by the tests is at
/var/lib/openqa/share in that filesystem.

That's too big of a drawback to continue with this approach, IMO,
so this reverts back to the old way of doing things, with a bit
of refactoring to clean up the flow a little, and with support
for testing side tags and multiple tasks maintained.

As a follow-up I'm going to see if I can replace
_download_packages with a much more efficient downloader script
to mitigate the time this process takes on each test, especially
for large updates.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-11 11:31:40 -08:00
Adam Williamson
04e9f84338 decrypt: instead of waiting, let's try slow typing
Seems the bug might just be that plymouth got more sensitive to
fast typing, so instead of waiting, let's try slow typing.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-03 17:40:31 -08:00
Adam Williamson
ce0a04b40a Wait and re-assert before entering decryption passphrase (#2256682)
New Plymouth seems to have a bug where it shows the decryption
prompt briefly then shows a spinner and refreshes it, throwing
away any already-typed input. This is breaking our tests quite
often (any time os-autoinst is "lucky" enough to spot the first
brief appearance of the prompt and start typing). To work around
it, after we first see the prompt, wait for the screen to settle
and re-assert the needle before typing. This should reliably
wait out the refresh cycle.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-03 14:13:30 -08:00
Adam Williamson
838d65f86c solidify_wallpaper: handle KDE no longer having a handy 'black'
Plasma 6's color chooser seems to have dropped the nice "basic
colors", so choosing black got harder. Let's try using the HTML
color input box thingy instead, and typing #000000, the HTML
color code for black.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-11-29 11:51:17 -08:00
Lukas Ruzicka
d50885e584 Create a test for basic Flatpak operations.
This PR tries to respond to issue #294.
On Silverblue, this will try:

* flatpak install
* flatpak remote-add
* flatpak list
* flatpak remotes
* flatpak remove
* flatpak update

and also it tests that a flatpak can be built.
2023-11-13 10:37:52 -08:00
Lukas Ruzicka
2d726d4ccb Add subroutine to set update notification timestamp. 2023-10-10 17:43:06 -07:00
Lukas Ruzicka
296b43381a Allow language selection on WebUI installations.
Currently, the installation via WebUI is mostly pushing the Next button
which seems to be ok for the production which is based in the US.

This PR makes openQA to select languages when the  G-I-S runs
before Anaconda. The particular language is selected based on
the LANGUAGE variable.
2023-09-26 00:16:22 +00:00
Adam Williamson
e92ddbbece Use shift-tab, not tab, to get to Try button in g-i-s live flow
The latest version of g-i-s grew a "Previous" button on the
final page, and hitting tab once now activates that, not the
Try button. shift-tab *should* get us to Try on both old and
new versions.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-09-21 17:59:34 -07:00
Lukas Ruzicka
380a8d5dd6 Revert "Add print."
This reverts commit e977a70cb0.

By mistake, I pushed into the main branch.
2023-09-14 12:56:26 +02:00
Lukas Ruzicka
e977a70cb0 Add print. 2023-09-14 12:45:24 +02:00
Adam Williamson
ea8500cf07 Various changes for webUI deferral to F40
webUI has been deferred to F40, so we need to expect the old UI
flow on F39 now. This should cover everything, I hope.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-09-12 16:13:49 -07:00
Adam Williamson
2458ff7580 Adjust tests to handle webUI reversion
We're reverting webUI for Fedora 39.
https://bodhi.fedoraproject.org/updates/FEDORA-2023-73c4f1a802
is the update that implements this; adapt the tests to handle it
(by expecting the old flow when testing that update, and editing
the kickstart to drop anaconda-webui when building the live
image).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-09-12 11:09:52 -07:00
Adam Williamson
82ae0a3b81 gnome-initial-setup: handle keyboard being skipped
We now have a fix for the bug on the new webUI flow where the
language and keyboard screens weren't skipped on the first boot
after install, as intended. language is never *really* skipped -
it just turns into welcome - but keyboard is now being skipped,
which messes up the logic here.

For a short time we need to handle both paths, to get the new
anaconda builds through and new composes built. In a couple of
days we can simplify this to just always assume keyboard will
be skipped on the first boot on Workstation live installs on
F39+.

Also drop handling of auth_required in g-i-s - I'm pretty sure
that bug got fixed years ago - and wait_still_screen for three
seconds on each page, to let animated transitions settle.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-09-07 13:11:45 -07:00
Adam Williamson
df1c9037d6 Add a missing ; in utils.pm
I've no idea how this isn't making things crash?

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-08-25 14:38:40 -07:00
Adam Williamson
f1a6c91784 Drop a couple of webUI conditionals to 39, not 40
We just landed the webUI stuff for F39, so now we need these
conditionals to kick in for F39+, not F40+.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-08-23 15:48:53 -07:00
Adam Williamson
9528d37582 launch desktop, not installer, at end of g-i-s on notifications
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-08-23 10:15:07 -07:00
Adam Williamson
ec5bab0176 Initial anaconda webUI support
This is tailored to the initial deployment of webUI in
Workstation live images only; we may need to tweak flows and
approaches as webUI goes further.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-08-22 18:05:51 -07:00
Adam Williamson
91bf4e423f Disable forced use of HTTP 1.1 for curl and git
To see if the bug has gone away now -
https://pagure.io/fedora-infrastructure/issue/11426#comment-867456

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-08-10 15:13:04 -07:00
Adam Williamson
edcfed346d Revert "Work around there being no F40 toolbox container yet"
This reverts commit 265e5c027a.
The f40 toolbox container is now findable, so this shouldn't be
needed any more.
2023-08-10 12:54:36 -07:00
Adam Williamson
265e5c027a Work around there being no F40 toolbox container yet
See https://github.com/containers/toolbox/issues/1233#issuecomment-1672247681
we'll have to use an F39 container for now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-08-09 15:33:44 -07:00
Adam Williamson
475b875bc0 Forcibly install dnf for FEDORA-2023-5fd964c1bf
Per https://bodhi.fedoraproject.org/updates/FEDORA-2023-5fd964c1bf#comment-3149533
we kinda need to do this to allow this update through, so long as
we're not going to have dnf obsolete dnf5 or anything like that.
It's a bit unfortunate but I don't see an alternative.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-08-07 15:34:20 -07:00
Adam Williamson
92dbd802e8 koji-rawhide: set skip_if_unavailable=1 for now due to 404 issues
We're seeing a lot of tests fail on 404s when trying to access
the koji-rawhide repo (the repo for the Rawhide build tag, which
we use to get packages tagged since the last compose. nirik is
trying to figure this out from the server end, but for now at
least, let's mark the repo as skip_if_unavailable. This should
mean that if we hit a 404, the test will continue, it just won't
have access to the packages from that repo. Occasionally this
will cause a problem - a false failure or false pass - but this
still seems better than every test that hits it failing. The
false pass case is the most concerning, but I would hope in that
case some other tests from the same update would fail, making it
not an issue.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-08-02 09:10:55 +01:00
Adam Williamson
0e01e4e659 Use fXX-build in the koji-rawhide repo definition, not rawhide
Per nirik, 'repos/rawhide' is just a symlink to 'repos/fXX-build'
and this could possibly be part of our 404 problem. So let's
try using fXX-build directly instead of the symlink.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-07-28 10:31:32 -07:00
Lukáš Růžička
f528904344 Add the Turkish installation test.
Add turkish console to console_loadkeys_us
2023-07-27 21:18:15 +00:00
Adam Williamson
c00e0283dd Set very low metadata expiry for koji-rawhide repo
This repo gets regenerated a lot, so we should be very aggressive
about metadata expiry. Hopefully this will forestall most of
the cases where we get a 404 trying to access this repo's
metadata files.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-07-25 11:09:27 -07:00
Adam Williamson
94773cd726 Try --http1.1 for curl as well
Still trying to debug the mysterious pagure connection issues.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-07-22 12:00:32 -07:00
Adam Williamson
f2fc758051 Add --verbose to curl commands for Pagure
We're still getting failures from pagure.io even with the retry
stuff. nirik asked us to add this to help figure out what the
heck is going on there.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-07-22 09:50:03 -07:00
Adam Williamson
d5a9e4777e Retry all pagure.io downloads
This tweaks all pagure.io downloads to be retried a few times,
since we seem to be getting failures quite often. We use curl
for this as it has nice options for it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-07-19 13:37:29 -07:00
Adam Williamson
1f24f84bb1 Support testing a side tag instead of an update or task
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-07-04 19:10:03 -07:00
Adam Williamson
6fefd092e9 Try and fix Cockpit tests breaking with update ISO change
We drop the line for the update ISO from /etc/fstab before
uploading the image after the cockpit_default test, but we don't
make sure it's set up again before Cockpit tries to use it, in
the subsequent Cockpit tests. I don't know why this didn't fail
on stg before, but it sure as hell is failing in prod...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-06-20 15:18:01 +02:00
Adam Williamson
74730f904a Workaround config-manager plugin missing from dnf5 using sed
This is ugly, but ought to work, I hope.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-06-20 12:42:34 +02:00
Adam Williamson
97618193c6 Adjust tests for update and workaround repos provided as ISO
I'm attempting a new approach to the update and workaround repos.
Instead of having each update test recreate them for itself -
which is slow and wastes bandwidth - the dispatcher will create
an ISO at test schedule time and pass it as ISO_2. Then the test
just mounts the ISO. This makes the necessary adjustments on the
test side.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-06-19 20:21:07 +02:00
Adam Williamson
f6d92f92eb Drop e2fsprogs scratch build workaround
Drop the e2fsprogs scratch build workaround we were using for
https://github.com/fedora-silverblue/issue-tracker/issues/470 -
with the new 'use a custom ref and rebase to the official ref'
thing I implemented for update ostree tests, it shouldn't be
necessary any longer.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-06-12 08:57:27 -07:00
Adam Williamson
818c2d5d8f Handle rpm -q commands failing if we didn't download anything
I think this is new behaviour in rpm 4.19, or else we would have
run into this before when testing an s390utils update. But it's
easy enough to handle.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-31 10:26:45 -07:00
Adam Williamson
80df47e82a Add workaround e2fsprogs build for
https://github.com/fedora-silverblue/issue-tracker/issues/470

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-25 18:52:48 -07:00
Adam Williamson
077a31835a Drop syslinux handling from do_bootloader
F36 is now EOL, and from F37 onwards, grub is the bootloader in
any situation where it actually matters to do_bootloader (which
is only when we're editing parameters). We do still use syslinux
in the PXE tests on x86_64 BIOS, but we don't edit the parameters
in that case.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-24 14:48:39 -07:00
Adam Williamson
78c52cedc2 Revert "Workaround KDE bug accessing desktop settings (#1933118)"
This reverts commit 7c6188c087.
We shouldn't need this workaround any more.
2023-05-24 14:42:32 -07:00
Adam Williamson
a2dc22255b Revert "Note when #1933118 workaround can be removed"
This reverts commit 01c2962f41.
We're removing the workaround now.
2023-05-24 14:41:28 -07:00
Adam Williamson
542b9cd526 Revert "Work around the f39 toolbox container not existing"
This reverts commit 6baf67aefd.
The f39 toolbox container exists now.
2023-05-24 14:40:52 -07:00
Adam Williamson
ef93c46ce5 Drop old workarounds and f36 from the workarounds hash
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-24 14:39:22 -07:00
Adam Williamson
1de9d7fa34 Drop click_unwanted_notifications (and associated needle)
It looks like neither of these has been a problem for some time.
The notification needle has not matched for a year. The akonadi
needle doesn't exist any more - it was cleaned up in the 2021
needle cleanup, meaning it hadn't matched for weeks in 2021. I
checked the last several months of KDE app start/stop tests and
don't see any case where there was a stray notification that we
missed. So I think we can just ditch this whole mechanism for
now; if we have problems with these notifications again in future
we can put it back.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
ae40eea065 Drop another no-op workaround (Japanese in g-i-s)
For several releases now, the 'new user mode' of g-i-s is just
gone: https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/12
so this whole path where we used to be able to set up Japanese
input methods on first boot after install doesn't work any more.
We had to set up a whole different route to set the input method
via control center instead (which lives in _graphical_input).
This block is never reached any more, and the needles for it were
cleaned up in 2021.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
73abc9de67 Drop KDE branch of start_with_launcher
Since 022865ab we do not use start_with_launcher on KDE any more.
The needle for it has since got lost in an unused needle
cleanup. Let's just drop this branch for now; we can add it back
if we ever need it again.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
47664b0dd8 desktop_switch_layout: give switching 3 tries to work
There's a fairly longstanding issue in GDM where switching layout
just doesn't work sometimes:
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6066#note_1707051
there doesn't seem to be any progress on getting this fixed, and
it's annoying constantly restarting tests that fail on it. So
this just makes us try three times to switch before giving up.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-01 14:55:27 -07:00
Adam Williamson
e7f5e5e9b4 Add workarounds for critical bugs in Rawhide
An lvm2 issue which breaks the installer (#2180557) and anaconda
renaming the .desktop file for the Workstation live welcome
screen, which caused it not to appear -
https://pagure.io/livesys-scripts/pull-request/12 .

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-21 18:04:00 -07:00
Adam Williamson
873720b97b Drop workaround which went stable a few days ago
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-21 18:03:34 -07:00
Adam Williamson
c25db659c0 Add anaconda fix for new pykickstart as a workaround
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-17 21:26:39 -07:00
Adam Williamson
ac6ecb1058 Drop workarounds that have gone stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-17 21:26:16 -07:00
Adam Williamson
cf5532fc3a Add workarounds for ffmpeg/kf5/oneVPL mess
So...there's an ffmpeg update:
https://bodhi.fedoraproject.org/updates/FEDORA-2023-a5e10b188a
which went stable. It includes new sonames of all the ffmpeg
libs. It also pulls in a thing called oneVPL, which has a bug
that breaks ostree composes.

There's a big kf5 update:
https://bodhi.fedoraproject.org/updates/FEDORA-2023-b086a98f78
which contains kf5-kfilemetadata, which is built against ffmpeg.
Neal made sure that update's build of it was built against the
new ffmpeg and submitted both for stable at once - but the tests
on the kf5 update failed because they weren't run against the
new ffmpeg as it wasn't yet stable, and the kf5 update was
ejected from the push because of the failed tests.

So now we have the ffmpeg update stable but not the
kf5-kfilemetadata rebuild for it, which will break KDE stuff,
and the oneVPL issue means ostree composes will all fail.

This adds the ffmpeg update as a workaround so we can re-run the
tests for the kf5 update and get them to pass so we can push it
stable. It also adds the oneVPL update as a workaround so ostree
compose tests don't start failing.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-13 18:20:14 -07:00
Adam Williamson
a9a3cea174 Don't use koji-rawhide repo on support_server test
We definitely don't want the support server pulling in random
packages from Rawhide.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-25 10:22:50 -08:00
Adam Williamson
1d3fe8dbb6 Drop workaround that's now stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-24 12:57:37 -08:00
Adam Williamson
471ea9d27b workarounds: add plasma-discover with fix for #2173022
Just using a scratch build for now as my fix hasn't been reviewed
and may have dumb mistakes in it, but it does seem to fix the
openQA test at least.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-23 12:15:15 -08:00
Adam Williamson
f42d921b0b Drop workarounds that have gone stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-23 12:14:48 -08:00
Adam Williamson
bb3492ac9d Remove repo management packages on update live install path
A different way to address the same problem as 56936df7 . Let's
just *remove* the repo management packages after we're done
creating the repos. dnf will automatically remove the unused
dependencies too. This fixes the python-cryptography case at
least - I tested.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-22 15:57:02 -08:00
Adam Williamson
9a0ef37a25 Revert "Update live install tests: handle awkward install ordering"
This reverts commit 56936df7a5. It
was a lovely idea, but forgot that the 'matching update version'
check doesn't actually use the allpkgs.txt list...
2023-02-22 15:55:24 -08:00
Adam Williamson
56936df7a5 Update live install tests: handle awkward install ordering
There's this awkward path for the live image install tests on
updates. We run the 'are the correct versions of all the packages
installed' check on these tests to ensure the right versions
actually made it onto the live image. So we don't run
`dnf -y update` at the end of repo_setup_updates on that path,
because if we did that, even if the packages on the live image
were old, we'd update them there and hide the problem.

However, this causes a bit of an ordering issue, because in
order to set up the advisory repo, we need to install a few
packages. What if the update under test includes one of those
packages, or a dependency that wasn't already installed? In
that case, we wind up with the older stable version of the
package (because obviously we can't install the newer version
from the advisory repo *before we've set up the advisory repo*),
don't update it later, and so the 'correct version' check at
the end of the test fails. See:
https://openqa.fedoraproject.org/tests/1778707 for a case of
this happening with a python-cryptography update.

Up till now I was trying to handle this by just updating the
specific packages we install, but that doesn't account for
*dependencies* of them. I looked down the path of trying to
generate a list of all those dependencies and update all of
them but it looks a bit mad. So instead let's try this. On that
specific path, we'll generate the "all installed packages" list
*before* we run repo_setup, so it just doesn't include anything
that gets installed during repo_setup. The implementation is a
bit icky but not too horrible.

We *could* just *always* generate the all installed packages
list earlier, but then that would mean we *wouldn't* catch dep
issues in this kind of package on the other test paths, whereas
currently we do. I don't want to lose that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-22 14:54:18 -08:00
Adam Williamson
a4ff85695b handle_welcome_screen: only set _WELCOME_DONE if we saw it
This is to handle a temporary condition where the screen isn't
present on the KDE base disk images for F38 or F39 yet, so they
only see it on the second boot on update tests, but don't handle
it because we marked it as already 'done'.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-22 08:04:29 -08:00
Adam Williamson
4254906308 Try clicking Skip on the KDE welcome tour thing
It seems like just closing it results in it showing up again on
the next boot...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-21 19:57:19 -08:00
Adam Williamson
ddb3f44c57 Extend handle_welcome_screen to cover new KDE welcome tour
KDE has a welcome tour now, on F38 and Rawhide at least. Let's
"handle" it with extreme prejudice...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-21 18:16:13 -08:00
Adam Williamson
ac1a59ef77 workarounds: kwin build that fixes VT switch for F38 and F39
The F38 update that breaks this hasn't gone stable due to gating
and the F39 update will be pulled in once the tests are done
and it goes stable, but doing this anyway so I can re-run the
tests on the F38 plasma-workspace update and push it stable,
and rerun all the failed Rawhide tests without waiting for all
the tests on this update to finish first.
2023-02-20 22:11:31 -08:00
Adam Williamson
19500a4018 drop workarounds that have gone stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-20 22:10:40 -08:00
Adam Williamson
7ea4ed733c Sigh, do the are-we-44 check in the right place
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-20 17:29:13 -08:00
Adam Williamson
d0699217a4 Handle g-i-s 44 requiring two tabs at 'set a password' screen
We still need to handle 43 only requiring one for now, and we
can't just make it release-dependent until 44 is stable for both
38 and Rawhide, so let's use a needle match temporarily. Only
44 has these eye/pencil icons on this screen.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-20 17:13:37 -08:00
Adam Williamson
813c329c0c workarounds: add lorax with disabled persistence for 38/39 (#2170544)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-16 10:44:37 -08:00
Adam Williamson
35eec4062e Drop workarounds that went stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-16 10:43:22 -08:00
Adam Williamson
7156881b64 workarounds: add kde-settings for F38 too
This gets us the F38 background in KDE.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-14 11:27:18 -08:00
Adam Williamson
42316bdfb1 workarounds: add desktop-backgrounds too for F38
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-14 09:58:49 -08:00
Adam Williamson
8ce8f2aba4 f38 workarounds: drop updates now stable, add f38-backgrounds
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-14 09:17:49 -08:00
Adam Williamson
6baf67aefd Work around the f39 toolbox container not existing
On Rawhide, just use an f38 toolbox container for now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-13 19:16:09 -08:00
Adam Williamson
619f5a70fe Add glib2 2.75.3 to f38 workarounds (FEDORA-2023-965f517da3)
GNOME blows up without it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-13 15:09:14 -08:00
Adam Williamson
860c8e0a09 Add bug F38 GNOME update to workarounds
As we're not getting composes ATM this isn't being pulled into
tests of subsequent updates, but we need it to be or else there
are issues.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-13 12:23:08 -08:00
Adam Williamson
016c78d80b Add FEDORA-2023-ad52b2e4b9 as a workaround for F38
tracker-miners had a bad dep which broke live image builds.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-10 00:05:40 -08:00
Adam Williamson
95de85b33a Adjust a wait_still_screen not to time out on a flashing cursor
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-07 10:02:38 -08:00
Adam Williamson
8bcabe25a8 Give some long-running package install operations a bit longer
These have timed out quite often recently.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-03 09:04:48 -08:00
Adam Williamson
6a7c11466c Get updvercheck.py from main now it's merged
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-03 08:58:38 -08:00
Adam Williamson
06bfd2d2ae Make the update non-matching package check smarter
With Rawhide updates, we quite often run into a situation where
a test runs after a *later* version of the package has already
gone stable. This even happens for stable releases too, though
less often. The current shell-based check just always fails on
this case, but it's usually OK, and manually marking every case
like this with an "it's OK!" comment gets tiring. Instead, let's
use a smarter Python script to do the check. We compare the EVR
of all installed update packages with the EVR of the package
from the update. If it's the same, fine. If the installed package
is lower-versioned, that's always an error, and we fail. If the
installed package is higher-versioned, we check whether the
update already went stable. If it did, then we soft fail, because
probably nothing can go wrong at this point (this is the usual
Rawhide case). If the update did not yet go stable, we still
hard fail, because something can go wrong in this case: if the
update *now* goes stable, the older version from the update may
be tagged over the newer version the test got (presumably from
current stable).

If anything goes wrong with the Bodhi check, or the test is
running on a task not an advisory, we treat both cases as fatal.

The script also gives easier-to-understand output than the old
approach, which should be a bonus.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-01-31 10:14:45 -08:00
Adam Williamson
6a36fe28d1 Handle a false failure when testing koji updates
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-01-14 02:57:38 -08:00
Adam Williamson
02136a80e1 utils.pm: drop some stuff unneeded after F35 EOL
and associated needles.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-13 14:34:34 -08:00
Adam Williamson
6f0478d4b4 gnome_initial_setup: drop a <35 conditional that's not needed
F34 is EOL for a while.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-13 14:34:34 -08:00
Adam Williamson
6e9213f4b7 Drop use of _ADVISORY_REPO_DONE, always use file tests
This is safer if the advisory stuff was done on a previous test
run. Hilariously, this exposed a dumb mistake I made years ago
in installedtest.pm and never noticed before: the calls to
advisory_* at the bottom of that file are meant to be in the
post_fail_hook, but they weren't, which meant they got called
by the scheduler. This didn't cause any failures because the
first line caused them to return immediately based on a get_var
call (which it's OK to do in the scheduler), but changing it
to a script_run call (which it's *not* OK to do in scheduling)
caused all the tests to blow up immediately and confused me
*a lot* until I spotted this!

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-12 08:53:02 -08:00
Adam Williamson
7429b438fd Don't update system in repo_setup on update install tests
When I enabled _advisory_post for live and ostree install tests,
the point was to check that updated packages were included in
the install media and used during installation. We shouldn't run
a system update in _repo_setup_updates on this path because it
will hide the problem if the updated packages weren't included.
The INSTALL variable is for this purpose - it was previously
used to skip _advisory_post on the same path. At the same time
let's remove some stray settings of this var on non-update tests
as it serves no purpose there.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-09 13:07:15 -08:00
Adam Williamson
5698525cc7 Enable the buildroot repository for Rawhide update tests
Per discussion at https://pagure.io/fedora-ci/general/issue/376
it really feels like this is the right thing to do. There are no
buildroot overrides for Rawhide, so we don't have to worry about
cross-pollution. The buildroot repo only contains builds that
have been tagged stable since the most recent Rawhide compose,
and thus will go into the next one. It makes sense to test later
updates against these. This avoids issues like:
https://openqa.fedoraproject.org/tests/overview?distri=fedora&version=38&build=Update-FEDORA-2022-30a952e331&groupid=2
where the tests of an update failed because it requires another
update which had been submitted and tagged stable previously, but
after the last compose.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-08 14:28:09 -08:00
Adam Williamson
ba88dac325 Handle chunked ADVISORY_NVRS_N settings
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-01 15:52:20 -08:00
Adam Williamson
03b6663339 Add tests to build a Silverblue installer image and install it
This is like the existing tests that build network install and
live images then install them, only for Silverblue. First we
build an ostree, using the standard configuration for the release
and subvariant but with the 'advisory' and 'workarounds' repos
included, so it will contain current stable packages plus the
packages from the update and any workarounds. Then we build an
ostree installer image with the ostree embedded, again including
advisory and workarounds repos in the installer build config so
packages from them will be included in the installer environment.
The image is uploaded, which completes the _ostree_build test.
Then an install_default_update_ostree test runs, which does a
standard install and boot from the installer image.

We do make a change that affects other tests, too. We now run
_advisory_post on live image install tests, as well as this new
ostree install image install test. It was skipped before because
of an exception that's really only needed for the netinst image
install test. In that test, packages from the update won't be
included in the installed system, so we can't run _advisory_post
on it. But for ostree and live image build/install tests, the
installed system *should* include packages from the update, so
we should check and make sure that it does.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-30 13:17:28 -08:00
Adam Williamson
c9191b0d4a disable_firefox_studies: don't run twice, skip uploads
There's no need to run this twice (which can happen on some
paths), so if the first file already exists, just bail. Also,
don't bother uploading the config files any more - that was just
for debug while I was making this stuff work, now it works, and
this saves some time.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-25 11:39:39 -08:00
Adam Williamson
c9924ecdeb Drop workaround which went stable two weeks ago
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-18 13:19:48 -08:00