-
Notifications
You must be signed in to change notification settings - Fork 284
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
Add FreeBSD Travis #505
Add FreeBSD Travis #505
Conversation
17162cc
to
0b979d9
Compare
I could give a little refactor to the bash script, I sometimes specify flags after arguments, which is not the correct order, but then I'm not sure which commit I would have to squash that change into, and it would probably conflict with other commits I have. I could make it as a separate commit, I guess. |
@nurupo : the FreeBSD port is lagging to release 0.1.8, 0.1.9 is not portable enough and would require too much patches. |
Reviewed 2 of 5 files at r1, 1 of 1 files at r4, 3 of 3 files at r5, 4 of 4 files at r6. Comments from Reviewable |
@thierry-FreeBSD do you patch 0.1.7 in order to make it work or does it work out of the box? Would be interesting to see the patches if you do patch it. |
@nurupo : no patches ATM. When I commit patches to the ports tree, they are viewable from |
@iphydf any day now |
Reviewed 2 of 5 files at r1, 3 of 3 files at r5, 3 of 4 files at r6, 2 of 2 files at r7. Comments from Reviewable |
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 besides the typo corrections.
other/travis/freebsd-install
Outdated
# is read from the screen's log file. Note that for some reason you can't send | ||
# long input lines on Travis (it works just fine when I do it on my machine...), | ||
# but that limitation is not an issue, as we don't really need to send long | ||
# lines of input anyway. Also, note that sice we run qemu in curses mode, the |
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.
s/sice/since
other/travis/freebsd-install
Outdated
# network, install and configure the ssh server, and update the system. After | ||
# this initial setup, ssh is used to communicate with the FreeBSD running in the | ||
# VM, which is a lot friendlier way of communication. Please note that Travis | ||
# doesn't seem to allow KVM passthreough, so qemu has to emulate all the |
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.
passthrough
other/travis/freebsd-install
Outdated
# doesn't seem to allow KVM passthreough, so qemu has to emulate all the | ||
# hardware, which makes it quite slow compared to the host machine. We cache | ||
# the qemu image since it takes a long time to run the initial system and | ||
# pacakge updates, and we do incremental system and package updates on every |
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.
package
other/travis/freebsd-install
Outdated
# Wait for the password prompt | ||
wait_for "Changing local password for root" | ||
|
||
# Reset password to empty for the paswordless ssh to 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.
passwordless
other/travis/freebsd-install
Outdated
done | ||
} | ||
|
||
# Starts VM and waits until its fully running (until a login prompt is shown) |
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.
it's
{ | ||
rm -f screenlog.0 | ||
|
||
# Start emulator. 2000mb RAM should be enough, right? The build machine has over 7gb. |
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.
This is great, and it's very good to know how much RAM we're using during the build. If this increases beyond the 2G in the VM, we may be doing something dodgy.
other/travis/freebsd-install
Outdated
wait_for "FreeBSD/amd64 (" | ||
} | ||
|
||
# Shutdowns VM and waits until its process finishes |
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.
"Shuts down" or "Shuts VM down"
other/travis/freebsd-install
Outdated
# string after the command is executed and then checking if it was printed. | ||
execute_shell_and_wait() | ||
{ | ||
# $RANDOM is a bash built-in, so we try to avoid name collosion here by using ugly RANDOM_STR name |
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.
collision
Instead of updating it in every Travis build.
Fixed typos. |
Reviewed 2 of 2 files at r7, 1 of 1 files at r8. Comments from Reviewable |
|
Just experimenting running FreeBSD in qemu and sshing into it.
This PR is not finished and is not ready for review yet.
This change is