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.
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.
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.
This section contains the technical aspects of the DTS
release process. The
recipients of this information should be those authorised to issue DTS
releases.
Below are information on how to publish production
and develop
releases.
-
Production
releases deploy images to GitHub Release pages andboot.3mdeb.com
/boot.dasharo.com
pages to boot via iPXE. -
Develop
releases deploy images to GitHub Release pages, so not all users will be able to use them via iPXE.
Please follow the steps below to release a new production DTS
image.
-
Make sure that everything that should go into the given release is merged to
main
. -
Bump the version in
meta-dts-distro/conf/distro/dts-distro.conf
file.Note: In cases where MINOR or MAJOR part of version is updated, please inform one of the maintainers as there will be needed new keys to sign the binaries in next step of CI/CD pipeline.
-
Fill up the CHANGELOG.md file with latest changes.
-
Run update_components.sh script which will update revision of Dasharo related recipes (e.g. dasharo-ectool), create a tag and push it to the remote repository.
From here, rest of the jobs should be carried out by the GitHub and Gitea
Actions. Whole pipeline of creating DTS
release consists of two steps.
-
First is done on GitHub Actions. Here we update Dasharo components build the
DTS
image and push binaries toboot.dasharo.com
. -
Second is done on Gitea Actions. Here we push the ipxe menu to
boot.3mdeb.com
and sign theDTS
binaries. The last step of Gitea Actions creates new release at thehttps://github.com/Dasharo/meta-dts/releases
from where binaries can be downloaded.
Please follow the steps below to release a new develop DTS
image.
-
Make sure that everything that should go into the given release is merged to
develop
. -
Bump the version in
meta-dts-distro/conf/distro/dts-distro.conf
file by adding-rcX
suffix.Note: X should increase every time new develop release is created.
-
Create and push tag that match the newly bumped version.
From here, rest of the jobs should be carried out by the GitHub and Gitea
Actions. Whole pipeline of creating DTS
release consists of two steps.
-
First is done on GitHub Actions. Here we build the
DTS
image. -
Second is done on Gitea Actions. Here we sign the
DTS
binaries and push them to boot.dasharo.com under the directory named after rcX version. Also dts-rc.ipxe is created so the newest rc release is available over iPXE.
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.
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
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
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-updates
directory 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-updates
directory create the same folder structure as there is for your update files onhttps://3mdeb.com/open-source-firmware/Dasharo
. E.g. forv1.7.2
ofNovaCustom NS5X ADL
you need to create pathnovacustom_ns5x_adl/v1.7.2/
and inside put binaries, hashes and signatures from that release. -
Boot
DTS
and start shell by pressing9
. -
Start
dts
script withFW_STORE_URL_DEV
variable set to started server on the host PC. E.g. if the PC has IP address192.168.1.14
use below command.FW_STORE_URL_DEV="http://192.168.1.14:1234" dts
-
Normal
dts
menu entry will be displayed but any request to the server with binaries will be done tohttp://192.168.1.14:1234
instead ofhttps://3mdeb.com/open-source-firmware/Dasharo
.