action #135632
closed"Mojo::File::spurt is deprecated in favor of Mojo::File::spew" breaking os-autoinst OBS build and osd-deployment size:M
0%
Description
Observation¶
See https://gitlab.suse.de/openqa/osd-deployment/-/jobs/1825493:
++ echo 'Build status for https://build.opensuse.org/project/show/devel:openQA (openSUSE_Leap_15.4) arch x86_64) is not successful'
++ echo '<resultlist state="9c65a2d1b41fa9bf4c35ffd463cddc69">
<result project="devel:openQA" repository="openSUSE_Leap_15.4" arch="x86_64" code="published" state="published">
[...]
<status package="os-autoinst" code="failed"/>
And accordingly https://build.opensuse.org/package/live_build_log/devel:openQA/os-autoinst/openSUSE_Leap_15.4/x86_64 - note that there's no persistent logs so I attached the log of the failure:
[19:51:05] ./xt/01-style.t ......................................... fatal: not a git repository (or any of the parent directories): .git
[...]
# Failed test 'no (unexpected) warnings (via done_testing)'
at ./t/03-testapi.t line 1105.
# Got the following unexpected warnings:
# 1: Mojo::File::spurt is deprecated in favor of Mojo::File::spew at /home/abuild/rpmbuild/BUILD/os-autoinst-4.6.1694444383.e6a5294/basetest.pm line 433.
Acceptance criteria¶
- AC1: os-autoinst builds fine in CI
- AC2: No "fatal" but ignored warning in the output
Added by okurz after estimation¶
- AC3: Open SRs for Tumbleweed and MRs for Leap are accepted
- AC4: https://build.opensuse.org/package/live_build_log/openSUSE:Factory/openQA/standard/x86_64 passes
- AC5: https://build.opensuse.org/package/live_build_log/openSUSE:Factory/os-autoinst/standard/x86_64 passes
Suggestions¶
- Note that this is not specific to OBS/Leap15.4
- Confirm the source of the
fatal: not a git repository (or any of the parent directories): .git
errors- This is probably not failing anything and not new
- Address or switch off the
Mojo::File::spurt is deprecated in favor of Mojo::File::spew
errors which seem to upset our checks for no warnings, e.g. just replace all uses of spurt with spew because that's how rolling distributions work. As fallback try to use a dynamic lookup of the method presence and use it if available, fallback to "spurt" otherwise - Also see https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/17748 and https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/17746
Rollback actions¶
- Remove perl-Mojo-IOLoop-ReadWriteProcess and perl-Mojolicious-Plugin-AssetPack from devel:openQA as soon as we have the new version in Tumbleweed and current Leap
- Same but in devel:openQA:Leap:15.5
Files
Updated by okurz over 1 year ago
- Tags changed from infra, osd-deployment, changelog, update to osd-deployment, changelog, update
- Priority changed from High to Urgent
Not infra as it's related to the use of features and upstream package dependencies but urgent
Updated by okurz over 1 year ago
- Subject changed from osd-deployment fails in monitor-pre-deploy because os-autoinst doesn't build on OBS to "Mojo::File::spurt is deprecated in favor of Mojo::File::spew" breaking os-autoinst OBS build and osd-deployment
Updated by livdywan over 1 year ago
I guess this is quite recent. Mojo::File docs don't even know about it yet. It's mentioned in the release notes from 9.34 2023-09-11, though.
Updated by livdywan over 1 year ago
- Subject changed from "Mojo::File::spurt is deprecated in favor of Mojo::File::spew" breaking os-autoinst OBS build and osd-deployment to "Mojo::File::spurt is deprecated in favor of Mojo::File::spew" breaking os-autoinst OBS build and osd-deployment size:M
- Description updated (diff)
- Status changed from New to Workable
Updated by okurz over 1 year ago
- Status changed from Workable to In Progress
- Assignee set to okurz
Updated by okurz over 1 year ago
- Due date set to 2023-09-27
- Status changed from In Progress to Feedback
OBS CI check
[openSUSE_Tumbleweed](https://build.opensuse.org/projects/devel:openQA:GitHub:os-autoinst:os-autoinst:PR-2360/packages/os-autoinst/repositories/openSUSE_Tumbleweed/binaries)
x86_64
unresolvable
The build can not begin, because required packages are either missing or not explicitly defined.
Build jobs have been processed, new repository is not yet created
unresolvable: nothing provides perl(Mojolicious) >= 9.34, (got version 9.33 provided by perl-Mojolicious)
so we need to wait for the package to reach published Tumbleweed first
Updated by livdywan over 1 year ago
Updated by okurz over 1 year ago
- Status changed from Feedback to In Progress
https://github.com/openSUSE/Mojo-IOLoop-ReadWriteProcess/pull/51 for dependency, failing right now in perltidy
Updated by tinita over 1 year ago
https://github.com/karenetheridge/Test-Warnings/issues/12 Feature request: turn off the check for warnings via an environment variable
Karen (ether) replied also on IRC:
20:37 < ether> another possible way to handle the method deprecations -- issue the warning using the 'deprecated' category,
and then do no warnings 'deprecated';
20:38 < ether> use warnings::register; if (warnings::enabled("deprecated)) { warnings::warn("deprecated", ".. this method
is deprecated..") }
21:19 < kraih> patch welcome https://github.com/mojolicious/mojo/blob/main/lib/Mojo/Util.pm#L126
Updated by okurz over 1 year ago
So I might have managed to create a CPAN release as visible on https://metacpan.org/release/OKURZ/Mojo-IOLoop-ReadWriteProcess-0.34 although https://metacpan.org/dist/Mojo-IOLoop-ReadWriteProcess/permissions does not list me as an authorized maintainer. tinita will try to see if the OBS related auto-update scripts can pick up that release or we apply a downstream patch in the package for now.
Updated by tinita over 1 year ago
https://build.opensuse.org/request/show/1111528 Submit package home:tinita:branches:d:l:p / perl-Mojo-IOLoop-ReadWriteProcess to package devel:languages:perl / perl-Mojo...eProcess
->
https://build.opensuse.org/request/show/1111533 Submit package devel:languages:perl / perl-Mojo-IOLoop-ReadWriteProcess to package openSUSE:Factory / perl-Mojo-I...iteProcess
Updated by okurz over 1 year ago
- Description updated (diff)
To shorten the waiting time until we have perl-Mojo-IOLoop-ReadWriteProcess
I did osc linkpac devel:languages:perl perl-Mojo-IOLoop-ReadWriteProcess devel:openQA
. As soon as we have an updated version available again for OS versions where we need it we can remove that again. Added according rollback step.
Updated by okurz about 1 year ago
https://build.opensuse.org/request/show/1112340 for a submission with a downstream patch to unblock https://github.com/os-autoinst/openQA/pull/5305 before https://github.com/mojolicious/mojo-assetpack/pull/149 is accepted.
Updated by okurz about 1 year ago
- Related to action #129619: high response times on osd - simple limit of jobs running concurrently in openQA size:M added
Updated by okurz about 1 year ago
- Related to action #135380: A significant number of scheduled jobs with one or two running triggers an alert added
Updated by okurz about 1 year ago
https://build.opensuse.org/request/show/1112340 was accepted. I did osc linkpac openSUSE:Factory perl-Mojolicious-Plugin-AssetPack devel:openQA
which should help us to fix tests
Updated by okurz about 1 year ago ยท Edited
- Description updated (diff)
- Due date deleted (
2023-09-27) - Status changed from In Progress to Blocked
tinita helped to fix the openQA PR with https://github.com/os-autoinst/openQA/pull/5310 (merged). A new package could be built in devel:openQA though Tumbleweed aarch64 is missing perl-Mojolicious in the updated version.
https://app.circleci.com/pipelines/github/os-autoinst/openQA/12216/workflows/e15a006d-ef11-45e5-aed9-70b46b969f16 "nightly" passed again. This also directly created a dependency update PR which was automatically tested, verified and merged.
https://build.opensuse.org/package/live_build_log/openSUSE:Factory/openQA/standard/x86_64 fails with spurt deprecation messages.
Blocked on at least
- MR: https://build.opensuse.org/request/show/1112869 -> https://build.opensuse.org/request/show/1113482 (accepted)
- MR: https://build.opensuse.org/request/show/1112870 -> https://build.opensuse.org/request/show/1113483 (accepted)
- MR: https://build.opensuse.org/request/show/1112871 -> https://build.opensuse.org/request/show/1113484 (accepted)
- MR: https://build.opensuse.org/request/show/1112872 -> https://build.opensuse.org/request/show/1113488 (accepted)
- MR: https://build.opensuse.org/request/show/1112873 -> https://build.opensuse.org/request/show/1113487 (accepted)
- MR: https://build.opensuse.org/request/show/1112874 -> https://build.opensuse.org/request/show/1113485 (accepted)
- SR: https://build.opensuse.org/request/show/1112977 (accepted)
- SR: https://build.opensuse.org/request/show/1112981 (accepted)
Updated by okurz about 1 year ago
- Target version changed from Ready to Tools - Next
Updated by okurz about 1 year ago
- Related to action #137105: Handle Perl deprecation warning messages gracefully (Mojo::File::spurt is deprecated in favor of Mojo::File::spew) size:M added
Updated by okurz 10 months ago
- Status changed from Blocked to In Progress
- Target version changed from Tools - Next to Ready
All SRs and MRs accepted. Removed perl-Mojo-IOLoop-ReadWriteProcess and perl-Mojolicious-Plugin-AssetPack from https://build.opensuse.org/project/show/devel:openQA:Leap:15.5
Updated by okurz 10 months ago
- Due date set to 2024-02-22
- Status changed from In Progress to Feedback
I upgraded locally and saw how the mentioned packages shifted back to openSUSE. AC1,2,3,4,5 are covered so far but I would like to await 1-2 days in case problems arise either by the dependency PR updates on github or o3 or osd or user reports.