Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
76da8aa
Legacy-free Locale Service, API proposal
mvidner Apr 11, 2023
6b0e10f
better formatting
mvidner Apr 11, 2023
23272f5
Proposal layer for Agama.Locale1, including Priority<T>
mvidner Apr 12, 2023
bf50605
fixup, accidental readonly by copy-paste
mvidner Apr 12, 2023
1db73f2
Agama.TimeDate1 proposal layer design, just 2 properties
mvidner Apr 13, 2023
aaadb76
initial commit for locale data
jreidinger Apr 13, 2023
ab47c97
add first struct for serde deserialization
jreidinger Apr 13, 2023
475a755
first working code to get list of keyboards
jreidinger Apr 14, 2023
c19ca27
structure code a bit better
jreidinger Apr 14, 2023
ae17463
add listing of languages
jreidinger Apr 16, 2023
9b05440
Switch from X11Keyboard to VConsoleKeyboard
mvidner Apr 14, 2023
28bec0d
add terrioty call and reafctor ranked lists
jreidinger Apr 17, 2023
d6f3fcd
add timezone parts
jreidinger Apr 18, 2023
db43ccf
Adds method to get all timezones
jreidinger Apr 18, 2023
3594325
WIP another try, with langtable backend in mind
mvidner Apr 19, 2023
b6ca533
Add dbus server for locale ( and not only for that )
jreidinger Apr 19, 2023
cd87f2a
initial dbus service implementation
jreidinger Apr 20, 2023
c30f003
WIP localized timezones
jreidinger Apr 20, 2023
75f473b
English+native locale labels like YaST; no kb localized labels
mvidner Apr 21, 2023
1af7921
final timezone functionality
jreidinger Apr 21, 2023
a289660
enable again check of timezones size
jreidinger Apr 21, 2023
367a277
Use anyhow::Error to report agama-locale-data errors via D-Bus
mvidner Apr 22, 2023
f5ec539
list_x11_keyboards and list_timezones may return errors too
mvidner Apr 23, 2023
6d47b48
Update to reflect initial implementation in rust_locale
mvidner Apr 24, 2023
b336f33
Adapt list of languages and locales method
jreidinger Apr 25, 2023
1656975
add new dbus methods
jreidinger Apr 26, 2023
825fcb4
Add commit API to write down localization
jreidinger Apr 27, 2023
9ec96f5
Merge pull request #529 from openSUSE/redesign-locale-api
mvidner Apr 27, 2023
022dbeb
Merge branch 'master' into rust_locale
mvidner Apr 27, 2023
f44300c
move dbus object to own file
jreidinger Apr 27, 2023
a4819d8
Adapt to API proposal
jreidinger Apr 27, 2023
c5dc09d
move to own file also starting of service
jreidinger Apr 28, 2023
da622ff
fix attaching to bus
jreidinger Apr 28, 2023
f87274c
Improve on "Error: NameTaken"
mvidner Apr 28, 2023
19b3e0d
remove debug call
jreidinger Apr 28, 2023
df5e240
first testing setter with validation
jreidinger Apr 28, 2023
5116e8b
add more validation
jreidinger Apr 28, 2023
7186869
testing spec changes
jreidinger May 2, 2023
b699cf7
API docs updated to reflect code, except Priority
mvidner May 2, 2023
1ab3f3f
add missing dependency
jreidinger May 2, 2023
a989b44
Do not run get maps during spec build
jreidinger May 2, 2023
6aa2246
add locale dbus service file
jreidinger May 2, 2023
f88627e
fix services packaging
jreidinger May 2, 2023
246a115
update readme
jreidinger May 3, 2023
0851a97
adapt dbus configuration to locale service
jreidinger May 3, 2023
95a3446
do not start language service anymore
jreidinger May 3, 2023
c3c3290
use agama bus for locale service
jreidinger May 3, 2023
7d470ab
adapt clients to use locale instead of language
jreidinger May 3, 2023
5d61885
Separate bus connection from API serving for better error messages
mvidner May 4, 2023
45e4545
postpone using Priority<T>
mvidner May 4, 2023
5f2f314
adapt to renamed langtable-data
jreidinger May 4, 2023
9f657e5
first attempt to adapt web ui
jreidinger May 4, 2023
d42ebaa
first attempt to adapt setup-service.sh
jreidinger May 4, 2023
699979c
more adaptation to new locale service
jreidinger May 4, 2023
0c082ad
more adaptation for new dbus interface
jreidinger May 5, 2023
b833993
remove accidental console logs
jreidinger May 5, 2023
1fdb0eb
document how to test using container
jreidinger May 5, 2023
bb5aeb2
Fix tests for ruby client proxy (language -> locale)
mvidner May 10, 2023
21ccc21
Fix tests for manager: language -> locale
mvidner May 10, 2023
706c35f
Fix tests for Language UI
mvidner May 10, 2023
4ce2c17
setup.sh: install python-langtable-data
mvidner May 11, 2023
ce3362a
FIXME: revert: disable agama-locale-data tests in CI
mvidner May 11, 2023
33034d4
CI test: use setup-service.sh instead of racy manual service startup
mvidner May 11, 2023
7fefb8b
agamactl: Break plain `agamactl` up front, instead of later
mvidner May 11, 2023
69700e2
CI: show journal _after_ tests have autostarted the services
mvidner May 12, 2023
4376b1f
CI: start 'cockpit-ws --local-session' before ./setup-service.sh bloc…
mvidner May 21, 2023
1cf6b64
Merge branch 'master' into rust_locale
mvidner May 21, 2023
88f390f
Better spelling
mvidner May 24, 2023
7d7350f
Resolve a note about langtable keyboards
mvidner May 24, 2023
04e5dd6
Spell D-Bus properly
mvidner May 24, 2023
8c04226
Improve grammar
mvidner May 24, 2023
ac3c4ce
implement find_by_id
jreidinger May 24, 2023
339d899
update from review
jreidinger May 24, 2023
605ca2c
Re-enable agama-locale-data tests
mvidner May 24, 2023
224520f
setup.sh + setup-service.sh: install RPM dependencies in both
mvidner May 24, 2023
d2264fc
setup.sh + setup-service.sh: use --gpg-auto-import-keys where it matters
mvidner May 24, 2023
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
71 changes: 25 additions & 46 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -185,46 +185,36 @@ jobs:
- name: Environment
run: podman exec agama bash -c "env | sort"

