• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

agama-project / agama / 12872723314
74%

Build:
DEFAULT BRANCH: master
Ran 20 Jan 2025 05:12PM UTC
Jobs 2
Files 648
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 Jan 2025 05:01PM UTC coverage: 70.889% (-0.03%) from 70.918%
12872723314

push

github

web-flow
feat(software): Reload repositories after failure (#1894)

## Problem


![agama-repo-failed](https://github.com/user-attachments/assets/522bb11c-9698-4278-816e-b472f25d73f1)


- When repository refresh fails there is no way how to retry the
operation
- The only workaround is to select a different product and then select
back the original product
- This obviously won't work if the installer contains only one product

## Solution

- Detect that a repository failed and offer a reload action

## Recording

<!--
[SLES4SAP-screen0.webm](https://github.com/user-attachments/assets/cd530256-c553-400a-b794-f628b06b3980)
-->

[SLES4SAP-screen0.webm](https://github.com/user-attachments/assets/ad9a5798-5f42-4333-8a4a-9419953a85ee)


- There is a new error section with "retry" link
- Unfortunately the VirtualBox does not record the mouse pointer so it
not obvious that the "Try again" link was clicked by mouse
- For easier testing I used a local copy of the SLE repository to easily
simulate unreachable repository and make it working for the retry
attempt. That's why you see a different (local) repository in the
recording.


## Details

- It turned out that it is not simple to detect a repository failure in
the software page.
- It reports an issue but it might contain a translated text or there
might be a different issue like missing product or pattern. That means
we cannot use the issues texts.
- We will very likely need a repository management later anyway it makes
sense to add API for fetching the current repository setup with the load
status (succeeded or failed).

## Tasks

- [x] DBus interface for listing the current repository setup (added the
`ListRepositories` DBus method)
- [x] Add the HTTP API endpoint `/api/software/repositories` using the
DBus backend above (@jreidinger thanks!)
- [x] Adapt the frontend code to show a failure
- [x] Adapt the frontend to retry after clicking a button

---------

Co-authored-by: Josef Reidinger <jreidinger@suse.cz>

1 of 21 new or added lines in 3 files covered. (4.76%)

9 existing lines in 1 file now uncovered.

17238 of 24317 relevant lines covered (70.89%)

35.49 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
3
80.23
0.0% service/lib/agama/dbus/software/manager.rb
4
0.0
0.0% rust/agama-server/src/software/web.rs
13
0.0
0.0% rust/agama-lib/src/software/client.rs

Uncovered Existing Lines

Lines Coverage ∆ File
9
80.23
0.0% service/lib/agama/dbus/software/manager.rb
Subprojects
ID Flag name Job ID Ran Files Coverage
2 rust 12872723314.2 20 Jan 2025 05:12PM UTC 130
25.23
GitHub Action Run
2 service 12870685737.2 20 Jan 2025 03:01PM UTC 518
89.14
GitHub Action Run
Source Files on build 12872723314
  • Tree
  • List 648
  • Changed 49
  • Source Changed 7
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #12872723314
  • 69019564 on github
  • Prev Build on master (#12870685697)
  • Next Build on master (#12894451227)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc