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

agama-project / agama / 15210279542
73%

Build:
DEFAULT BRANCH: master
Ran 23 May 2025 12:36PM UTC
Jobs 3
Files 533
Run time 1min
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

23 May 2025 12:27PM UTC coverage: 62.765% (-0.01%) from 62.776%
15210279542

push

github

web-flow
feat: non-blocking and centralized progress reporting (#2389)

## Problem

Follow-up of #2379.

It is a known problem that the software service can get blocked at
several stages and it has an impact in the UI and the CLI. We handled
part of that problem in #2364 and #2379, but there are still some cases
that are not handled properly.

For instance, during software probing, Agama is not able to return the
current progress.

## Solution

This PR implements a new `ProgressService` which handles and caches the
progress for any service.

Apart from caching the progress, it offers a centralized way of keeping
track of the progress, listening for changes in single place (instead of
building and processing an stream of events for each of the services).

The service uses [Tokio
channels](https://tokio.rs/tokio/tutorial/channels) and message passing
to [share the state](https://tokio.rs/tokio/tutorial/shared-state).

As part of this change, I have decided to introduce a new
`ProgressChanged` signal, which carries the information we need, instead
of relying on the generic `PropertiesChanged`.

## Testing

- Tested manually
- An ISO is [temporarily
available](https://download.opensuse.org/repositories/systemsmanagement:/Agama:/branches:/non-blocking-progress/images/iso/).

92 of 132 branches covered (69.7%)

Branch coverage included in aggregate %.

11 of 41 new or added lines in 5 files covered. (26.83%)

55 existing lines in 3 files now uncovered.

11040 of 17604 relevant lines covered (62.71%)

39.84 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
77.48
0.0% service/lib/agama/software/manager.rb
7
0.0
rust/agama-server/src/web/common/progress.rs
9
0.0
0.0% rust/agama-server/src/web.rs
13
0.0
0.0% rust/agama-lib/src/monitor.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
0.0
0.0% rust/agama-lib/src/monitor.rs
1
0.0
0.0% rust/agama-server/src/web.rs
53
77.48
0.0% service/lib/agama/software/manager.rb
Subprojects
ID Flag name Job ID Ran Files Coverage
3 rust 15210279542.3 23 May 2025 12:36PM UTC 118
1.34
GitHub Action Run
3 service 15209396931.3 23 May 2025 11:43AM UTC 379
89.12
GitHub Action Run
3 web 15203364908.3 23 May 2025 05:57AM UTC 36
82.3
GitHub Action Run
Source Files on build 15210279542
  • Tree
  • List 533
  • Changed 3
  • Source Changed 3
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #15210279542
  • 316b0147 on github
  • Prev Build on master (#15209396931)
  • Next Build on master (#15211210428)
  • 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