Skip to content
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
1094 commits
Select commit Hold shift + click to select a range
13f5053
Move filesystem methods
joseivanlopez Dec 16, 2025
993ffc8
Move device methods
joseivanlopez Dec 16, 2025
4bd60f0
Move devices manager
joseivanlopez Dec 16, 2025
f3c3e14
Move config model hooks
joseivanlopez Dec 16, 2025
0423543
Remove useModel hook
joseivanlopez Dec 16, 2025
d2a1ac4
Move model hooks
joseivanlopez Dec 16, 2025
89b77c5
Move boot hooks
joseivanlopez Dec 17, 2025
39b10d1
Move drive hooks
joseivanlopez Dec 17, 2025
33ec807
Move md raid hooks
joseivanlopez Dec 17, 2025
823d862
Move volume group hooks
joseivanlopez Dec 17, 2025
6afb7d4
Move logical volume hooks
joseivanlopez Dec 17, 2025
12d7e4e
Move partition hooks
joseivanlopez Dec 17, 2025
69913dd
Move filesystem hooks
joseivanlopez Dec 17, 2025
d45c699
Move space policy hooks
joseivanlopez Dec 17, 2025
c42ac00
Move old hooks
joseivanlopez Dec 17, 2025
71fab41
Update system software types
imobachgs Dec 16, 2025
eedea6d
Fix redirection to/from products page
imobachgs Dec 15, 2025
4938af9
Extract software settings JSON schema to a separate file
imobachgs Dec 15, 2025
e246fea
Add model/config with software types
imobachgs Dec 15, 2025
5694a41
Fix SelectedBy definition
imobachgs Dec 16, 2025
a724c21
Adapt the SoftwarePage component to the new API
imobachgs Dec 16, 2025
1e077c0
Adapt SoftwarePatternsSelection component to the new API
imobachgs Dec 16, 2025
bd525fe
Do not crash when the software proposal is not ready
imobachgs Dec 16, 2025
ba6559c
Add the software schema to the agama package
imobachgs Dec 16, 2025
4158171
Expose whether a pattern is preselected
imobachgs Dec 17, 2025
6f46ad7
Reorganize storage methods and hooks (#2943)
joseivanlopez Dec 17, 2025
c3caba4
Fix and expand ProposalPage.test.tsx
ancorgs Dec 15, 2025
62401a1
web: test and improve ProgressBackdrop
dgdavid Dec 17, 2025
d31c054
reorganize imports and use tokio sleep instead of thread sleep
jreidinger Dec 17, 2025
fdeeb0a
web: Adapt BootSelection.test.tsx to the new API
ancorgs Dec 16, 2025
91c8465
web: Adapt DeviceSelectorModal.tsx to the new API
ancorgs Dec 16, 2025
ceb3300
web: Adapt DeviceSelectorModal.test.tsx to the new API
ancorgs Dec 16, 2025
3ed8ad1
web: Adapt ConnectedDevicesMenu.test.tsx to the new API
ancorgs Dec 16, 2025
b06686f
web: subscribe software pages to software progress
dgdavid Dec 17, 2025
ff1ed17
web: Adapt ConfigureDeviceMenu.test.tsx to new API
ancorgs Dec 16, 2025
cb32a91
web: Adapt ConfigEditor.test.tsx to the new API
ancorgs Dec 16, 2025
62b4d0a
web: use a single queryCache subscription instead of QueryObservers
dgdavid Dec 17, 2025
ac5b7b2
reorganize use for configs and also switch to tokio sleep
jreidinger Dec 17, 2025
4e4d53e
CLI - Adapt `agama install` to new API (#2952)
jreidinger Dec 17, 2025
1b56219
Fix types of adapted tests
joseivanlopez Dec 17, 2025
89c3bb5
Merge branch 'api-v2' into api-v2-block-on-progress
dgdavid Dec 17, 2025
3b3ca54
web: Adapt EncryptionSection.test.tsx to the new API
joseivanlopez Dec 17, 2025
cf4eb37
web: Adapt EncryptionSettingsPage.test.tsx to the new API
joseivanlopez Dec 17, 2025
f79768e
Always submit add/remove lists
imobachgs Dec 17, 2025
29eaf28
Allow to explicitly remove any pattern
imobachgs Dec 17, 2025
f734739
web: Adapt PartitionsSection.test.tsx to the new API
joseivanlopez Dec 17, 2025
dcc02d8
Apply suggestions from code review
dgdavid Dec 17, 2025
c651389
web: drop Spanish comments
dgdavid Dec 17, 2025
30bf251
web: allow blocking pages on certain progress signals (#2947)
dgdavid Dec 17, 2025
f840503
Merge branch 'api-v2' into fix-product-selection
imobachgs Dec 17, 2025
4821800
Improve ResolvablesState documentation
imobachgs Dec 17, 2025
796b84e
Replace ResolvablesState::to_hash_set with ::to_vec
imobachgs Dec 17, 2025
8770bd0
Consider preselected patterns as user selected
imobachgs Dec 17, 2025
fcc27bf
Do not allow to unselect auto-selected patterns
imobachgs Dec 17, 2025
de38940
Use "description" instead of "title" in software the JSON schema
imobachgs Dec 17, 2025
5b763a7
Mark repositories probing as TODO
imobachgs Dec 17, 2025
e776fff
Fix software JSON schema
imobachgs Dec 17, 2025
8a00b06
Fix product and patterns selection (#2946)
imobachgs Dec 17, 2025
1d8c031
Merge the storage config
imobachgs Dec 17, 2025
f6daf5e
web: Adapt ProposalActions.test.tsx to the new API
joseivanlopez Dec 18, 2025
f1713cb
add dependency on libsuseconnect
jreidinger Dec 18, 2025
be759c8
install also new software schema
jreidinger Dec 18, 2025
cec92b4
Merge the storage config (#2955)
imobachgs Dec 18, 2025
c889d57
Fix build (#2956)
jreidinger Dec 18, 2025
2dc565e
web: Adapt FormattableDevicePage.test.tsx to the new API
ancorgs Dec 18, 2025
9f715fc
web: Adapt ProposalFailedInfo.test.tsx to the new behavior
ancorgs Dec 18, 2025
889f6fc
Link resolv.conf when running chrooted scripts
imobachgs Dec 18, 2025
edf27e0
Adapt chroot replacement to run scripts when needed
imobachgs Dec 18, 2025
408ae4f
web: refactor progress backdrop query tracking
dgdavid Dec 18, 2025
0c6e7b3
Reduce code repetition in scripts tests
imobachgs Dec 18, 2025
ca1106d
Link resolv.conf when running chrooted scripts (#2957)
imobachgs Dec 18, 2025
4fd1007
use indicatif to display progress
jreidinger Dec 18, 2025
a262c83
web: Adapt ProposalResultSection.test.tsx to the new API
joseivanlopez Dec 18, 2025
a05f3ab
web: small fixes
joseivanlopez Dec 18, 2025
4def187
web: Adapt ProposalTransactionalInfo.test.tsx to the new API
joseivanlopez Dec 18, 2025
4f5fe9a
web: remove unused file
joseivanlopez Dec 18, 2025
e31712f
web: Adapt LvmPage.test.tsx to the new API
ancorgs Dec 18, 2025
3d816b6
test: centralize useStatus mocking
dgdavid Dec 18, 2025
afab1e3
Merge branch 'api-v2' into api-v2-move-progress-tracking
dgdavid Dec 18, 2025
10bf61a
web: refactor progress backdrop query tracking (#2958)
dgdavid Dec 18, 2025
288a5f6
web: do not use PF/Content for progress
dgdavid Dec 18, 2025
76f2353
web: refactor progress status monitor
dgdavid Dec 18, 2025
d8d9b05
web: drop leftover semicolon
dgdavid Dec 18, 2025
1db5ead
web: extract ProgressBackdrop into separate module
dgdavid Dec 18, 2025
951e2d2
Handle WebSockets disconnection
imobachgs Dec 18, 2025
da83f09
web: progresses feedback improvements (#2960)
imobachgs Dec 18, 2025
41defb5
web: Adapt SpaceActionsTable.test.tsx to the new API
ancorgs Dec 18, 2025
e541c82
Simplify mock
ancorgs Dec 18, 2025
c4a569a
web: improve product selection submit feedback
dgdavid Dec 18, 2025
d1735af
explicitelly enable preload of rpms
jreidinger Dec 19, 2025
dc7e1ce
web: Adapt UnsupportedModelInfo.test.tsx to the new API
joseivanlopez Dec 19, 2025
776c83b
Handle WebSockets disconnection (#2961)
imobachgs Dec 19, 2025
109636e
web: improve product selection submit feedback (#2963)
dgdavid Dec 19, 2025
a7ce37d
web: Adapt PartitionPage.test.tsx to the new API
ancorgs Dec 19, 2025
63b48bd
web: Adapt DriveEditor.test.tsx to the new API
joseivanlopez Dec 19, 2025
b7760ba
web: fix types from core components
joseivanlopez Dec 19, 2025
0d9632c
web: Fix types for the tests of the storage components
ancorgs Dec 19, 2025
f0f7486
web: fix types from overview components
joseivanlopez Dec 19, 2025
5f20268
web: fix eslint complaints
joseivanlopez Dec 19, 2025
1adc683
web: Fix types for the tests of the questions components
ancorgs Dec 19, 2025
ea20ebe
Merge branch 'api-v2' into api-v2-fix-storage-tests
joseivanlopez Dec 19, 2025
959b473
web: fix types and eslint
joseivanlopez Dec 19, 2025
6badbc4
web: remove AlertOutOfSync
joseivanlopez Dec 19, 2025
a9a4ea7
fix cache location to avoid preload to fill /run
jreidinger Dec 19, 2025
d1800e5
Merge branch 'api-v2' into fix_preload
jreidinger Dec 19, 2025
6ed6771
Web: Adapt storage unit tests to api-v2 (#2954)
ancorgs Dec 19, 2025
0603c75
web: improve ProgressBackdrop look & feel
dgdavid Dec 19, 2025
6712123
Merge branch 'api-v2' into fix_preload
jreidinger Dec 19, 2025
dea8b31
Drop the old manager HTTP API
imobachgs Dec 18, 2025
eec073f
Drop the old storage HTTP API
imobachgs Dec 20, 2025
3193631
Stop monitoring for old D-Bus events
imobachgs Dec 20, 2025
4b11ebf
Drop the old progress service
imobachgs Dec 20, 2025
7936761
Remove the old D-Bus jobs stream
imobachgs Dec 20, 2025
f63a7dc
Drop the old D-Bus service status stream
imobachgs Dec 20, 2025
c90b420
Drop references to the common module in OpenAPI
imobachgs Dec 20, 2025
d8f48f9
Drop the old events
imobachgs Dec 20, 2025
ac56ce1
Use set_config for SetConfig and UpdateConfig
imobachgs Dec 22, 2025
e893b25
Fix preload (#2964)
jreidinger Dec 22, 2025
045b7c0
add C call to libzypp to know how many packages will be installed
jreidinger Dec 22, 2025
d127118
web: improve ProgressBackdrop tracking API
dgdavid Dec 22, 2025
29c0d2e
Use set_config for SetConfig and UpdateConfig (#2967)
imobachgs Dec 22, 2025
8bbf446
web: improve ProgressBackdrop tracking API and its look & feel (#2965)
dgdavid Dec 22, 2025
1d258c4
Drop old HTTP API code (#2968)
imobachgs Dec 22, 2025
d72dc40
implement software progress reporting
jreidinger Dec 22, 2025
aff18ac
cargo fmt
jreidinger Dec 22, 2025
18e9259
Merge remote-tracking branch 'origin/api-v2' into api_progress
jreidinger Dec 22, 2025
1326286
Update spec file
imobachgs Dec 22, 2025
467d414
Update spec file to not remove the unused API mock (#2970)
imobachgs Dec 22, 2025
ef0661d
add deserialize to proposal
jreidinger Dec 23, 2025
4e56dec
initial implementation for services
jreidinger Dec 23, 2025
7d72169
add unit tests
jreidinger Dec 23, 2025
afa91c2
cargo fmt
jreidinger Dec 23, 2025
ba2ef13
Merge branch 'api-v2' into software_progress_reporting
jreidinger Dec 23, 2025
4fddf7b
implementation of libzypp services (#2971)
jreidinger Dec 23, 2025
7da3942
Software progress reporting (#2969)
jreidinger Dec 23, 2025
7bcb098
web: disable TanStack Query structural sharing
dgdavid Dec 23, 2025
cf9da48
web: fix ProgressBackdrop test
dgdavid Dec 23, 2025
3d6b1eb
Merge remote-tracking branch 'origin/api-v2' into api_progress
jreidinger Dec 23, 2025
c958a1a
Merge remote-tracking branch 'origin/api-v2' into api_progress
jreidinger Dec 23, 2025
a0f8d7d
do not show question for failed preload as it will use next mirror au…
jreidinger Dec 23, 2025
c01be88
use indicatif to display progress (#2959)
jreidinger Dec 23, 2025
4267caa
web: disable TanStack Query structural sharing (#2972)
dgdavid Dec 23, 2025
f2e2ee2
Added the new API v2 hostname service
teclator Dec 16, 2025
6dda2a7
Added merge to hostname
teclator Dec 17, 2025
ae69aa7
Adapted hostname web page
teclator Dec 17, 2025
a6efa63
Comment monitor
teclator Dec 18, 2025
147ba10
Removed hostname queries and old api functions
teclator Dec 18, 2025
de61771
Apply suggestions from code review
teclator Dec 18, 2025
72e9fc2
Fixing hostname and network tests
teclator Dec 18, 2025
2eeeda0
Adding tests to hostname service
teclator Dec 22, 2025
7a56451
Edit hostname config
teclator Dec 22, 2025
48279d1
Some small fixes.
teclator Dec 23, 2025
eb2bbb4
Merge leftovers
teclator Dec 24, 2025
aab6eba
System static hostname is optional
teclator Dec 24, 2025
542ab77
Changes based on code review
teclator Dec 24, 2025
1809237
More changes based on code review
teclator Dec 24, 2025
8f9796e
Fixed eslint complains
teclator Dec 24, 2025
a73f3d4
Added the new API v2 hostname service (#2948)
teclator Dec 24, 2025
35c8d10
fix channel closed error as we do not send Ok status and add bunch of…
jreidinger Dec 29, 2025
ea3b7ba
Apply suggestions from code review
jreidinger Dec 29, 2025
bb5c499
More tracing (#2974)
jreidinger Dec 29, 2025
973c189
fix passing parameters for product activation and add example to demo…
jreidinger Dec 29, 2025
d441cdc
cargo fmt
jreidinger Dec 29, 2025
84e8bdd
fix passing parameters for product activation (#2975)
jreidinger Dec 29, 2025
44d41f7
fix starting installation
jreidinger Dec 30, 2025
9755aa3
fix starting installation (#2977)
jreidinger Dec 30, 2025
8840238
Add registration info to SoftwareState
imobachgs Dec 23, 2025
c4b9df3
Initial support for registering the base system
imobachgs Dec 23, 2025
f187813
Expose the registration information through the HTTP API
imobachgs Dec 30, 2025
61322b3
Rename AddonProperties to AddonInfo
imobachgs Dec 30, 2025
1150952
Use raw c_char to avoid issue on other archs
jreidinger Dec 31, 2025
0095dac
cargo fmt
jreidinger Dec 31, 2025
29ee02a
Use raw c_char to avoid issue on other archs (#2980)
jreidinger Dec 31, 2025
246bbb8
Add an arch module to deal with architectures
imobachgs Dec 31, 2025
b9fb1dc
Use the correct arch identifier for SCC
imobachgs Dec 31, 2025
5f392c1
Update from code review
imobachgs Dec 31, 2025
3498d9e
Support for registering the base system (#2978)
imobachgs Dec 31, 2025
940382b
Rename AddonSettings to AddonConfig
imobachgs Dec 31, 2025
c1c01e7
Add support for registering add-ons
imobachgs Dec 31, 2025
b646573
Read SCC services after adding them
imobachgs Dec 31, 2025
0ba5c4d
Added install call to hostname
teclator Jan 2, 2026
883c3d7
Add the service to the list before trying to refresh it
imobachgs Jan 8, 2026
91584de
Fix build problem with services registration
imobachgs Jan 8, 2026
ed6f72e
wip: adapt to the new registration API
imobachgs Dec 31, 2025
7d3c479
Added install call to hostname (#2983)
teclator Jan 8, 2026
1c418d9
Add support for registering add-ons + refresh services (#2982)
imobachgs Jan 8, 2026
695db2c
web: Temporarily comment checks for DASD and zFCP
ancorgs Jan 8, 2026
9cdc2fa
Move kernel_cmdline to agama-utils
imobachgs Jan 8, 2026
3ad1f68
rust: do not serialize none values
joseivanlopez Jan 8, 2026
c2913e7
web: Adapt unit test to previous commit
ancorgs Jan 8, 2026
fae4adb
Add ostruct gem dependency for ruby >= 3.5
teclator Jan 8, 2026
1fc6508
web: Temporarily comment checks for DASD and zFCP (#2992)
ancorgs Jan 8, 2026
7ef1ab7
Add ostruct gem dependency for ruby >= 3.5 (#2993)
teclator Jan 8, 2026
d2b05f4
service: Do not block on SetResolvables
ancorgs Jan 8, 2026
6e7fe74
service: Set storage resolvables on every config change
ancorgs Jan 8, 2026
2fe373b
Adjust storage-related packages on every storage configuration change…
ancorgs Jan 8, 2026
e034a36
Consider the inst.register_url parameter
imobachgs Jan 8, 2026
a0539b7
web: add wrapper for PatternFly DescriptionList
dgdavid Dec 26, 2025
2c6c27e
web: drop almost everything related to overview
dgdavid Dec 26, 2025
82df203
web: start implementing new overview page
dgdavid Dec 26, 2025
a752ad7
web: add initial network overview summary
dgdavid Dec 28, 2025
53a7eb3
web: add initial software summary for overview revamp
dgdavid Dec 28, 2025
4d9be0f
web: add useProgressTracking hook to avoid code duplication
dgdavid Dec 28, 2025
64dcaba
web: wording improvements
dgdavid Dec 29, 2025
82786d1
web: add missing link in hostname summary
dgdavid Dec 29, 2025
03e3244
web: rework hostname summary display
dgdavid Dec 31, 2025
4086946
web: re-rework Hostname summary display
dgdavid Dec 31, 2025
7341c2a
web: reorder summaries in overview
dgdavid Dec 31, 2025
f407942
web: add inormation about system IPs in summary
dgdavid Dec 31, 2025
bfff62f
web: improve network overview summary
dgdavid Jan 2, 2026
e49a41c
web: add tests for useIpAddresses network hook
dgdavid Jan 5, 2026
f502623
Shorter summary for storage
ancorgs Jan 5, 2026
957da83
web: add test for network FormattedIPsList component
dgdavid Jan 5, 2026
578a378
web: improve the software summary
dgdavid Jan 5, 2026
cecdecb
web: fine-tune unit test
dgdavid Jan 5, 2026
6722b0c
web: make usage of useProgressTracking at storage summary
dgdavid Jan 7, 2026
6d80cea
web: extract common summary layout to a component
dgdavid Jan 7, 2026
698e523
web: add unit tests
dgdavid Jan 7, 2026
57d5390
feat(web): replace installation confirmation popup with a dedicated C…
dgdavid Jan 8, 2026
1dd4df9
web: add missing file and update translation
dgdavid Jan 8, 2026
b3e6b64
Allow changing the registration URL (#2994)
imobachgs Jan 8, 2026
9fdd9ec
web: move auto-generated types
joseivanlopez Jan 8, 2026
140b3c4
web: add types of product model
joseivanlopez Jan 8, 2026
f366d71
web: add hooks for product config
joseivanlopez Jan 8, 2026
b07ddd3
Merge branch 'api-v2' into registration-ui
joseivanlopez Jan 8, 2026
45badde
rust: fix serialization
joseivanlopez Jan 8, 2026
304b69a
web: adapt registration page for base system
joseivanlopez Jan 8, 2026
2752e14
web: revamp overview and confirmation user interfaces (#2988)
ancorgs Jan 9, 2026
c8c1f55
web: adapt hostname page
joseivanlopez Jan 9, 2026
73240f8
Merge branch 'api-v2' into registration-ui
joseivanlopez Jan 9, 2026
cec66c6
Adapt registration UI (#2995)
joseivanlopez Jan 9, 2026
2f38b7d
Merge master branch
imobachgs Jan 9, 2026
3680f96
Fix i18n import
imobachgs Jan 9, 2026
6768906
Skip schema validation
joseivanlopez Jan 9, 2026
46653c4
Synchronize `master` with `api-v2` (#2996)
imobachgs Jan 9, 2026
0114a4d
Update changes files
imobachgs Jan 9, 2026
bc42513
Bump to version 19.pre
imobachgs Jan 9, 2026
8ed424e
Update version and changes files (#2997)
imobachgs Jan 9, 2026
01b5201
Added system hardware type
teclator Jan 9, 2026
b78abda
Fixed formatIp type issue
teclator Jan 9, 2026
0867cce
Fix eslint complains
teclator Jan 9, 2026
66aeb3f
Revert "Fixed formatIp type issue"
dgdavid Jan 9, 2026
5a16f49
web: fix formatIp TypeScript complaints
dgdavid Jan 9, 2026
4de9469
web: fix core/Loading tests
dgdavid Jan 9, 2026
50d8baa
web: tests fixing
dgdavid Jan 10, 2026
7c81135
web: tests fixing (y2)
dgdavid Jan 10, 2026
305e329
web: please linter
dgdavid Jan 10, 2026
91af1a9
web: tests fixing (y3)
dgdavid Jan 10, 2026
3efa58c
web: tests fixing (y4)
dgdavid Jan 10, 2026
ef7dc37
Fixed hardware and formatIp types issue (#2999)
imobachgs Jan 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
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
143 changes: 96 additions & 47 deletions .github/workflows/ci-rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,28 +72,43 @@ 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 --allow-downgrade
clang-devel
gcc-c++
git
libopenssl-3-devel
libsuseconnect
libzypp-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 +119,70 @@ 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 --allow-downgrade
clang-devel
dbus-1-daemon
gcc-c++
git
glibc-locale
golang-github-google-jsonnet
jq
libopenssl-3-devel
libsuseconnect
libzypp-devel
make
openssl-3
pam-devel
python-langtable-data
python3-openapi_spec_validator
rustup
timezone
util-linux-systemd
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,18 +198,20 @@ 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
RUSTUP_TOOLCHAIN: stable
RUST_BACKTRACE: 1
RUST_BACKTRACE: full
RUSTFLAGS: --cfg ci

# send the code coverage for the Rust part to the coveralls.io
Expand Down Expand Up @@ -198,38 +241,42 @@ 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 --allow-downgrade
clang-devel
gcc-c++
git
libopenssl-3-devel
libsuseconnect
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 +288,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.
56 changes: 0 additions & 56 deletions doc/boot_arguments.md

This file was deleted.

59 changes: 0 additions & 59 deletions doc/dbus/bus/org.opensuse.Agama.Manager1.bus.xml

This file was deleted.

1 change: 0 additions & 1 deletion doc/dbus/bus/org.opensuse.Agama.Security.bus.xml

This file was deleted.

Loading
Loading