Skip to content

tests_hw: GHA introduce Raspberry PI runner#202

Merged
kr-t merged 5 commits into
project-ocre:mainfrom
mgeeIOL:test-initial-basic-rp5-tests
May 8, 2026
Merged

tests_hw: GHA introduce Raspberry PI runner#202
kr-t merged 5 commits into
project-ocre:mainfrom
mgeeIOL:test-initial-basic-rp5-tests

Conversation

@mgeeIOL
Copy link
Copy Markdown
Collaborator

@mgeeIOL mgeeIOL commented Mar 27, 2026

Add additional tests utilizing the new Raspberry PI 5 Github actions agent.

Goal of this PR is to get to a similar point as with the current linux build tests. (with mini, demo, and systests)

Adds additional tests utilizing the Raspberry PI 5 runner. Currently
tests run are mostly a copy of current Linux and native_sim tests but
these will be expanded upon in future commits.

Signed-off-by: Matthew Gee <mgee@iol.unh.edu>
@mgeeIOL mgeeIOL force-pushed the test-initial-basic-rp5-tests branch from 85ea9a4 to 8b04724 Compare March 27, 2026 20:40
@casaroli
Copy link
Copy Markdown
Collaborator

bear with us. we are going to add the arm64 container image in 2 weeks, so you can use that image in rpi.

for now, if you like you can just build the image manually and use it in the runner.

@casaroli
Copy link
Copy Markdown
Collaborator

I am not sure if it is worth to test (Zephyr) native_sim on arm64.

I would instead just run mini, demo, systests natively on rpi like we do in Linux.

@mgeeIOL
Copy link
Copy Markdown
Collaborator Author

mgeeIOL commented Mar 31, 2026

I am not sure if it is worth to test (Zephyr) native_sim on arm64.

I would instead just run mini, demo, systests natively on rpi like we do in Linux.

Makes sense, I will remove the zephyr tests for now

@mgeeIOL
Copy link
Copy Markdown
Collaborator Author

mgeeIOL commented Mar 31, 2026

bear with us. we are going to add the arm64 container image in 2 weeks, so you can use that image in rpi.

for now, if you like you can just build the image manually and use it in the runner.

bear with us. we are going to add the arm64 container image in 2 weeks, so you can use that image in rpi.

for now, if you like you can just build the image manually and use it in the runner.

I can wait on this if needed, for clarification are you referring to the devcontainer images or adding ARM64 to the ocre runtime support? My previous understanding was there was no intention to add ARM64 to the supported build targets.

I am running the current builds outside of a devcontainer to keep the entire process localized to arm to replicate individual runs, I plan on introducing the devcontainer later if that is your concern.

@mgeeIOL mgeeIOL force-pushed the test-initial-basic-rp5-tests branch 2 times, most recently from 6bb6d86 to 59c5050 Compare April 2, 2026 16:36
Removes zephyr native_sim tests as they are redundent in the overall CI
pipeline. At this point the Raspberry Pi test file is redundant so
removed references to it and added the runner to the linux tests file.

Also seperated the test-coverage job from the rest of the Linux tests to
prevent this step from being run more than once.

Signed-off-by: Matthew Gee <mgee@iol.unh.edu>
@mgeeIOL mgeeIOL force-pushed the test-initial-basic-rp5-tests branch from 59c5050 to 237ea39 Compare April 2, 2026 20:55
@kr-t
Copy link
Copy Markdown
Collaborator

kr-t commented Apr 10, 2026

I think based on earlier discussions, since the RPI Matt has is only 1GB version, running docker containers there might not be the best case.
But also maybe modifying the containerized workflow we have right now.

Would it maybe more sense to just create an additional workflow as part of our hardware tests and run it as a last step, similarly to how we run U585 tests right now?

This way we won't be needing to modify current containerized workflow, and Matt can customize the new one to run natively on the RPI, as he wanted.

What do you think @mgeeIOL @casaroli ?

@mgeeIOL
Copy link
Copy Markdown
Collaborator Author

mgeeIOL commented Apr 10, 2026

There are pros and cons to separating the Raspberry Pi linux tests. The main reason I see to keep them together is to make it so changing linux tests only requires editing one file instead of two. If we need to add additional tests only on the raspberry pi in the future we can add additional workflows/files later in the overall workflow. Although I am not opposed to separating them now if we intend to run additional or modified tests on the raspberry pi.

I do not think running docker on the Raspberry Pi will be the biggest problem, from some brief testing the Raspberry Pi seemed to run Ubuntu containers fine.

I am not strongly opinionated either way, I had the files separate initially as that just seemed more logical given the linux tests do not necessarily require a container to run successfully but I am not opposed to using a container for ensured consistency between runs.

@kr-t
Copy link
Copy Markdown
Collaborator

kr-t commented Apr 17, 2026

We can maybe then try building arm based docker containers via GH runners (if they are available freely for open source projects like ocre) and then you'd just add RPI to the linux job, and pull the appropriate container, if it works as you claim.

@mgeeIOL mgeeIOL force-pushed the test-initial-basic-rp5-tests branch 2 times, most recently from 14dd219 to cec7e31 Compare May 1, 2026 18:44
@mgeeIOL
Copy link
Copy Markdown
Collaborator Author

mgeeIOL commented May 1, 2026

I was able to fix the raspberry pi runner issues and get tests to pass. I had to run the linux tests separately outside of a container as the dev containers currently do not include an ARM container.

The tests used are a copy of relevant linux tests, let me know if you want to add more tests to run on the raspberry pi.

@mgeeIOL mgeeIOL marked this pull request as ready for review May 1, 2026 19:16
@mgeeIOL mgeeIOL requested review from casaroli, kr-t and srberard as code owners May 1, 2026 19:16
@kr-t
Copy link
Copy Markdown
Collaborator

kr-t commented May 4, 2026

Hi Matt, on latest main we have added container for arm64: https://github.com/project-ocre/ocre-runtime/pkgs/container/ocre-runtime%2Fdevcontainer-linux

Maybe you want to check, whether using the rpi w the container could be a better idea. this way you'd just need to add a matrix for linux, add your runner and that shall automatically pull the correct container. Ideally in this case you'd need to maybe add to matrix additional arguments, for example running as a user for easier cleanup (same as we had before we started using gh images)

@mgeeIOL mgeeIOL force-pushed the test-initial-basic-rp5-tests branch 5 times, most recently from 378b782 to aa1f63c Compare May 5, 2026 18:05
@mgeeIOL
Copy link
Copy Markdown
Collaborator Author

mgeeIOL commented May 5, 2026

Updated to use the Arm container and the linux.yml file, let me know if anything else is needed

Comment thread .github/workflows/linux.yml Outdated

concurrency:
group: pr-workflows
cancel-in-progress: false
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I don't think we want this. The linux devices are stable, and I don't think we need additional safeguards as we have with the U5 tests. I suggest we remove this concurrency part.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Otherwise this looks good and I think we can merge it after.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Removed this section, let me know if anything else is needed

Re-introduced the raspberry pi runner into the linux tests after merging
the changes from main.

Signed-off-by: Matthew Gee <mgee@iol.unh.edu>
@mgeeIOL mgeeIOL force-pushed the test-initial-basic-rp5-tests branch from aa1f63c to 60e3774 Compare May 7, 2026 16:46
@kr-t kr-t merged commit 458c8bf into project-ocre:main May 8, 2026
32 checks passed
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