Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
254 commits
Select commit Hold shift + click to select a range
1e24948
feat(web): add status tracking to SoftwareService
imobachgs Dec 10, 2024
e867e6b
feat(web): add placeholders for software service actions
imobachgs Dec 11, 2024
26856be
chore: add zypp-c-api as a Git submodule
imobachgs Dec 11, 2024
07ab047
chore: add zypp-agama as a dependency
imobachgs Dec 12, 2024
a630621
feat(rust): implement a PoC of product selection and probing
imobachgs Dec 12, 2024
adb99dd
fix(CI): clone Git submodules in CI
imobachgs Dec 12, 2024
3fd91da
fix(rust): use consts::ARCH to filter by arch
imobachgs Dec 12, 2024
5ee9f09
chore(rust): update zypp-c-api submodule
imobachgs Dec 13, 2024
f73b699
feat(rust): import repositories GPG keys
imobachgs Dec 13, 2024
2ccbed4
feat(rust): implements the /patterns endpoint
imobachgs Dec 13, 2024
204453e
feat(rust): implement the /resolvables/:id endpoint
imobachgs Dec 17, 2024
74b2408
Merge remote-tracking branch 'origin/master' into software-service
jreidinger Sep 3, 2025
ce171ae
use recursive submodules in all rust CI to allow parsing Cargo.toml
jreidinger Sep 4, 2025
56c94ed
update submodule
jreidinger Sep 4, 2025
3c66919
first bunch of fixes
jreidinger Sep 4, 2025
8479f1f
Remove progress and status from software_ng
imobachgs Sep 4, 2025
a74b7b4
Add serde_yaml
imobachgs Sep 4, 2025
779b6c9
Adapt products spec to latest changes
imobachgs Sep 4, 2025
58f3300
Use relative URL for the git submodule
lslezak Sep 5, 2025
afc79a0
use c api without unsafe impl
jreidinger Sep 8, 2025
1a06fed
use LocalSet to ensure zypp runs on single thread
jreidinger Sep 8, 2025
92e1a06
even more simplified
jreidinger Sep 8, 2025
e47e946
Update rust/zypp-c-api
lslezak Sep 8, 2025
134bfbe
try to fix vendoring of submodules
jreidinger Sep 8, 2025
102f613
try to fix vendoring of submodules (#2713)
lslezak Sep 8, 2025
c4c535e
add dependencies to be able to build zypp-c-api
jreidinger Sep 8, 2025
68e752f
update dep to include bindgen
jreidinger Sep 8, 2025
46e4550
fix building with bindgen
jreidinger Sep 9, 2025
622ae17
Merge remote-tracking branch 'origin/software-service' into fix_ci
jreidinger Sep 9, 2025
6d3c63f
update dep
jreidinger Sep 9, 2025
8693cbd
remove Cargo.toml from submodule to avoid confusion
jreidinger Sep 9, 2025
4bc98f1
add dependencies to be able to build zypp-c-api (#2714)
jreidinger Sep 9, 2025
325bd0f
Merge remote-tracking branch 'origin/software-service' into another_c…
jreidinger Sep 10, 2025
bef76c9
use cargo fmt
jreidinger Sep 10, 2025
fe89b84
update branch
jreidinger Sep 10, 2025
301b696
add libzypp dev to be able to compile tests
jreidinger Sep 10, 2025
589c27d
update zypp c api to fix build
jreidinger Sep 10, 2025
ea4dc27
give a bit more output to see why it failing
jreidinger Sep 10, 2025
32cd088
update dependency
jreidinger Sep 10, 2025
ee4b134
more debugging ci lines
jreidinger Sep 10, 2025
57de622
fix wrong expectation in test
jreidinger Sep 10, 2025
317f8bc
Update rust/agama-server/src/software_ng/backend/server.rs
jreidinger Sep 11, 2025
56397a6
update zypp c api to master
jreidinger Sep 11, 2025
3c9763f
remove doctest example for private module
jreidinger Sep 11, 2025
257ec37
update dependency
jreidinger Sep 11, 2025
6afadb5
update zypp-c-api
jreidinger Sep 11, 2025
dfca151
cut off old software stack to see how big gap we have in the new one
jreidinger Sep 12, 2025
1c484d3
Another concurency attempt (#2711)
jreidinger Sep 12, 2025
8f58431
cut off old software stack to see how big gap we have in the new one …
jreidinger Sep 12, 2025
5f04c84
remove software dbus service
jreidinger Sep 12, 2025
e4cc6d7
add real products to product test and fix optional registry
jreidinger Sep 12, 2025
8fa9293
remove dbus usage from PackagesProposal wrapper
jreidinger Sep 15, 2025
b284f96
move maager from dbus client to http one
jreidinger Sep 15, 2025
3e1d38e
replace dbus client with http one in autologin
jreidinger Sep 15, 2025
fc8b191
fix http client and make rubocop happy
jreidinger Sep 15, 2025
0dfaf85
fixes
jreidinger Sep 15, 2025
9d3b216
Run the Rust unit tests in a container
lslezak Sep 16, 2025
7bb0d4a
Fixed openAPI CI
lslezak Sep 16, 2025
0ea8670
Merge branch 'master' into software-service
lslezak Sep 16, 2025
d508e12
switch Package mock from dbus to http
jreidinger Sep 17, 2025
7ebe4c1
move storage manager from dbus software to http one
jreidinger Sep 17, 2025
1d30b0f
update dependency
jreidinger Sep 17, 2025
3f34405
update dependency (#2744)
jreidinger Sep 17, 2025
064bf08
update to the latest master
jreidinger Sep 17, 2025
4dfa0c1
fix init of PackagesProposal
jreidinger Sep 17, 2025
5d7297e
mock calling on probe finish for storage
jreidinger Sep 17, 2025
7f88496
implement initial software get config
jreidinger Sep 17, 2025
e2ec34a
add more mocked services to get initial screen
jreidinger Sep 17, 2025
1df81ee
Fix a zypp test that failed when run as root (#2745)
mvidner Sep 18, 2025
0e8a787
Merge remote-tracking branch 'origin/software-service' into first_sof…
jreidinger Sep 18, 2025
3e065c4
format rust code
jreidinger Sep 18, 2025
10fa5d5
make ruby check happy
jreidinger Sep 18, 2025
0d5bb2f
fix ruby tests
jreidinger Sep 18, 2025
17d8edb
integrate agama zypp into agama for easier coordination
jreidinger Sep 19, 2025
5ad4b6d
First software fixes: can get past product selection (#2729)
jreidinger Sep 19, 2025
d2d1f65
Merge remote-tracking branch 'origin/software-service' into integrate…
jreidinger Sep 19, 2025
40312be
setup.sh: setup backend after frontend to prevent zypp lock failure
mvidner Sep 19, 2025
81f2027
setup-services.sh: install libzypp-devel for our new software stack
mvidner Sep 19, 2025
6dd3bc9
copy also editor config
jreidinger Sep 19, 2025
f1f6812
fix cargo fmt
jreidinger Sep 19, 2025
dc77e6a
add format target for make and call it
jreidinger Sep 19, 2025
c0ff4b0
and add make check
jreidinger Sep 19, 2025
7a30858
Better file filter for clang-format
mvidner Sep 19, 2025
8e9cbba
Better file filter for clang-format
mvidner Sep 19, 2025
90c5599
integrate agama zypp into agama for easier coordination (#2747)
jreidinger Sep 19, 2025
b6924c2
add initial mock implementation of software proposal
jreidinger Sep 22, 2025
79a7716
fix build of agama rust
jreidinger Sep 22, 2025
c115367
update gitignore to reflect C addition
jreidinger Sep 22, 2025
6e55433
fix build of agama rust
jreidinger Sep 22, 2025
c116332
use proper path to software issues
jreidinger Sep 23, 2025
2112458
fix RPM build of agama rust (#2754)
jreidinger Sep 23, 2025
577ffe3
Merge remote-tracking branch 'origin/software-service' into software_…
jreidinger Sep 23, 2025
491819b
cargo fmt
jreidinger Sep 23, 2025
c5cea71
fix errors check
jreidinger Sep 23, 2025
edf9466
fix implementation of get/set resolvables
jreidinger Sep 24, 2025
191fda1
fix formatting
jreidinger Sep 24, 2025
630fa73
fix calling http methods
jreidinger Sep 24, 2025
c46d4c4
select software from product definition
jreidinger Sep 25, 2025
3039b89
select resolvables also in zypp
jreidinger Sep 25, 2025
656b005
Apply suggestions from code review
jreidinger Sep 25, 2025
3bb987d
Software summary screen (#2756)
jreidinger Sep 25, 2025
7a182bf
Merge remote-tracking branch 'origin/software-service' into software_…
jreidinger Sep 25, 2025
1c3a22c
run solver after modification of software
jreidinger Sep 25, 2025
f6cfbcc
add call to switch target
jreidinger Sep 25, 2025
64931c8
initial implementation of commit
jreidinger Sep 25, 2025
f067457
fix tests
jreidinger Sep 25, 2025
cbc70f2
log how resolvables are set
jreidinger Sep 25, 2025
517e1b0
try to increase timeout for rpm install as workaround
jreidinger Sep 26, 2025
5898666
as workaround explicitelly require kernel now instead of logic to sel…
jreidinger Sep 26, 2025
9e2723c
adapt tests
jreidinger Sep 26, 2025
36ff31d
Update service PO files
yast-bot Sep 28, 2025
28621aa
Update web translation files
yast-bot Sep 28, 2025
dd12e53
Update patterns and packages Leap Micro 6.2
lkocman Sep 29, 2025
33aa1ac
Update patterns and packages Leap Micro 6.2 (#2764)
jreidinger Sep 29, 2025
2d33a5a
Merge remote-tracking branch 'origin/Leap-16.0' into merge_leap16
jreidinger Sep 29, 2025
bd8a623
Apply suggestions from code review
jreidinger Sep 29, 2025
bc3010c
changes from review
jreidinger Sep 29, 2025
527e76a
changes from review (forgotten file)
jreidinger Sep 29, 2025
b3d5f31
use container also for clippy
jreidinger Sep 29, 2025
70fbe94
use helper for status to make code a bit shorter and readable
jreidinger Sep 29, 2025
bf1a9ed
Update rust/agama-lib/src/software/model.rs
jreidinger Sep 30, 2025
56b8359
Software solve commit (#2758)
jreidinger Sep 30, 2025
164f689
Merge branch 'master' into po_merge_18068702331
imobachgs Oct 1, 2025
2001d0b
Merge branch 'master' into po_service_merge_18068703236
imobachgs Oct 1, 2025
c6ffb18
Fixed creating `/LiveOS/.packages.json.gz` file in SLE builds (#2771)
lslezak Oct 1, 2025
b55a8c2
Update web translation files (#2763)
imobachgs Oct 1, 2025
916fab7
Update service PO files (#2760)
imobachgs Oct 1, 2025
4b7e7b7
Autoinstallation schema improvements (#2773)
lslezak Oct 1, 2025
a65672c
add disabling of local repositories
jreidinger Oct 2, 2025
9472520
add mockups for registation finish and modify zypp conf
jreidinger Oct 2, 2025
14a91ee
implement change of full medium repository
jreidinger Oct 2, 2025
464f3e4
changes from review
jreidinger Oct 2, 2025
c4cd867
Don't hide c-layer warnings
mvidner Oct 2, 2025
4e75c40
Merge leap16 (#2765)
jreidinger Oct 3, 2025
dbbea5f
Apply suggestions from code review
jreidinger Oct 3, 2025
e24e5df
Software finish call (#2774)
jreidinger Oct 3, 2025
102d13e
Merge remote-tracking branch 'origin/master' into soft-ser_merge_master
jreidinger Oct 3, 2025
3d1342f
Software Service merge master branch (#2777)
jreidinger Oct 3, 2025
a39129e
implement software queries
jreidinger Oct 6, 2025
68274de
define software service result
jreidinger Oct 6, 2025
90e0b6f
add smarter helper for converting status into result
jreidinger Oct 6, 2025
356b7dc
fix behavior for is selected
jreidinger Oct 6, 2025
0cb1be3
optimize check for availability and hopefuly making code also more un…
jreidinger Oct 6, 2025
d0a10cb
add more status helpers to make code a bit more uniform
jreidinger Oct 6, 2025
0785ecb
unify and simplify error status with message
jreidinger Oct 7, 2025
5f23ae6
Update service/lib/agama/http/clients/software.rb
jreidinger Oct 7, 2025
3cc25a6
implement software queries (#2788)
jreidinger Oct 7, 2025
ac069aa
Fix software endpoint path
lslezak Oct 8, 2025
9adecf3
Merge remote-tracking branch 'origin/api-v2' into merge_api_w2
jreidinger Oct 8, 2025
8ecf672
fix merge relicts
jreidinger Oct 9, 2025
3232587
Merge api w2 (#2794)
jreidinger Oct 9, 2025
11ee806
Redirect libzypp logs to systemd journal
lslezak Oct 9, 2025
7321b7e
Redirect libzypp logs to systemd journal (#2796)
lslezak Oct 9, 2025
08d7812
Select software patterns
lslezak Oct 13, 2025
68b75a8
Temporarily disable reading repositories to avoid crash
lslezak Oct 13, 2025
f50291b
Fix web frontend build
lslezak Oct 13, 2025
c36668c
Create the libzypp lock also in the target directory
lslezak Oct 13, 2025
6929a70
prepare code to not obtain lock for whatever reason like intentional …
jreidinger Oct 13, 2025
385d5ec
Create the libzypp lock also in the target directory (#2807)
lslezak Oct 17, 2025
2c47ce7
WIP
jreidinger Oct 10, 2025
50b8420
Merge remote-tracking branch 'origin/api-v2' into adapt_to_v2
jreidinger Oct 20, 2025
f9d6add
add repositories list
jreidinger Oct 20, 2025
e4f3cb2
Move supervisor to agama-manager project
joseivanlopez Oct 8, 2025
5b59a85
Adapt server to use manager
joseivanlopez Oct 8, 2025
aef59a7
Remove reduntant types
joseivanlopez Oct 9, 2025
848b5a6
Remove unused deps
joseivanlopez Oct 9, 2025
fd40798
Changelog
joseivanlopez Oct 9, 2025
b50f3bc
Remove scope from HTTP API
joseivanlopez Oct 9, 2025
92d16ca
Add specific patch document for config
joseivanlopez Oct 9, 2025
5edc0e5
Adapt UI client
joseivanlopez Oct 9, 2025
31d8bc9
Update documentation
joseivanlopez Oct 9, 2025
747ec16
Merge remote-tracking branch 'origin/software-service' into adapt_to_v2
jreidinger Oct 20, 2025
0a93b09
Improve list of members format
imobachgs Oct 20, 2025
1c8fd6c
Make LicensesRepo and ProductRegistry more consistent
imobachgs Oct 20, 2025
5ce3df1
Move LicensesRepo and ProductsReference out of the ModelAdapter
imobachgs Oct 20, 2025
2e04a7a
implement Remove Repositories
jreidinger Oct 21, 2025
8df8187
non working attempt to make async set config
jreidinger Oct 23, 2025
a40cc20
fix build set config on background
jreidinger Oct 24, 2025
41224ff
cargo fmt
jreidinger Oct 24, 2025
85f306e
Apply suggestions from code review
jreidinger Oct 24, 2025
f508466
changes from review
jreidinger Oct 24, 2025
bed1346
Adapt to new HTTP API (#2806)
jreidinger Oct 25, 2025
b198623
Drop the software_ng module
imobachgs Oct 26, 2025
2283983
Merge branch 'api-v2' into software-service-api-v2
imobachgs Oct 26, 2025
0b00d2f
Move API types from agama-software
imobachgs Oct 26, 2025
ffc9edb
Add the new software service to the API
imobachgs Oct 27, 2025
7648ac0
Fix user patterns parsing
imobachgs Oct 27, 2025
d3324b0
Add an incomplete SoftwareState struct
imobachgs Oct 28, 2025
f484f85
Use a approach based on SoftwareStage in SetConfig
imobachgs Oct 28, 2025
90ef720
Fix SoftwareSpec::repositories
imobachgs Oct 28, 2025
31da458
Report issues when writing the software configuration
imobachgs Oct 29, 2025
0ea2c9d
Improve SoftwareState documentation
imobachgs Oct 29, 2025
442b606
Implement From<RepositoryParams> for Repository
imobachgs Oct 29, 2025
fa8ea49
Prevent unselecting mandatory patterns
imobachgs Oct 29, 2025
6d56948
Consider only_required in SoftwareState
imobachgs Oct 29, 2025
faf95b3
Fix tests depending on eula and products.d
imobachgs Oct 30, 2025
de0a858
Use the repositories from the full medium
imobachgs Oct 30, 2025
88e8c80
Remove the RwLock from software SystemInfo
imobachgs Oct 30, 2025
34352fa
Improve questions CLI set_mode function
imobachgs Oct 31, 2025
9b97bba
Drop unneeded fields from Repository
imobachgs Oct 31, 2025
014c4c1
Rename Resolvable to ResolvableName in the context of SoftwareStage
imobachgs Oct 31, 2025
bbde91f
Improve GIT_DIR detection
imobachgs Oct 31, 2025
8494fc1
Improve GIT_DIR detection
imobachgs Oct 31, 2025
ebd13c1
Connect the new software service (#2831)
imobachgs Oct 31, 2025
b7f1adf
Drop the old software and product handling code
imobachgs Oct 30, 2025
02a0285
Simplify new software code
imobachgs Oct 31, 2025
5c2c6c5
Drop the unused extended_config module
imobachgs Oct 31, 2025
a1f4264
Move software types to the agama-utils package
imobachgs Oct 31, 2025
301fb67
Adjust software::model visibility
imobachgs Nov 4, 2025
7baafe8
Rename software "Probe" to "Refresh"
imobachgs Nov 4, 2025
b9f6035
Software service clean-up (#2837)
imobachgs Nov 4, 2025
282c0d3
initial implementation for disk usage
jreidinger Nov 5, 2025
9bb529d
initial proposal implementation
jreidinger Nov 6, 2025
ae50ab9
Expose the software proposal through the API
imobachgs Nov 6, 2025
14193e0
Disk usage new software (#2851)
jreidinger Nov 6, 2025
2a95750
Emit progress during software SetConfig
imobachgs Nov 4, 2025
970e2d9
Drop unused products module from agama-server
imobachgs Nov 5, 2025
f14ab1f
Move products and licenses handling to the manager service
imobachgs Nov 6, 2025
0cb4ee2
Add an action to clear issues
imobachgs Nov 6, 2025
32a68e7
Manager sends the selected product to the software service
imobachgs Nov 6, 2025
f9f3b70
Fix formatting
imobachgs Nov 6, 2025
32157e0
Set the product in the software model
imobachgs Nov 6, 2025
1dac324
Flatten SoftwareProposal
imobachgs Nov 6, 2025
827f1a5
Improve error handling on software proposal
imobachgs Nov 6, 2025
465278a
Initialize the software service on single product scenarios
imobachgs Nov 6, 2025
5c1b425
Add a test for ProductsRegistry::default_product
imobachgs Nov 6, 2025
cdab393
Rename LicensesRepo to LicensesRegistry
imobachgs Nov 6, 2025
eb10e4b
Rename software Service::read to ::setup
imobachgs Nov 6, 2025
fbdc705
Update from code review
imobachgs Nov 7, 2025
497ba63
Fix progress error reporting in zypp_server
imobachgs Nov 7, 2025
f1f0a5f
Move product selection to the manager service (#2853)
imobachgs Nov 7, 2025
464354e
Merge branch 'api-v2' into merge-api-v2
imobachgs Nov 7, 2025
4814a32
Merge `api-v2` into `software-service` (#2855)
imobachgs Nov 7, 2025
d76f36d
Fix Ruby manager tests
imobachgs Nov 7, 2025
97d66c4
Fix Ruby manager tests (#2856)
imobachgs Nov 7, 2025
8dd1ac7
Unify packages and patterns in SoftwareState
imobachgs Nov 9, 2025
1697aae
Set the product on PATCH /config requests.
imobachgs Nov 9, 2025
0786e4b
Add support to specify a list of resolvables
imobachgs Nov 9, 2025
9ab57c1
Simplify the SoftwareSelection struct
imobachgs Nov 9, 2025
9f76751
Drop unused code related to resolvables handling
imobachgs Nov 9, 2025
89a5b31
Remove the unused agama_software::events module
imobachgs Nov 9, 2025
194a671
Adapt PackagesProposal.SetResolvables to the new API
imobachgs Nov 9, 2025
0652b82
Fix questions schema
imobachgs Nov 10, 2025
a096784
Log when the product is known
imobachgs Nov 10, 2025
073fcc9
Update SoftwareStateBuilder documentation
imobachgs Nov 10, 2025
b9da7fd
Add a new API to set resolvables for installation (#2859)
imobachgs Nov 10, 2025
22f77e3
Merge remote-tracking branch 'origin/api-v2' into sync-api-v2
imobachgs Nov 11, 2025
bda4ea8
Synchronize with the `api-v2` branch (#2866)
imobachgs Nov 12, 2025
66db35c
Merge branch 'api-v2' into sync-api-v2-again
imobachgs Nov 12, 2025
6881bf9
Sync api v2 again (#2867)
imobachgs Nov 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,11 @@ root = true
[*.sh]
indent_style = space
indent_size = 2

[*.{c,h,cxx,hxx}]
indent_style = space
indent_size = 2
tab_width = 8

[Makefile]
indent_style = tab
137 changes: 91 additions & 46 deletions .github/workflows/ci-rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,28 +72,42 @@ jobs:
timeout-minutes: 20
runs-on: ubuntu-latest

defaults:
run:
working-directory: ./rust
container:
image: registry.opensuse.org/opensuse/tumbleweed:latest
options: --security-opt seccomp=unconfined

steps:

- name: Configure and refresh repositories
# disable unused repositories to have faster refresh
run: zypper modifyrepo -d repo-non-oss repo-openh264 repo-update && ( zypper ref || zypper ref || zypper ref )

- name: Install required packages
run: zypper --non-interactive install
clang-devel
libzypp-devel
gcc-c++
git
libopenssl-3-devel
make
openssl-3
pam-devel
rustup

- name: Configure git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"

- name: Git Checkout
uses: actions/checkout@v4

- name: Install Rust toolchains
run: rustup toolchain install stable

- name: Rust toolchain
run: |
rustup show
cargo --version

- name: Install packages
run: |
sudo apt-get update
sudo apt-get -y install libclang-18-dev libpam0g-dev

- name: Installed packages
run: apt list --installed

- name: Rust cache
uses: actions/cache@v4
with:
Expand All @@ -104,44 +118,68 @@ jobs:

- name: Run clippy linter
run: cargo clippy
working-directory: ./rust

tests:
# the default timeout is 6 hours, that's too much if the job gets stuck
timeout-minutes: 30
runs-on: ubuntu-latest

container:
image: registry.opensuse.org/opensuse/tumbleweed:latest
options: --security-opt seccomp=unconfined

env:
COVERAGE: 1

defaults:
run:
working-directory: ./rust

steps:

- name: Configure and refresh repositories
# disable unused repositories to have faster refresh
run: zypper modifyrepo -d repo-non-oss repo-openh264 repo-update && ( zypper ref || zypper ref || zypper ref )

- name: Install required packages
run: zypper --non-interactive install
clang-devel
dbus-1-daemon
libzypp-devel
gcc-c++
git
glibc-locale
golang-github-google-jsonnet
jq
libopenssl-3-devel
make
openssl-3
pam-devel
python-langtable-data
python3-openapi_spec_validator
rustup
timezone
xkeyboard-config

- name: Configure git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"

- name: Git Checkout
uses: actions/checkout@v4

- name: Install Rust toolchains
run: rustup toolchain install stable

- name: Rust toolchain
run: |
rustup show
cargo --version

- name: Install packages
run: |
sudo apt-get update
sudo apt-get -y install libclang-18-dev libpam0g-dev python3-langtable jsonnet

- name: Prepare for tests
run: |
# the langtable data location is different in SUSE/openSUSE, create a symlink
sudo mkdir -p /usr/share/langtable
sudo ln -s /usr/lib/python3/dist-packages/langtable/data /usr/share/langtable/data
# create the /etc/agama.d/locales file with list of locales
sudo mkdir /etc/agama.d
sudo bash -c 'ls -1 -d /usr/share/i18n/locales/* | sed -e "s#/usr/share/i18n/locales/##" >/etc/agama.d/locales'
mkdir -p /etc/agama.d
ls -1 -d /usr/lib/locale/*.utf8 | sed -e "s#/usr/lib/locale/##" -e "s#utf8#UTF-8#" >/etc/agama.d/locales

- name: Installed packages
run: apt list --installed
run: rpm -qa

- name: Rust cache
id: cache-tests
Expand All @@ -157,13 +195,15 @@ jobs:
# this avoids refreshing the crates index and saves few seconds
if: steps.cache-tests.outputs.cache-hit != 'true'
run: cargo install cargo-tarpaulin
working-directory: ./rust

- name: Run the tests
# Compile into the ./target-coverage directory because tarpaulin uses special compilation
# flags, to avoid reusing the previous builds it always starts from scratch.
# The --skip-clean skips the cleanup and allows using the cached results.
# See https://github.com/xd009642/tarpaulin/discussions/772
run: cargo tarpaulin --workspace --all-targets --doc --engine llvm --out xml --target-dir target-coverage --skip-clean -- --nocapture
working-directory: ./rust
env:
# use the "stable" tool chain (installed by default) instead of the "nightly" default in tarpaulin
RUSTC_BOOTSTRAP: 1
Expand Down Expand Up @@ -198,38 +238,41 @@ jobs:
timeout-minutes: 30
runs-on: ubuntu-latest

defaults:
run:
working-directory: ./rust
container:
image: registry.opensuse.org/opensuse/tumbleweed:latest

steps:

- name: Configure and refresh repositories
# disable unused repositories to have faster refresh
run: zypper modifyrepo -d repo-non-oss repo-openh264 repo-update && ( zypper ref || zypper ref || zypper ref )

- name: Install required packages
run: zypper --non-interactive install
clang-devel
gcc-c++
git
libopenssl-3-devel
libzypp-devel
make
openssl-3
pam-devel
python3-openapi_spec_validator
rustup

- name: Git Checkout
uses: actions/checkout@v4

- name: Install Rust toolchains
run: rustup toolchain install stable

- name: Rust toolchain
run: |
rustup show
cargo --version

- name: Configure system
# disable updating initramfs (the system is not booted again)
# disable updating man db (to save some time)
run: |
sudo sed -i "s/yes/no/g" /etc/initramfs-tools/update-initramfs.conf
sudo rm -f /var/lib/man-db/auto-update

- name: Install packages
run: |
sudo apt-get update
sudo apt-get -y install libclang-18-dev libpam0g-dev
# uninstall the python3-jsonschema package, openapi-spec-validator wants
# to install a newer version which would conflict with that
sudo apt-get purge python3-jsonschema
sudo pip install openapi-spec-validator

- name: Installed packages
run: apt list --installed
run: rpm -qa

- name: Rust cache
uses: actions/cache@v4
Expand All @@ -241,6 +284,8 @@ jobs:

- name: Generate the OpenAPI specification
run: cargo xtask openapi
working-directory: ./rust

- name: Validate the OpenAPI specification
run: openapi-spec-validator out/openapi/*
working-directory: ./rust
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
/*.pot
*.mo
*.bz2
*.o
*.a
# Do NOT ignore .github: for git this is a no-op
# but it helps ripgrep (rg) which would otherwise ignore dotfiles and dotdirs
!/.github/
Empty file added .gitmodules
Empty file.
6 changes: 6 additions & 0 deletions live/src/agama-installer.changes
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
-------------------------------------------------------------------
Tue Sep 30 14:54:18 UTC 2025 - Ladislav Slezák <lslezak@suse.com>

- Fixed creating the /LiveOS/.packages.json.gz file in SLE builds
(gh#agama-project/agama#2771)

-------------------------------------------------------------------
Tue Sep 16 07:21:28 UTC 2025 - Josef Reidinger <jreidinger@suse.com>

Expand Down
3 changes: 2 additions & 1 deletion live/src/fix_bootconfig
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,8 @@ if [ -n "\$target_dir" ]; then
# array and also for formatting the final JSON output
rpm --root "\$mount_dir2" -qa --queryformat \\
'\\{"name":"%{NAME}","version":"%{VERSION}","release":"%{RELEASE}","arch":"%{ARCH}"\\}' \\
| jq -s 'sort_by(.name|ascii_downcase)' | gzip > "\$target_dir/LiveOS/.packages.json.gz"
| chroot "\$mount_dir2" /usr/bin/jq -s 'sort_by(.name|ascii_downcase)' \\
| gzip > "\$target_dir/LiveOS/.packages.json.gz"

# copy the build info file if present
if [ -f "\$mount_dir2"/var/log/build/info ]; then
Expand Down
8 changes: 8 additions & 0 deletions products.d/agama-products.changes
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
-------------------------------------------------------------------
Mon Sep 29 04:56:47 UTC 2025 - Lubos Kocman <lubos.kocman@suse.com>

- Update patterns and packages Leap Micro 6.2
Fixes install issues of Leap Micro 6.2 (boo#1250435)
- Explicitly add opensuse-migration-tool


-------------------------------------------------------------------
Fri Sep 12 14:30:16 UTC 2025 - Ladislav Slezák <lslezak@suse.com>

Expand Down
13 changes: 11 additions & 2 deletions products.d/leap_micro_62.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@ software:
mandatory_patterns:
- cockpit
- base
- transactional
- traditional
- base_transactional
- hardware
- selinux

Expand All @@ -44,8 +43,18 @@ software:
- sssd_ldap

mandatory_packages:
- firewalld
- kernel-firmware-all
- kernel-default-extra
- libpwquality-tools
- lzop
- NetworkManager
- openSUSE-repos-LeapMicro
- suseconnect-ng
- systemd-default-settings-branding-SLE-Micro
- wpa_supplicant
- opensuse-migration-tool

optional_packages: null
base_product: Leap-Micro

Expand Down
2 changes: 2 additions & 0 deletions products.d/tumbleweed.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,8 @@ software:
- apparmor
mandatory_packages:
- NetworkManager
# TODO: dynamically propose kernel in agama code
- kernel-default
- openSUSE-repos-Tumbleweed
- sudo-policy-wheel-auth-self # explicit wheel group policy to conform new auth model
optional_packages: null
Expand Down
Loading
Loading