Skip to content

DTS nightly build should use dts-configs from develop branch #1790

@DaniilKl

Description

@DaniilKl

Component

Dasharo Tools Suite

Device

other

Dasharo version

-

Dasharo Tools Suite version

v2.7.6

Test case ID

-

Brief summary

DTS nightly builds are built every week from develop branch of the meta-dts repository. The purpose of the nightly builds - to allow users to test and use the not released changes in DTS. The changes in DTS that are not yet released can have a dependency on the changes from develop branch of the dts-configs repository, because the develop branch of this repository contains the changes that are not production-ready too. So the nightly builds must use metadata from the dts-configs from the develop branch out of the box.

How reproducible

100%

How to reproduce

  1. Boot DTS using nightly.ipxe.
  2. Enter shell by pressing s.
  3. Execute command source /usr/sbin/dts-environment.sh; echo $DTS_CONFIG_REF.
  4. Observe output refs/heads/main.
  5. Boot DTS using dts.ipxe.
  6. Enter shell by pressing s.
  7. Execute command source /usr/sbin/dts-environment.sh; echo $DTS_CONFIG_REF.
  8. Observe output refs/heads/main.

Expected behavior

  1. Boot DTS using nightly.ipxe.
  2. Enter shell by pressing s.
  3. Execute command source /usr/sbin/dts-environment.sh; echo $DTS_CONFIG_REF.
  4. Observe output refs/heads/develop.
  5. Boot DTS using dts.ipxe.
  6. Enter shell by pressing s.
  7. Execute command source /usr/sbin/dts-environment.sh; echo $DTS_CONFIG_REF.
  8. Observe output refs/heads/main.

Actual behavior

Describe above in How to reproduce.

Screenshots

No response

Additional context

Originally reported here: #1041 (comment) :

The problem with nightly builds is that that it still uses main branch of https://github.com/Dasharo/dts-configs by default, while develop branch of meta-dts (nightly) is tested on develop branch of dts-configs.
It can be worked around manually, by entering shell in DTS, exporting DTS_CONFIG_REF variable: export DTS_CONFIG_REF=refs/heads/develop and then running DTS UI again: dts-boot.
But we might want to change this behaviour to be default one for nightly builds, especially if we want to add it to iPXE menu.

Ideas for the implementation:

The first thing that came to my mind was replasing the DTS_CONFIG_REF value via the dts-scripts_git.bb (e.g., by using sed). But I am not sure whether it is the optimal solution.

Do it in Makefile if some variable is set (then set it in EXTRA_OEMAKE in recipe). Or you could maybe just add this export to /etc/profile so it is set by default.

I agree with the propositions. Then we need to trigger it during Yocto build somehow. We can either do it by passing some variable to kas either by export The_VARIABLE ...; kas-container or modifying some kas/*.yml file using, for example, sed in CI. Or we can add a separate YAML file (for example kas-develop.yml) that will be used for building from develop branch.

The key idea here is to make sure the nightly DTS builds use develop branch of the dts-cofnigs out of the box.

Solutions you've tried

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions