-
Notifications
You must be signed in to change notification settings - Fork 3.1k
tests/ci: use bhyve for arm64 host and guest by default #1815
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
base: main
Are you sure you want to change the base?
Conversation
I'm still reading and thinking. Just a quick response: I think we can drop i386 ( |
tests/ci/Makefile.aarch64
Outdated
QEMU_MAX_MEM_SIZE=64 | ||
|
||
portinstall-aarch64: portinstall-pkg .PHONY | ||
.if !exists(/usr/local/share/u-boot/u-boot-qemu-arm64/u-boot.bin) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe this part also needs to be guarded by USE_QEMU
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Applied the feedback in v2.
Moving bhyve bits into Makefile.{aarch64,amd64} seems introducing some code duplication, perhaps the difference part like |
The difference is quite large:
There is not too much code duplication here in the grand scheme of things, and it keeps things simpler by relying on less variable indirection. |
affba5b
to
01f28ec
Compare
Fixed merge conflict in v3. |
Currently, since META_DIROUT is created by mktemp(1), it is 0600 by default. This makes it slightly annoying to copy out test-report.* files from a CI run. Signed-off-by: Siva Mahadevan <[email protected]> Sponsored by: The FreeBSD Foundation
This sets up future work to allow multiple concurrent CI runs, each possibly with their own image file. Signed-off-by: Siva Mahadevan <[email protected]> Sponsored by: The FreeBSD Foundation
In an upcoming patch, arm64 hosts will default to using bhyve to run CI. However, emulators/qemu-user-static does not exist for arm64, and is not needed when the target is also arm64. This patch ensures that qemu-user-static will only be requested for install if QEMUSTATIC is set. Signed-off-by: Siva Mahadevan <[email protected]> Sponsored by: The FreeBSD Foundation
This patch removes the ci-set-*-var targets and conditionally runs ci-extract-meta only if CITYPE=full. The intended external interface into the tests/ci Makefile infrastructure already requires CITYPE to be set (either through its default CITYPE?=full line, or through the Make command line). Thus, the ci-set-*-var targets don't functionally do anything. Signed-off-by: Siva Mahadevan <[email protected]> Sponsored by: The FreeBSD Foundation
Bhyve is only supported on amd64/amd64, amd64/i386, and arm64/arm64. Furthermore, amd64 and arm64 have different command-line arguments and requirements for running bhyve. This patch separates the bhyve version of ci-runtest into architecture-specific Makefiles. Signed-off-by: Siva Mahadevan <[email protected]> Sponsored by: The FreeBSD Foundation
Signed-off-by: Siva Mahadevan <[email protected]> Sponsored by: The FreeBSD Foundation
01f28ec
to
844cb87
Compare
See full commit stack for incremental details and explanations.