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

agama-project / agama / 18222230343
66%
master: 81%

Build:
Build:
LAST BUILD BRANCH: migrate-users-form-tanstack
DEFAULT BRANCH: master
Ran 03 Oct 2025 12:34PM UTC
Jobs 3
Files 1030
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

03 Oct 2025 12:27PM UTC coverage: 75.996% (+12.4%) from 63.601%
18222230343

push

github

web-flow
feat: add a new config-based API

This pull request introduces two big changes:

* The implementation of the new HTTP API for the `l10n` module. Bear in
mind that the specification is still a work in progress.
* The new architecture for Agama services. The `l10n` module has been
heavily reorganized to:
  * support the new API.
  * make it easier to maintain in the future.

## The new HTTP API

Here is a brief explanation of how the new API should look like. For
further details, check [the ongoing
description](https://gist.github.com/joseivanlopez/ed9f4f87b214ff60d52a5f6c3897dc9d).

In general, it is designed around 3 main concepts:

* system: represents the current status of the running system. It is not
only about the configuration, but it can offer additional information
(e.g., the list of supported languages, products, hardware information,
etc.).
* config: represents the user configuration for the target system.
* proposal: represents what is going to happen during installation.

Here is the API summary (check whether we have done some changes):

~~~
GET             /system
GET             /extended_config
GET             /extended_config/{scope}
GET PUT PATCH   /config
GET PUT PATCH   /config/{scope}
GET POST PATCH  /questions
GET             /proposal
GET             /state
GET             /issues
POST            /action
~~~

This new design allows us to drastically reduce the complexity and the
amount of code needed by the old API.

Of course, we still need to extend it to support more use cases
(software, DASD, progress, etc.) but this one is a step in the direction
we want to take.

## The new architecture

Coming from a set of separate single-thread D-Bus services, we had have
time to identify a few limitations that we would like to overcome in
this redesign. Given that we expect several process to collaborate
(holding configuration, listening for system changes, etc.) we want to
implement something similar to an *very simplified* [actor
mod... (continued)

2680 of 4679 branches covered (57.28%)

Branch coverage included in aggregate %.

175 of 471 new or added lines in 48 files covered. (37.15%)

103 existing lines in 17 files now uncovered.

23243 of 29432 relevant lines covered (78.97%)

67.19 hits per line

Uncovered Changes

Lines Coverage ∆ File
87
0.0
rust/agama-server/src/server/web.rs
75
0.0
rust/agama-l10n/src/model.rs
28
0.0
rust/agama-l10n/src/monitor.rs
11
0.0
rust/agama-server/src/supervisor/listener.rs
11
0.0
rust/agama-server/src/supervisor/service.rs
11
0.0
rust/agama-utils/src/service.rs
10
0.0
rust/agama-server/src/supervisor/start.rs
9
0.0
rust/agama-server/src/web/docs/config.rs
8
0.0
rust/agama-l10n/src/start.rs
8
77.14
rust/agama-utils/src/actor.rs
7
0.0
rust/agama-server/src/supervisor/message.rs
5
50.0
0.0% web/src/queries/system.ts
4
9.26
rust/agama-l10n/src/model/locale.rs
4
62.16
-8.11% rust/agama-locale-data/src/lib.rs
3
75.0
rust/agama-l10n/src/service.rs
3
0.0
rust/agama-server/src/supervisor/scope.rs
3
0.0
rust/agama-server/tests/server_service.rs
2
66.67
-33.33% rust/agama-lib/src/http/event.rs
2
0.0
0.0% rust/agama-server/src/agama-dbus-server.rs
1
0.0
rust/agama-l10n/src/helpers.rs
1
50.0
rust/agama-l10n/src/message.rs
1
0.0
0.0% rust/agama-server/src/agama-web-server.rs
1
0.0
0.0% rust/agama-server/src/web.rs
1
0.0
0.0% rust/xtask/src/main.rs

Coverage Regressions

Lines Coverage ∆ File
30
0.0
0.0% rust/agama-server/src/web.rs
17
0.0
0.0% rust/agama-server/src/web/common/progress.rs
15
50.0
0.0% web/src/queries/l10n.ts
12
8.82
-0.55% rust/agama-lib/src/manager/http_client.rs
7
92.99
0.0% web/src/components/core/InstallerOptions.tsx
4
88.1
0.0% web/src/test-utils.tsx
4
45.63
-3.88% rust/agama-lib/src/http/base_http_client.rs
3
82.17
0.0% web/src/context/installerL10n.tsx
2
62.16
-8.11% rust/agama-locale-data/src/lib.rs
2
92.42
0.0% web/src/App.tsx
1
89.29
0.0% web/src/components/l10n/KeyboardSelection.tsx
1
90.32
0.0% web/src/components/l10n/L10nPage.tsx
1
92.59
0.0% web/src/components/l10n/TimezoneSelection.tsx
1
50.0
0.0% web/src/queries/system.ts
1
92.31
0.0% web/src/components/l10n/LocaleSelection.tsx
1
0.0
0.0% rust/agama-server/src/agama-dbus-server.rs
1
0.0
0.0% rust/agama-lib/src/store.rs
Subprojects
ID Flag name Job ID Ran Files Coverage
1 rust 18222230343.1 03 Oct 2025 12:34PM UTC 197
19.09
GitHub Action Run
3 service 18057692705.3 27 Sep 2025 09:05AM UTC 390
88.57
GitHub Action Run
3 web 18153666644.3 01 Oct 2025 06:38AM UTC 576
68.53
GitHub Action Run
Source Files on build 18222230343
  • Tree
  • List 1163
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #18222230343
  • 9cc8b2db on github
  • Prev Build on api-v2 (#18153666644)
  • Next Build on api-v2 (#18222230338)
  • 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