`moz-phab self-update` no longer displays any output
Categories
(Conduit :: moz-phab, defect)
Tracking
(Not tracked)
People
(Reporter: sheehan, Assigned: sheehan)
References
(Regression)
Details
Attachments
(3 files)
Previously when running moz-phab self-update, moz-phab would spew the output from pip to the screen for users. After bug 1703872 we now silence pip by calling it with --quiet. This has the unintended effect of making moz-phab self-update print no output to the screen when updating.
moz-phab prints it's own output to the screen with a spinner notifying users of the update when the self-updater is run as a regular check (ie as a check on moz-phab submit). We should tweak the update checking code and make moz-phab self-update use this code path so the user can tell their moz-phab is being updated.
| Assignee | ||
Comment 1•3 years ago
|
||
Re-work check_for_updates to allow re-using the logging
logic in moz-phab self-update. Control running the self
update from the update checker via a function argument instead
of a config knob so we can always force the update when
running the update command explicitly. Move the restarting
of moz-phab to its own function outside of the updating
logic so it is only run when doing an update check outside
of moz-phab self-update. Update mocks of check_for_updates
to be a lambda: None instead of a MagicMock, which also
removes requiring them as function arguments in tests.
While here, reverse the if logic in check_for_updates
to exit if the update conditions aren't met, allowing the
entire function to be de-dented a level.
| Assignee | ||
Comment 2•3 years ago
|
||
When an update is available we now have some logging. However when
no update is available, there is still no command output. Add
a log message that states there is nothing for moz-phab to do.
| Assignee | ||
Comment 3•3 years ago
|
||
Now that we gate self_upgrade behind check_for_updates we require
check_for_updates to always return the latest version. The info
key in the PyPI API response only contains the latest full release,
meaning the updater code will never upgrade to a pre-release version
since it will be unaware of it's existance. Add a code path to parse
the latest pre-release version from the entire set of releases.
| Assignee | ||
Updated•3 years ago
|
Description
•