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

Change CI to only run relevant checks #2536

Open
Syndace opened this issue Oct 31, 2024 · 2 comments
Open

Change CI to only run relevant checks #2536

Syndace opened this issue Oct 31, 2024 · 2 comments

Comments

@Syndace
Copy link
Contributor

Syndace commented Oct 31, 2024

Description

In this pull request, a single line in the README was changed. This triggered all toolflows to run, for a combined SEVEN+ HOURS of computation time. This not only wastes time, but incredible amounts of resources. A few small checks to only build affected designs would save a lot here.

Suggested Solution

No response

Additional Context

No response

@maliberty
Copy link
Member

Thoughts on what those checks should be?

@Syndace
Copy link
Contributor Author

Syndace commented Oct 31, 2024

Here is what I would do with GitHub Actions. I am not familiar with Jenkins but I am sure the same general idea can be applied to Jenkins as well.

1. Categorize repo contents

Roughly sort the contents of the repository into three categories, depending on which designs should be built when the files are modified:

Changes that affect all designs:

  • flow/
  • tools/

Changes that affect only one PDK's designs:

  • flow/platforms/<pdk>
  • flow/designs/<pdk>

Changes that don't affect any of the designs:

  • README.md
  • ... everything else

2. Use path filters to only build affected designs

With GitHub Actions, it is possible to specify path filters for actions, such that an action is only executed when a file in one of the specified paths was changed. I would create one step for each PDK and use path filters to only run the step if necessary based on above categorization. That way, #2512 would still build all designs, #2535 would only build ihp-sg13g2 designs, and #2509 wouldn't build any design.

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

No branches or pull requests

2 participants