- name: Install Ruby gems
run: podman exec agama bash -c "cd /checkout/service && bundle config set --local path 'vendor/bundle' && bundle install"
- name: Build the frontend
run: podman exec agama bash -c "cd /checkout/web && npm install && make"

- name: Install the Agama D-Bus configuration
run: podman exec agama bash -c "cp /checkout/service/share/dbus.conf /usr/share/dbus-1/system.d/org.opensuse.Agama.conf"
- name: Install the frontend
run: podman exec agama bash -c "ln -snfv /checkout/web/dist /usr/share/cockpit/agama"

- name: Set a testing Agama configuration
# copy a simplified ALP config file, it skips the product selection at the beginning
run: podman exec agama bash -c "cp /checkout/playwright/config/agama.yaml /checkout/service/etc/agama.yaml"
# ./setup-service.sh will try setting up cockpit.socket
# which has a login page, so this local-session needs to be first
- name: Start Cockpit service
run: podman exec --detach agama /usr/libexec/cockpit-ws --local-session=/usr/bin/cockpit-bridge

- name: Start NetworkManager
# We need to run it manually as systemd dbus activation looks like failing
run: podman exec agama /usr/sbin/NetworkManager
- name: Setup service
run: podman exec agama bash -c "cd /checkout; ./setup-service.sh"

- name: Reload the D-Bus service
run: podman exec agama systemctl reload dbus
- name: Rust unit tests
run: podman exec agama bash -c "cd /checkout/rust; cargo test --verbose"

- name: Start the Agama D-Bus services
# TODO: here is a potential race condition, but as building the frontend
# takes quite long time it should never happen™
run: podman exec agama bash -c "cd /checkout/service && (bundle exec bin/agamactl > service.log 2>&1 &)"
- name: Set a testing Agama configuration
# copy a simplified ALP config file, it skips the product selection at the beginning
run: podman exec agama bash -c "cp /checkout/playwright/config/agama.yaml /checkout/service/etc/agama.yaml"

- name: Build the frontend
run: podman exec agama bash -c "cd /checkout/web && npm install && make"
- name: Show NetworkManager log
run: podman exec agama journalctl -u NetworkManager

- name: Show the D-Bus services log
run: podman exec agama cat /checkout/service/service.log
run: podman exec agama bash -c "journalctl | grep agama"

- name: Check DBus socket
run: podman exec agama ls -l /var/run/dbus/system_bus_socket

- name: Show journal
run: podman exec agama journalctl -b || echo "journal failed with $?"

- name: Install the frontend
run: podman exec agama bash -c "ln -snfv /checkout/web/dist /usr/share/cockpit/agama"

- name: Start Cockpit service
run: podman exec --detach agama /usr/libexec/cockpit-ws --local-session=/usr/bin/cockpit-bridge

- name: Run the Agama smoke test
run: podman exec agama curl http://localhost:9090/cockpit/@localhost/agama/index.html

Expand All @@ -236,6 +226,13 @@ jobs:
# run the tests in the Chromium browser
run: podman exec agama bash -c "cd /checkout/playwright && SKIP_LOGIN=true playwright test --trace on --project chromium"

- name: Again show the D-Bus services log
run: podman exec agama bash -c "journalctl | grep agama"

- name: Show the complete journal
# maybe not necessary if the above filtered journalctl calls are enough
run: podman exec agama journalctl -b || echo "journal failed with $?"

- name: Upload the test results
uses: actions/upload-artifact@v3
# run even when the previous step fails
Expand All @@ -247,24 +244,6 @@ jobs:
playwright/test-results/**/*
/tmp/log/YaST2/y2log

cli_build:
runs-on: ubuntu-latest

env:
CARGO_TERM_COLOR: always

defaults:
run:
working-directory: ./rust

steps:
- uses: actions/checkout@v3
- name: Build
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose


finish:
runs-on: ubuntu-latest

Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,10 @@ Alternatively you can run a development server which works as a proxy for
the cockpit server. See more details [in the documentation](
web/README.md#using-a-development-server).

Another alternative is to run source checkout inside container so system is not
affected by doing testing run beside real actions really done by installer.
See more details [in the documentation][doc/testing_using_container.md].

* Start the services:
* beware that Agama must run as root (like YaST does) to do
hardware probing, partition the disks, install the software and so on.
Expand Down
Loading