41 Commits

Author SHA1 Message Date
iwanicki92 563b17120c dts: allow booting ipxe-dtsx64.efi via iPXE
Legacy boot path will wait for `.cpio.gz`:

```
bzimage-v1.2.3
dts-base-image-v1.2.3.cpio.gz << wait for this file
```

UEFI boot path will wait for DTS EFI file:

```
replace_fum_efivar.efi
ipxe_dtsx64-v1.2.3.efi << wait for this file
```

This commit also adds UKI support to `ipxe-run.sh` script.

Signed-off-by: iwanicki92 <iwanicki92@gmail.com>
2026-04-24 12:39:53 +02:00
Filip Gołaś a1a542fd5f Osfv stable release improvements (#1254)
* osfv_stability_{run,reports}.py: Add

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

osfv_stability_run: add release rules file

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

osfv_stability_reports: add run count

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

osfv_stability_reports: Fix: account for parallelism in total run time

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

osfv_stability_run.py: accept env vars

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

osfv_stability_reports.py: save logs to dirs depending on date and revision

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

osfv_stability_run.py: Save results in paths per run date and rev

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

osfv_stability_reports.py: Parse date, revision, branch and support json output

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

osfv_stability_*.py: Allow configurable LOGS_DIR using env vars

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

osfv_stability_reports.py: Handle broken robot xmls

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

osfv_stability_reports.py: Unpack merged results

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

osfv_stability_reports.py: Add suites to skip config

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Deploy Uefi Shell: Ensure it doesnt break the bootorder

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* os-specific-tasks/201.yml: Remove uefi shell installation

it breaks bootorder and tests deploy it anyway

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Login To OS: Rename to Boot And Login To OS

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Login To Windows: Rename to Boot And Login To Windows

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Login To Windows: Add keyword

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Logint To Booted OS: Add keyword

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Serial User Login Linux: Remove dead code

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Login To Linux: Remove retrials of Login To Linux Via SSH

Login To Linux Via SSH already retries all its code,
so this is redundant and multiplies the wait time

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* fix login ssh timeouts

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Login To Windows Via SSH: Reduce login timeout from 1h@20 tries to 5m@5 tries

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* keywords.robot: Implement login to OS recovery

When the boot order unexpectedly changes and testing via SSH,
the whole regression will start failing.

With this fallback, after we fail to log in to an OS, there
will at least be the hope of recovering the regression
eventually.

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Ensure Custom Bootentry: fix indexing empty list

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* BPS010: Deploy UEFI Shell: Add

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* linux-packages-playbook.yaml: Add systemwide update task

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Login To Windows Via SSH: Fail if login fails

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* TMP TEST: reduce trials for linux login

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* basic-platform-setup.robot: Normalize Boot&Login keyword variants usage in suite

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Set Nextboot Bootentry: Move implementation to lib/custom_boot_entries

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Load OS Credentials: Create keyword for flaky repeated import

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Recover Broken Bootorder: resume login after recover

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* options-lib_dcu.robot: Boot System... Do not assume default_boot is the target

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* lib/flash.robot: Fix missing 'x' in Wait Unil KW Succeeds

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Login To* kwds: Add configurable retries amount for ssh variants

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* capsule-update.robot: Flash rc0 before tests, update instructions

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Revert "TMP TEST: reduce trials for linux login"

This reverts commit d41693da2a3a600beb7a4a26d95f6e7f90a2430a.

* lib/dcu.robot: Remove redundant sleep after flashing

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* lib/network.robot: Send File To DUT: check hashes, rm before send

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* platform-configs: Update INTEL_CBNT_BOOTGUARD_FUSING_SUPPORT state

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* options-lib_dcu.robot: Remove redundant sleep in Set UEFI Option

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* keywords.robot: Load OS Credentials: Remove redundant OS login

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* lib/flash.robot: Flash ME in BTG supported devices

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* lib/flash.robot: Increase timeouts a bit to compensate for large RAM training

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* keywords.robot: Fix Login To Linux Via SSH not doing retries

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* capsule-update.robot: Rework suite to work without additional manual setup steps

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* novacustom-nuc_box.robot: Remove capsule update support: No capsules published

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* flash.robot: Flash FD using internal programmer to avoid FD mismatch bricks

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* regression-scope/configs/devices: Add capsule update env vars

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* capsule-update.robot: Remove manual step from Flash Firmware If Not QEMU

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* keyword & options-lib_dcu: Remove redundant Login To Windows keyword variant

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* capsule-update.robot: Remove redundant serial console test flow

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* release_tests_suite_list*: Add Basic Platform Setup to release tests

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* capsule-update.robot: Restore custom logo checking

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* requirements.txt: Bump osfv-scripts to fix time import

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* lib/dcu.robot: Prevent temp file collisions with uuids

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* msi-pro-690-a-wifi-ddr4_00039.json: change fw version to support custom logo

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* lib/flash.robot: Increase response timeout after flash to 300s

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* keywords.robot: Fix Login To Linux With Root Priviledges doing nothing on serial

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* keywords.robot: Login To Booted OS: Only attempt recover when via pure SSH

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* capsule-update.robot: Restore FUM dialog handling when serial console supported

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* capsule-update.robot: Adjust for execution on both serial and ssh

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* capsule_update_tests.sh: Remove only previous run files of the same name

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* lib/network.robot: Rm target path before moving

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Revert "lib/network.robot: Rm target path before moving"

This reverts commit 3bca42177f528f17eba13095dff0189a932fce8d.

* lib/network.robot: Add sync on the end to prevent interrupting the file transfer

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* capsule-update.robot: Make FUM screen optional, it depends on FW version

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* capsule-update.robot: Fix mismatch in waiting for tianocore string

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* ci//pcengines-apu3_00252.json: Fix FW file apu variant

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* platform-configs/protectli: Reduce repeated DMIDECODE values

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* protectli-vp6650_00002.json: Update sonoff ip

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* keys-and-keywords/ubuntu-keywords.robot: Fix applying log level immediately

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* ci//pcengines-apu3_00252.json: Update device IP address

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* menus.robot: Add warning if OS not found and will try to boot the default disk

Otherwise leads to cryptic fails failing because some disk name was not
found, while the real culprit is the OS not being installed.

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* linux-packages-playbook.yaml: accept gsettings modifications to fail

will fail if Gnome is not installed (server OSes)

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* BPS006: Add workaround for sudo-rs which is incompatible with ansible

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* release_tests_devices.txt: Fix protectli vp6650 filename

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* novacustom-nu_box-155H_00254.json: Update device IP

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* msi-z690-common.robot: Change keyboard model to fit hardware matrix

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* uefi-shell.robot: Use library keywords to perform test

Otherwise it was failing on MSI z690.
It's always better to use common and working
keywords instead of reinventing the wheel.

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* osfv-test-data: Bump version

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* tpm-support.robot: Add missing skips for serial-only tests

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* verified-boot.robot: Run DCU locally to keep DUT from downloading containers

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* platform-configs/pcengines: Update dmidecode values

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* platform-configs/novacustom: Update dmidecode values

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* lib/dcu.robot: Put temp tiles in /tmp to prevent littering if cleanup fails

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* BPS006: Put temp tiles in /tmp to prevent littering if cleanup fails

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* lib/flash.robot: Read Firmware include ME and IFD

We might assume the read firmware contains some IFD
or ME later, not reading them would result in a brick
and doesn't increase the read time that much.

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* SSH Boot System: Always reinit connection to fix 'No open connections' errors

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* cpu-performance.robot: Limit test runs to 3

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* manual_cpu_performance.robot: Limit runs to 3

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* novacustom-v540tnd_00266.json: Update device ip

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* novacustom-nuc_box-155H_00254.json: Update device IP

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Login To Booted OS: Fix infinite recovery loop

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* release_tests_devices.txt: Remove nucbox

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* keywords.robot: Fix ssh_retries being passed as timeout

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* SSH Login keywords: Limit retries to 5m instead of fixed try count

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* release_tests_suite_list.txt: Remove duplicated __init__s

robot crashes otherwise

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* lib/prepare-platform.resource: Unify redundant Prepare Platform definitions

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* util/prepare-platform.robot: Add util test for running Prepare Platform

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* release_tests_suite_list.txt: Use util/prepare-platform instead of module inits

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* dts-lib.robot: Add semiauto test skip for flashing kwd

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* develop_pr_auto_regression.py: Only compare revs if files list not overridden

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* osfv_stability_run.py: Fix logs_base undefined on custom logs dir

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* scripts/ci/regression-scope: Preserve suites order

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* develop_pr_auto_regression.py: Fix orphan robot processes

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* release_tests_rules.json: Add automated tag filter

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* osfv_stability_reports.py: Add per-suite cache

For suites which take a long long time to process,
to not lose the time spent processing it if the
processing is interrupted

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* osfv_stability_reports.py: Differentiate run dates in caches and reports

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* release_tests_devices.tst: Revert using temporary desk setup devices

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* scripts/regression.sh: Fix scope change

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* cpu-performance: Fix FORCE_TIMES_TO_RUN envvar set command

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Login To Booted OS: Fix continuing on fail to login

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* test_cases.json: fix spelling and such (#1244)

* test_cases.json: fix spelling and such

Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>

test_cases.json: fix

Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>

* test_cases.json: fixname

Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>

* test_cases.json:remaining tests

Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>

* test_cases.json: add WLE

Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>

* check_tests_consistency.py: script lists diffs in test_cases.json and modules

Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>

* dasharo-compatibility/*:fix

Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>

* test_cases.json: fix

Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>

---------

Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>

* test_cases.json: Add missing tests and fix changed_to's (#1246)

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* test_cases.json:fix net spd test (#1247)

Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>

* docs/novacustom.md: document v0.9.0 downgrade bug

Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>

* docs/novacustom.md: add link to ec downgrade procedure

Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>

---------

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Co-authored-by: Wiktor Mówiński <wiktor.mowinski@3mdeb.com>
Co-authored-by: Michał Kopeć <michal.kopec@3mdeb.com>
2026-03-10 08:53:21 +01:00
Michał Iwanicki a40036f11a lib: dts-lib: add Wait For DTS to Boot keyword
Also add support when booting via FUM

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2026-02-16 15:45:13 +01:00
Michał Iwanicki de5fc8ecfb dts: e2e: add E2E015.* (FUM with capsules) tests
Additionally fix E2E014.001 to make sure it still passes

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2026-02-10 11:35:13 +01:00
Michał Iwanicki cb65e37d6f lib: dts-lib: update DTS_FUSE_WARN message
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2026-02-10 11:35:13 +01:00
Michał Iwanicki 55f24aa24b dts-lib: move checkpoint keywords to separate lib so it can be used for Zarhus
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-10-23 14:38:25 +02:00
Michał Iwanicki 3eb6d6aea4 dts-lib: add additional DTS prompts
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-29 16:59:56 +02:00
Michał Iwanicki 45116e4ecc dts-lib: Add checkpoint logs
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-29 16:59:56 +02:00
Michał Iwanicki b4f2fe92ef dts-lib: change answer prompts to [y|n]
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-29 16:59:56 +02:00
Michał Iwanicki 0bde7b93f5 dts-lib: add checkpoint queue keywords
You can queue multiple required or optional checkpoints before running
'Wait For Checkpoints' keyword, which will wait for all checkpoints and
write an reply for each of them. Optional keywords don't need to show
up.

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-29 16:59:56 +02:00
Michał Iwanicki 9957dd06eb dts: Use 'Write Bare' when in DTS menu
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-29 16:59:55 +02:00
Michał Iwanicki 57c57a31b9 dts-e2e: Add fuse platform workflow
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-16 12:27:37 +02:00
Michał Iwanicki aebebfa2ed dts-lib: add 'Wait For Checkpoint And Write Bare' keyword
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-16 12:26:57 +02:00
Michał Iwanicki f20e6a5154 dts-lib: wait for checkpoint before writing DPP credentials
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-15 12:42:36 +02:00
Kamil Aronowski e05707940a dts/dts-e2e.robot: Add Dasharo v1.1.1 13gen CPU regression tests (#1045)
* dts/dts-e2e.robot: Add installation and update regression tests for
  msi-pro-z690-a-ddr5 and msi-pro-z690-a-wifi-ddr4
* dts/profiles: Remove no longer used `lscpu` from
  "msi-pro-z690-a-wifi-ddr4 UEFI Update - DCR.profile"
* lib/dts-lib.robot: Add DTS_13_GEN_REGRESSION variable

Signed-off-by: Kamil Aronowski <kamil.aronowski@3mdeb.com>
2025-09-11 10:39:48 +02:00
Michał Iwanicki 75cd10c1ba Add dts profile diff (#999)
* dts-e2e: add workflow profiles

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-e2e: modify platform configs so they reflect real workflows

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-e2e: modify e2e tests to verify profile at the end

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts: add tests to generate profiles on real platforms

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* flash.robot: use INTERNAL_PROGRAMMER_CHIPNAME with quotes

Otherwise it will fail if chipname contains space

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* network.robot: Allow optional hash verification in 'Get File From DUT'

This allows us to use this keyword with globs to get multiple files from DUT

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* network.robot: Try to use 'ip a' to get IP if 'hostname -I' fails

On DTS 'hostname' command doesn't have 'I' argument

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* ipxe-run.sh: remove root=/dev/nfs to fix dnf install

With this argument installing DTS extensions fails as dnf thinks there
is not enough free space on rootfs

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* docs: dts-tests.md: split long robot command into multiple lines

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

---------

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-08-27 15:38:21 +02:00
Danik Klimuk 1a146c4c75 DTS: add Dasharo (Slim Bootloader+UEFI workflows) (#992)
* dts: add Dasharo (Slim Bootloader+UEFI workflows)

Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>

* dts: fix initial deployment for Slim Bootloader

Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>

---------

Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
2025-08-06 17:29:50 +02:00
artur-rs 9e3b9cba1f dts/dts-e2e.robot: export DTS_CONFIG_REF from env (#993)
* dts/dts-e2e.robot: export DTS_CONFIG_REF from env

Signed-off-by: Artur Raglis <artur.raglis@3mdeb.com>

* dts/dts-e2e.robot: use global variable dts_config_ref

Signed-off-by: Artur Raglis <artur.raglis@3mdeb.com>

* docs/dts-tests.md: add dts_config_ref variable guide

Signed-off-by: Artur Raglis <artur.raglis@3mdeb.com>

* lib/dts-lib.robot: dts_config_ref_value unique name and default values

Signed-off-by: Artur Raglis <artur.raglis@3mdeb.com>

---------

Signed-off-by: Artur Raglis <artur.raglis@3mdeb.com>
2025-08-06 16:47:13 +02:00
Michał Iwanicki 07cf214e4b Add templated DTS E2E tests (#863)
* dts: Add TemplateSplit and PlatformParser libraries

* TemplateSplit - split each template keyword into separate tests
* PlatformParser - parse platform config and return variables defined
  for that platform in a dict

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* requirements.txt: update to robotframework 7.3

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts: replace tests with template generated ones

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-lib: remove unused keyword

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-lib: Add some improvements and new keywords

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* platform-configs: add config used with templated E2E tests

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts: dts-e2e: review fixes

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-e2e: pre-commit fixes

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-e2e: fix email in spdx and remove requirements-rf7.txt

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-e2e: change subscription to release

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-e2e: Set default version for every workflow

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-e2e: docs: add templated test documentation

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-e2e: novacustom-nuc_box doesn't support any DTS workflows yet

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

---------

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-08-01 12:08:55 +02:00
Maciej Pijanowski 2bd2e50c9b robocop: enable ReplaceWithVAR formatter
Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
2025-07-29 10:41:24 +02:00
Michał Iwanicki 1dd0b94e1c dts-lib: decline hw-probe question (#950)
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-07-25 10:56:54 +02:00
Michał Iwanicki 6259957d27 Add DTS initial deployment & Heads transition tests (#860)
* DTS010.001: Add initial deployment test

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* README.md: fix hyperlink

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* pre-commit: Update robocop to 5.8.0

Previous version had problems with variable capitalization
To update to 6.3.0 we will need to migrate config and fix
requirements.txt dependencies as robotframework-sherlock requires
pathspec 0.9.* while robocop at least 0.12.0. Unless we don't have to
keep pre-commit and venv tools synced

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-tools-suite: make update/deployment work automatically and manually

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-lib: add keyword that allows waiting for multiple checkpoints

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* pre-commit: fix robocop errors

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-tools-suite: Use different var for update/deploy

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-tools-suite: Add heads transition

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-tools-suite: Add missing checkpoint wait

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-tools-suite: Add seabios deployment

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-lib: fix bug in keyword

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* odroid-h4-plus: add DTS support

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-tools-suite: enable network boot in tests not in suite

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-tools-suite: free serial connection on manual step

This allows us to connect to DUT via serial and do manual steps if
needed. Also added couple small fixes in 'Flash FW Automatically Or
Manually' so it works correctly

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-tools-suite: enable log sending when updating/deploying

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-tools-suite: set SeaBIOS to True when deploying SeaBIOS

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-tools-suite: return DPP SeaBIOS when deploying SeaBIOS

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-lib: remove "" from starting regexp

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-tools-suite: enable ssh server automatically and start dts-boot

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-tools-suite: remove redundant Power On

'Make Sure That Network Boot Is Enabled' doesn't have any requirements
before using it so 'Power On' isn't needed.

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-tools-suite & dts-lib: increase timeouts

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

---------

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-06-12 12:17:23 +02:00
Danik Klimuk 459dcc0a45 dts/dts-e2e.robot: Add a separate Dasharo firmware transition workflow (#878)
* dts/dts-e2e.robot: PC Engines always have had the Dasharo with SeaBIOS,
so we should do only an update here.

Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>

* dts: add new transtition workflow, adjust PCE E2E tests

Related PR: https://github.com/Dasharo/dts-scripts/pull/87

Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>

* dts: e2e: add TEST_EFI_PRESENT="false"

Related PR: https://github.com/Dasharo/dts-scripts/pull/87

Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>

* dts: e2e: fix typos after review

Related PR: https://github.com/Dasharo/open-source-firmware-validation/pull/878

Co-authored-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

---------

Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
Co-authored-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-06-11 15:34:56 +02:00
Michał Iwanicki 54d1c9b554 dts-compatibility: dasharo-tools-suite: add Dasharo update via USB & iPXE (#590)
* dts-compatibility: dasharo-tools-suite: add Dasharo update via USB & iPXE

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-compatibility: dasharo-tools-suite: disable BIOS lock

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-compatibility: dasharo-tools-suite: skip if FW_FILE is not defined

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-compatibility: dasharo-tools-suite: fix documentation

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-compatibility: dasharo-tools-suite: use dts-e2e keywords

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-lib.robot: use dts-boot instead of dts in shell

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-compatibility: dasharo-tools-suite: disable Intel ME

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-lib: add ME warning message variable

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* lib/framework: enclose variables in triple quotes (""")

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dts-lib: Deal with Intel ME warning during update

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-compatibility: dts: Enter setup menu after update

To make sure that update went correctly

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-compatibility: dts: make DPP credentials optional

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-compatibility: dts: restore initial connection method after reboot

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* lib/dts-lib: Read until `cpio.gz... ok`

Otherwise on PiKVM (e.g. MSI) it might take longer than 20 seconds to
boot into DTS which will result in trying to blindly enable SSH
before it's possible and failure when trying to connect via SSH

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-tools-suite & dts-lib: Write without Enter in main menu

After Dasharo/dts-scripts#42 you can use options in main menu without
pressing Enter

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

* dasharo-tools-suite: update variable check to new format

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

---------

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-04-16 15:01:19 +02:00
Paweł Langowski 820edbd2e5 Revert "lib/dts-lib.robot: fix DTS entry string" (#733)
This reverts commit 64e2dd9327.
2025-03-19 09:49:45 +01:00