Skip to content

Fix the Ci to always dump simulation artifacts#3372

Closed
pulsar2105 wants to merge 2 commits into
openhwgroup:masterfrom
pulsar2105:uga_wincent_260630
Closed

Fix the Ci to always dump simulation artifacts#3372
pulsar2105 wants to merge 2 commits into
openhwgroup:masterfrom
pulsar2105:uga_wincent_260630

Conversation

@pulsar2105

Copy link
Copy Markdown
Contributor

Add yaml rules to dump CI artifacts in case of failure

The current CI does not dump artifacts when a job fails
so it can be very hard to identify, reproduce and fix a bug that occurs
during CI execution. With this patch, we force dumping
simulation outputs when a CI error occurs.

pulsar2105 and others added 2 commits July 1, 2026 11:00
This commit adds yaml rules to always dump simulation artifacts after
a CI execution. The current CI does not dump artifacts when a job fails
so it can be very hard to identify, reproduce and fix a bug that occurs
in the CI execution. So this commit forces the CI to always dump
simulation outputs even if a job fails or encounters an error.
@MikeOpenHWGroup

Copy link
Copy Markdown
Member

Hi @pulsar2105, thanks for your contribution. I am not convinced that this update is a good idea. The whole purpose of a CI regression is to create a simple (but not too simple), fast regression to provide a "thumbs up" or "thumbs down" gate for accepting pull-requests.

Typically, if one of my pull-requests fails a CI test, I will re-run it locally with waves and increased verbosity.

@pulsar2105

Copy link
Copy Markdown
Contributor Author

Hi, @MikeOpenHWGroup in this case I don't understand at all why the CVA6 CI dump artifacts when tests success.
Currently, if the CI success to run all tests its dump artifacts, but this gives no additional information because its success.

I'm currently working on a 128 bits version of the CVA6 at TIMA lab and I encounter some bugs about environment setup that only occurs in the CI environment and are very hard to reproduce, so I am very interested to recover artifacts when CI crash to understand why it crashes. I added this feature in my fork and actively use it and thought it has a good idea to share it in the main project.

@cainria

cainria commented Jul 1, 2026

Copy link
Copy Markdown
Member

I agree with @pulsar2105, artifacts are most useful when jobs fail, and the environment is sometimes hard to reproduce accurately.
Contributors often have mismatches between local and CI setup, and artifacts can help debugging the local setup. This is also true for regular contributors (I think there are such issues in the master_candidate merge PR).

I don't know how big artifacts are but if we can afford their upload when the thumb is up, so we should when the thumb is down.

Comment thread .github/workflows/ci.yml
- name: Run Tests
run: |
set -x
mkdir -p "verif/sim/out_$(date +%F)"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this folder created during the bash script? Do we need to add this line?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I figured that since we're forcing the dumping of artifacts, it would be safer if the CI could dump something even if the directory is empty. But if you think it useless I'm good to go delete it.

Comment thread .github/workflows/ci.yml
DV_SIMULATORS=${{matrix.simulator}},spike DV_TARGET=${{matrix.config}} bash verif/regress/${{matrix.testcase}}.sh

- name: Upload Lint Report to Github
if: always()

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mentioned that you are using this in your own fork so I will not double-check that this is the correct way to proceed ;)

@MikeOpenHWGroup

Copy link
Copy Markdown
Member

if we can afford their upload when the thumb is up, so we should when the thumb is down.

As I say, this is not my decision. I would not dumb anything on a CI,beyond pass/fail. But that's me.

@JeanRochCoulon

Copy link
Copy Markdown
Contributor

For information, the plan is to superseed this CI by a new CI during Summer. I propose to close this PR, and maybe have a talk in the coming months about the support this feature on the new CI.

@pulsar2105

Copy link
Copy Markdown
Contributor Author

Thank you @JeanRochCoulon for clarifying that. I think indeed that if nobody have seen this problem of artifacts dumping since May 2024 that is a sign that the role of the CI need to be rethought. I would be happy to help in this direction in the future and even provide a Dockerfile to run the CVA6 when the time will be right.

@pulsar2105 pulsar2105 closed this Jul 2, 2026
@cainria cainria mentioned this pull request Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants