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 new CI on Github Actions #399

Merged
merged 10 commits into from
Jan 6, 2024
Merged

Implement new CI on Github Actions #399

merged 10 commits into from
Jan 6, 2024

Conversation

grg-haas
Copy link
Collaborator

This PR creates a new efficient CI system for the Buildroot-based build system introduced a while ago. It includes full build tests for each supported platform (currently generic and unmatched, with cva6 and mpfs landing soon) as well as full-stack runtime tests for the 32 and 64-bit generic platforms. CI times are kept low by heavily relying on Github Actions caching, where we save the latest compiler cache and Buildroot package cache at the end of each run. On average, the generic platforms build in 10 minutes while the unmatched platform builds in 13 (with a hot cache). With a cold cache, the builds take about an hour but will then refresh the caches so that future ones take much less time.

@grg-haas grg-haas requested review from dayeol and evgenyp67 December 21, 2023 21:59
@grg-haas
Copy link
Collaborator Author

@evgenyp67 I've added you as a reviewer since some of my changes involve the new loader component. Please let me know if you see any issues, but with these changes the 32-bit configurations should also be fully supported now.

@grg-haas grg-haas force-pushed the bugfix/buildroot-ci branch 2 times, most recently from ac68649 to fb658d9 Compare December 29, 2023 08:31
@grg-haas grg-haas force-pushed the bugfix/buildroot-ci branch from fb658d9 to 0ac7807 Compare December 29, 2023 17:36
Copy link
Contributor

@evgenyp67 evgenyp67 left a comment

Choose a reason for hiding this comment

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

The changes look great, very happy that we will soon have CI back on!

The only issue I saw is in test-system.yml I noticed that tests.ke is ran but attestor.ke is not. The latter tests that the attestation report is equal to the expected one, while tests.ke only checks that the report is successfully generated. I believe we should do both.

@grg-haas
Copy link
Collaborator Author

Thanks @evgenyp67 ! I've added the attestation test as well. @dayeol , any thoughts?

@grg-haas grg-haas requested a review from evgenyp67 December 29, 2023 21:37
@grg-haas grg-haas merged commit ae7b689 into master Jan 6, 2024
10 of 11 checks passed
asyarifstudio pushed a commit to ThalesGroup/keystone that referenced this pull request Jan 8, 2024
This PR creates a new efficient CI system for the Buildroot-based build
system introduced a while ago. It includes full build tests for each
supported platform (currently `generic` and `unmatched`, with `cva6` and
`mpfs` landing soon) as well as full-stack runtime tests for the 32 and
64-bit generic platforms. CI times are kept low by heavily relying on
Github Actions caching, where we save the latest compiler cache and
Buildroot package cache at the end of each run. On average, the
`generic` platforms build in 10 minutes while the `unmatched` platform
builds in 13 (with a hot cache). With a cold cache, the builds take
about an hour but will then refresh the caches so that future ones take
much less time.
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.

2 participants