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

agama-project / agama / 15210279526
73%

Build:
DEFAULT BRANCH: master
Ran 23 May 2025 12:32PM UTC
Jobs 3
Files 532
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.784% (+0.008%) from 62.776%
15210279526

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 %.

8 of 28 new or added lines in 4 files covered. (28.57%)

32 existing lines in 4 files now uncovered.

11044 of 17605 relevant lines covered (62.73%)

39.84 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
77.54
0.07% service/lib/agama/software/manager.rb
9
0.0
0.0% rust/agama-server/src/web.rs
10
0.0
0.0% rust/agama-lib/src/monitor.rs

Uncovered Existing Lines

Lines Coverage ∆ File
3
0.0
0.0% rust/agama-server/src/web/common/issues.rs
4
0.0
0.0% rust/agama-lib/src/monitor.rs
4
0.0
0.0% rust/agama-server/src/web.rs
21
0.0
0.0% rust/agama-server/src/web/common.rs
Subprojects
ID Flag name Job ID Ran Files Coverage
3 service 15210279526.3 23 May 2025 12:32PM UTC 379
89.12
GitHub Action Run
3 rust 15191629254.3 22 May 2025 04:23PM UTC 117
1.34
GitHub Action Run
3 web 15203364908.3 23 May 2025 05:57AM UTC 36
82.3
GitHub Action Run
Source Files on build 15210279526
  • Tree
  • List 532
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #15210279526
  • 316b0147 on github
  • Prev Build on master (#15209396931)
  • Next Build on master (#15210279542)
  • 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