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

Implement basic CI flow #14

Merged
merged 2 commits into from
Jul 25, 2024
Merged

Implement basic CI flow #14

merged 2 commits into from
Jul 25, 2024

Conversation

sermazz
Copy link

@sermazz sermazz commented Jul 25, 2024

This PR implements a basic CI flow divided (for now) in 2 workflows (.github/workflows):

  • a workflow for public actions, taking care of linting for license headers, SystemVerilog codestyle, and C codestyle
  • a workflow triggering runners on our internal GitLab, for regression tests using proprietary tools

The jobs executed by our internal runners are described in .gitlab-ci.yml.
For now, the hardware is built using QuestaSim and a basic test is executed.

CI failure is currently expected both for linting and regression test.
Next steps:

  • extend with more advanced test strategy
  • fix license headers and codestyle
  • buildroot module, cloned by the cva6-sdk (in turn, used by the Cheshire dependency), sometimes cannot be cloned and causes the CI to randomly fail; I believe we can remove the dependency to the cva6-sdk from our custom branch of Cheshire

@sermazz sermazz requested review from Scheremo and adimauro-iis July 25, 2024 13:03
Copy link
Collaborator

@Scheremo Scheremo left a comment

Choose a reason for hiding this comment

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

No comments from my end, LGTM!

@sermazz sermazz merged commit cd8fee5 into devel Jul 25, 2024
2 of 9 checks passed
Copy link
Member

@micprog micprog left a comment

Choose a reason for hiding this comment

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

Looks ok to me, some minor comments. Overall I think it would be important to ensure the CI is passing, though. If the baseline is that the CI is failing, then no updates will have to ensure the CI passes, rendering it useless and an easy way for bugs to get integrated.

.github/verible.waiver Show resolved Hide resolved
.github/workflows/gitlab-ci.yml Show resolved Hide resolved
.github/workflows/lint.yml Show resolved Hide resolved
.github/workflows/lint.yml Show resolved Hide resolved
.gitlab-ci.yml Show resolved Hide resolved
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.

3 participants