Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
meta-dts
You can find documentation about the DTS system, including information on building the system, running the system, and the functionalities included in the system, by visiting the following links.
Please visit release section to get latest version of DTS.
Communication channel
We have created communication channels to provide support to our community. Please look there if you are looking for help regarding DTS system or any Dasharo related stuff.
Reporting issues
Thank you for using Dasharo Tools Suite Community Edition. If you have encountered any problems with this version, or would like to provide feedback for us - please open an issue on dasharo-issues repository.
Release process
This section contains the technical aspects of the DTS release process. The
recipients of this information should be those authorised to issue DTS
releases.
The basic release process can be found here.
Follow the first 4 steps from the document linked above. After that, open a pull
request from develop into main in the following repositories:
The PR in meta-dts will trigger a CI/CD with DTS E2E tests. Wait for the tests to complete, and collect the test results for internal analysis.
After test results analysis and approval from maintainers, do steps 5 and 6 from
the basic release process. These steps will trigger
the DTS release CI, which consists of two parts:
-
The first step is done on GitHub Actions. Here, the
DTSimage is built, and the binaries are pushed toboot.dasharo.com. -
The second step is done on GiTea Actions. There, the iPXE menu is pushed to
boot.3mdeb.com, and the binaries are signed. Additionally, CI publishes the release onhttps://github.com/Dasharo/meta-dts/releases, from where binaries can be downloaded.
When generating the changelog, you can provide your GitHub access token as a
parameter to generate-changelog.sh. This will increase the cap on API call
rate, which may otherwise prevent you from running git cliff.
After the CIs finish and the DTS release appears in the meta-dts repository release tab, merge the previously opened PR in dts-configs.
Cukinia tests
DTS utilizes the cukinia
framework to test various features and tools integrated into the system. You can
execute the tests using the following command in the DTS shell:
cukinia
It is recommended that you run the tests when developing DTS to make sure that
the features are still working after your changes.
Developing cukinia tests
When integrating new features into DTS, one should add tests to check whether
the changes work. The test cases are located in
meta-dts-distro/recipes-tests/dts-tests/dts-tests/cukinia.conf.
The following example shows test cases that could be added after adding a new
binary/script to DTS.
as "Check if script X exists" cukinia_test -x $(which <script_name>)
as "Check if script X can be executed" cukinia_cmd <script_name> --help
Testing Dasharo firmware updates from local sources
By default the DTS uses https://3mdeb.com/open-source-firmware/Dasharo as a
source of downloaded artifacts in case of community releases. This behaviour can
be changed by starting dts-boot script from the command line with
FW_STORE_URL_DEV variable set to the http address that is serving the update
files.
Below there is a list of steps that one need to do, to fetch binaries from local server.
-
On host PC create
dasharo-updatesdirectory and from it start the http python module, as a port you can use e.g.1234.mkdir dasharo-updates && cd dasharo-updates python -m http.server 1234 -
Inside
dasharo-updatesdirectory create the same folder structure as there is for your update files onhttps://3mdeb.com/open-source-firmware/Dasharo. E.g. forv1.7.2ofNovaCustom NS5X ADLyou need to create pathnovacustom_ns5x_adl/v1.7.2/and inside put binaries, hashes and signatures from that release. -
Boot
DTSand start shell by pressingS. -
Start
dts-bootscript withFW_STORE_URL_DEVvariable set to started server on the host PC. E.g. if the PC has IP address192.168.1.14use below command.FW_STORE_URL_DEV="http://192.168.1.14:1234" dts-boot -
Normal
DTSmenu entry will be displayed but any request to the server with binaries will be done tohttp://192.168.1.14:1234instead ofhttps://3mdeb.com/open-source-firmware/Dasharo.