220 Commits

Author SHA1 Message Date
David Anderson
eb35906ff0 netboot: update vendored dependency versions. 2017-06-01 20:09:08 -07:00
David Anderson
e9e2bb6f2d dhcp4: avoid reusing bs between the writing and reading tests.
Although it looks like the sequencing of writing bs to the socket
and reusing the slice for the read test is guaranteed by there being
a receive from the socket in between, the race detector disagrees, and
found a race.
2017-06-01 20:07:28 -07:00
David Anderson
565eb761d1 Use a NAME= env as a proxy for naming the deploy tasks. 2017-05-21 00:01:51 -07:00
David Anderson
3d9311210e Try out setting per-stage-task env vars. 2017-05-21 00:00:20 -07:00
David Anderson
e95eb0d321 Split out the Docker and Quay build triggers into their own step.
That way, those builds can trigger ASAP, instead of waiting for
the Debian packages to build.
2017-05-20 23:59:15 -07:00
David Anderson
2a09d6a021 Add a cleaner for the ARM debian packages, and remove the 386 build. 2017-05-20 23:53:59 -07:00
David Anderson
24e2772a3d Add the deploys back to the deploy stage task. 2017-05-20 23:47:35 -07:00
David Anderson
507b9e46f1 Add a deploy stage, go 1.8 only, that builds all architectures. 2017-05-20 23:39:18 -07:00
David Anderson
6bb7a1413d omg I've forgotten how to shell. 2017-05-20 23:31:53 -07:00
David Anderson
9d842b4b03 Okay, I think I finally get what's happening to me. Let's try this. 2017-05-20 23:29:06 -07:00
David Anderson
ec37c75374 Okay, MY_GOARCH mysteriously does make it into the environment.
So, let's try transfering now...
2017-05-20 23:23:29 -07:00
David Anderson
435d88f7e1 As I suspected, my env vars aren't making it into the env. WTF. 2017-05-20 23:21:52 -07:00
David Anderson
6bb05ccb2c So now, the environment matrix results in the right spread,
but afaict the environment variables are not actually being set...
2017-05-20 23:15:28 -07:00
David Anderson
5bf85b963a Okay, I think I see what madness it's doing now.
Stages and matrices are just 100% incompatible. Stick to doing the
matrix-y stuff in the first (default, implicit) stage, stay far
away from it for the other stages.
2017-05-20 23:11:12 -07:00
David Anderson
d08119a16b I'm seriously lost now. 2017-05-20 23:05:26 -07:00
David Anderson
d3d5bdecb5 Now I can't even get a simple case to behave logically at all. WTF. 2017-05-20 23:04:16 -07:00
David Anderson
e65704eb74 watwat 2017-05-20 23:02:13 -07:00
David Anderson
18043c2ca1 wat 2017-05-20 23:01:14 -07:00
David Anderson
52cc4b4513 Flail around some more.
I'm really confused on how anything works now. Trying a simple test
stage with a builtin matrix to see what travis even makes of that.
2017-05-20 22:59:18 -07:00
David Anderson
97ef1a3546 I can't tell whether tests are being run or not now. 2017-05-20 22:54:38 -07:00
David Anderson
6638e6b146 Fix the incorrect shell assertion. 2017-05-20 22:52:01 -07:00
David Anderson
abf3290c25 Give up on stages for a second, just try to get the matrix to work.
It looks like stages *combine* with the top-level stage, rather than
replacing it. So, the first stage will be "test", and will run the
top-level commands no matter what. Based on that, let's try to have
our old script as the top-level thing, but have it only run tests
when GOARCH=amd64. Other architectures will just build and vet/lint.
2017-05-20 22:48:12 -07:00
David Anderson
c94f7ca1c6 Looks like build stages demand a "test" stage, so put that first. 2017-05-20 22:43:03 -07:00
David Anderson
3be6a1a6d8 Test out build stages.
Build on i386/amd64/armv6, then test on amd64 only.
2017-05-20 22:40:04 -07:00
David Anderson
a4a67a4830 A random bug in travis's tracker says deployment providers don't support env.
So, global env it is.
2017-05-20 22:21:40 -07:00
David Anderson
1c193c039a Another attempt at deciphering travis's strange build config. 2017-05-20 22:17:58 -07:00
David Anderson
4cb37aa0c3 Move the packagecloud API token to the deploy stage.
In prep for switching to build stages.
2017-05-20 22:13:41 -07:00
David Anderson
330b5d073b x/net is actually known-broken at tip right now.
There's a lot of stdlib surgery in flight to make x/net capable of
doing its thing without having to use reflection to grab a file
descriptor. Until that work is done, anything using control messages
in x/net cannot work properly.
2017-05-20 19:35:02 -07:00
David Anderson
96da7e97b5 Update glide.lock with new dependencies, in the hope it'll fix
the tip build.
2017-05-20 18:43:51 -07:00
David Anderson
0899050f75 Readd tip, let's see if x/net has been fixed yet. 2017-05-20 18:21:28 -07:00
pancho horrillo
792915a85f pixiecore: Drop spurious right paren in text. 2017-05-20 17:25:07 -07:00
ebraminio
9253ccdf97 Minor, fixing a link on README markdown 2017-03-22 11:16:51 -07:00
David Anderson
63c4bab4d1 Add a debug log entry in DHCP before fetching the bootspec.
Adding this line lets us time the bootspec retrieval by comparing
the timestamps of "Got valid request..." and "Offering to boot..."
2017-03-01 20:57:47 -08:00
David Anderson
4ffbe802e0 Log timing of /_/ipxe for #32. 2017-03-01 14:36:07 -08:00
David Anderson
4e411248b1 Improve the comment explaining why handleBooting returns an iPXE script. 2017-02-24 15:30:38 -08:00
Phenix Rizen
a9d71481f7 handleBooting should return a no-op script, not an error.
Responding with an error makes iPXE print a misleading error message (misleading because it doesn't break the boot in any way, it just makes humans uncomfortable).
2017-02-24 15:22:11 -08:00
David Anderson
80ce588fdd Update Glide dependencies. 2017-02-22 16:08:31 -08:00
David Anderson
33769d2ec3 Update the vendored iPXE to the latest code. 2017-02-22 15:13:53 -08:00
David Anderson
735c025438 Add a section on demos and users of Pixiecore. #22 2017-02-22 15:00:38 -08:00
David Anderson
34da4bdc44 Add a "quick" command for fast booting of various installers.
The quick commands are just aliases for the `boot` command with
various pre-cooked kernel/initrds/cmdline combinations. Currently
supported are Debian, Ubuntu, Fedora and Centos. There's also code
for Arch, but it's currently disabled as I'm failing to get the
HTTP rootfs to work.
2017-02-22 04:21:07 -08:00
David Anderson
0d99a2ad1f Update README.api.md with the revised cmdline format.
Everything old is new again, we're back to a simple string for the
commandline, but this time with template goodness for URL expansion.
2017-02-22 01:05:34 -08:00
David Anderson
7642226388 Switch the deploy scripts to 1.8. 2017-02-20 18:16:08 -08:00
David Anderson
41d69f408f Don't build on tip for now.
x/net has been broken by recent changes to the stdlib internals.
Keep this build disabled until it's fixed.
2017-02-20 18:15:28 -08:00
David Anderson
84b8a99631 Switch the Travis build to Go 1.7 + 1.8.
All external triggers happen only for the 1.8 build now.
2017-02-20 17:44:43 -08:00
David Anderson
a762c94d61 Only try to parse the MAC address if the file has a known type.
Parsing unconditionally logs errors when serving non-kernel/initrd
files.
2017-02-20 17:43:59 -08:00
David Anderson
3df58430a4 Add a sample systemd service file for pixiecore.
The service file is added as documentation, rather than in the system
services directory, because it will almost certainly require customization
before it can be used.

So why bother including one at all? Because I've gone through the trouble of
figuring out the various systemd-exec security flags to lock down pixiecore
as much as possible with chroots, capabilties, syscall filters, etc. Having
that as a baseline will encourage people to run Pixiecore with maximum constraints,
even if they have to write their own ExecStart for it.
2017-01-31 17:53:45 -08:00
David Anderson
01a86583a5 Fix the debian package to actually package the binary.
Until now I was focused on getting the machinery in place, and
didn't notice I was packaging the source code directory, instead
of the binary. Oops.
2017-01-31 17:31:07 -08:00
David Anderson
6cd2249ed8 Trigger docker hub builds from Travis, instead of github.
This will make hub only build code that passes tests.
2017-01-31 17:26:10 -08:00
David Anderson
63de80a73e Appease Go 1.6's excessively paranoid vet command. 2017-01-31 16:56:40 -08:00
David Anderson
4f1ccf2f95 Make the secure vars global, so that Travis doesn't matrixify them. 2017-01-31 16:51:30 -08:00