[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] build workflow

On Monday, 28.11.2016 at 15:14, Hannes Mehnert wrote:
> On 25/11/2016 18:26, Hannes Mehnert wrote:
> > It does not yet work completely (clean seems to be broken), but please
> > provide feedback on https://github.com/mirage/functoria/pull/84 and
> > https://github.com/mirage/mirage/pull/703
> Update: works now!  Travis job which compiles mirage-skeleton on all
> four tested backends:
> https://travis-ci.org/hannesm/mirage-dev/builds/179095513
> IMHO ready for merge,

This is now merged, as of last night. There are a few followup PRs in
process, of general interest is https://github.com/mirage/functoria/pull/85
which makes the arguments to "mirage configure" persistent.

This results in a workflow like this:

1. Configure the unikernel: mirage configure -t TARGET ...
2. Install dependencies if required: make depend
3. Build the unikernel: mirage build (or, for now, also "make")

It'd be good to have some discussion of the new workflow from a developer
experience perspective on the list and/or at today's IRC catchup, so that
we can iron out any changes/omissions and document the "New order" for the
upcoming beta.

I'd also like to propose/discuss the following followup changes:

1. Now that we have more targets for Mirage 3.0, we should no longer have
any default at all and instead error out if no target is specified. I.e.
"unix" will no longer be the default.

2. The "mirage describe" subcommand should pick up keys persisted as a
result of a previous run of "configure". Also, it might be a good idea to
have consistent behaviour with "build" here and error out if "configure"
has not been run first. I've filed mirage/mirage#713 for this.

3. Should there be a subcommand ("depend") that does the equivalent of
"make depend" in the new order?

Thanks to Hannes for the work on the "New order" workflow changes and
everyone else for their help with testing and review!


MirageOS-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.