-
Notifications
You must be signed in to change notification settings - Fork 342
travis-ci: enable raspberry on qemu inside travis-ci #253
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
Conversation
mhennerich
left a comment
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.
LGTM
| - compiler: "gcc" | ||
| dist: xenial | ||
| env: | ||
| - ARCH=arm |
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.
if you change this to OS_TYPE=qemu_arm and define a handle_qemu_arm() function in ./CI/travis/before_install_linux and another one in ./CI/travis/make_linux
moving the code from ./CI/travis/setup_qemu_for_arm.sh to ./CI/travis/before_install_linux is a bit much; so handle_qemu_arm() could just call or include./CI/travis/setup_qemu_for_arm.sh`
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.
Thanks for review - I can try this later tonight.
| sudo chown ${USER} /tmp/qemu | ||
| cd ${QEMU_DIR} | ||
| wget https://download.qemu.org/qemu-3.1.0.tar.xz | ||
| tar xf qemu-3.1.0.tar.xz |
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.
curios: would the default QEMU work ?
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.
actually, there may be some good news here [no guarantees that it actually works though, but it would be worth taking a closer look] ;
you could use Travis-CI's integration with Debian Sid packages to get a new QEMU [3.1 or something]
QEMU in Sid seems to be 3.1 [now] : https://packages.debian.org/sid/qemu
What you typically would do, is:
addons:
apt:
sources:
- debian-sid
packages:
- qemu
I "think" Travis-CI keeps a list of whitelisted packages; they don't seem to just allow anything from Sid. I don't remember exactly.
I did do this [Debian-Sid usage] a while back on some other project, and it's a mix of experiences ; some worked great, but if you mix-in other stuff [or APT sources] then using debian-sid can confuse other parts of the build.
Still [if possible] I would try it, mostly to reduce the build logic here, but especially to try to reduce the build-time.
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.
curios: would the default QEMU work ?
No - it's too old, and gives errors during make package. it doesn't support some ioctls which cmake uses.
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.
Still [if possible] I would try it, mostly to reduce the build logic here, but especially to try to reduce the build-time.
building qemu doesn't take the time (thats 2-3 min our of 20) - it's downloading the entire dist for ARM that takes the time...
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.
QEMU in Sid seems to be 3.1 [now] : https://packages.debian.org/sid/qemu
We actually need qemu-user-static to run in the chroot; so it would be https://packages.debian.org/sid/qemu-user-static (which is still there).
|
I thought I answered all the questions — can this get merged? We did a release without ... |
Yes this can get merged - in fact I don't know why this hasn't been already. I approved this PR 4 months ago. Please follow up if things don't move... |
|
Since this PR was only CI related and didn't change any library source files. I moved to the v0.18 release tag to include this. A new build is currently triggered. |
This adds a two more distributions to the build matrix : raspbian jessie and raspbian stretch.
This should also provide a basic framework for those non-native travis-ci architectures in the future that we may want to support.
Signed-off-by: Robin Getz [email protected]