Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework meta-dts CI workflow #1234

Open
m-iwanicki opened this issue Feb 6, 2025 · 0 comments
Open

Rework meta-dts CI workflow #1234

m-iwanicki opened this issue Feb 6, 2025 · 0 comments
Labels
DasharoToolsSuite enhancement New feature or request

Comments

@m-iwanicki
Copy link

m-iwanicki commented Feb 6, 2025

The problem you're addressing (if any)

Currently each workflow and job run in the same directory.
To make sure that workflows didn't interfere with each other we had to use

concurrency:
  group: run-only-one-workflow

That way only one workflow will run. Before that there were situations in which we started 2 workflows at different times and:

  • workflow A finishes e.g. build and testing jobs
  • workflow B build job finishes
  • workflow A finishes cleanup job which removes everything workflow B also used

Unfortunately current solution doesn't allow for cancel-in-progress, that is each commit added to e.g. PR will queue new Test workflow instead of cancelling previous one.

There is also problem with how DPP_PASSWORD is generated which is used in test.yml: Dasharo/meta-dts#237 (comment).

Describe the solution you'd like

  • Each individual workflow run should create it's own workdir and only operate in it.
  • Currently test.yml starts osfv QEMU. Only one instance can run so we would need to group run-tests job so only one can run across multiple test workflow runs. Not sure if it's needed, depending on runner configuration it's possible that only 1 job can run at a time.
  • Group and cancel test workflows based on e.g. PR id
  • DPP_PASSWORD - generate dpp_password the same way we are doing it currently. No need to treat DPP_PASSWORD differently from e.g. DPP_DOWNLOAD_KEY

Where is the value to a user, and who might that user be?

DTS developers:

  • no need to manually cancel workflows in progress.
  • no need to ask @PLangowski to generate passwords for new platform or trying to do it from scratch ourselves.

Describe alternatives you've considered

We could also run workflows in containers. Less chance of workflow not working because of e.g. misconfiguration but adds another complexity e.g. sharing artifacts between jobs, as each job runs in new container (could be done via shared cache volume)

Additional context

No response

@m-iwanicki m-iwanicki added DasharoToolsSuite enhancement New feature or request labels Feb 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DasharoToolsSuite enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant