| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
We no longer serialise entire artifacts, so the output of deserialise_artifact
is an ArtifactReference. This commit changes stuff in distbuild to know how to
deal with that rather than an Artifact.
|
|
|
|
|
|
|
|
| |
The controller no longer needs to know everything about an artifact
as the workers can calculate the build graph themselves quickly.
This reduces the amound of data which needs to be serialised by
serialise-artifact, making the yaml dump quicker.
|
| |
|
|
|
|
|
| |
This means this branch of Morph should work on systems that are too old
to have pylru installed in /usr.
|
|
|
|
| |
Change-Id: I46ad9c15064de752e839611d2ce3ee016ec7cc46
|
|
|
|
|
|
|
|
| |
Some lines were more than 79 characters long. This was causing
./check --full to fail on master of morph. This commit fixes the
lines in question.
Change-Id: I80969d2d89d3922e021b716c250796188d7a7f4c
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Ibda7a938cd16e35517a531140f39ef4664d85c72
|
|\ \
| |/
|/|
| |
| | |
Reviewed-By: Richard Maw <richard.maw@codethink.co.uk>
Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk>
|
| |
| |
| |
| |
| | |
Rename instead removal in case the user is already using a
10-dhcp.network file
|
| | |
|
| |
| |
| |
| |
| |
| | |
Use DHCP by defaul in the default interfaces:
- for /etc/networ/interfaces: "lo:loopback;eth0:dhcp,hostname=$(hostname)"
- for networkd: "e*:dhcp"
|
| | |
|
| |
| |
| |
| | |
255.255.255.0 -> 24
|
| | |
|
| |
| |
| |
| | |
a function
|
| |
| |
| |
| | |
Change-Id: I992dc0c1d40f563ade56a833162d409b02be90a0
|
|\ \
| |/
|/| |
|
| |
| |
| |
| | |
Change-Id: I992dc0c1d40f563ade56a833162d409b02be90a0
|
| |
| |
| |
| | |
I was meant to do this at merge time but didn't.
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Change-Id: I771c3de9cecda7a503f4d36ae5d9fabc040892e4
|
|\ \ \
| |/ / |
|
| |/
| |
| |
| | |
Change-Id: I7c6f618d5d19e03d906798a6f799d74ac55b0d09
|
|\ \
| |/
|/|
| |
| |
| |
| | |
Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk>
Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
Reviewed-By: Richard Maw <richard.maw@codethink.co.uk>
Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk>
|
| |
| |
| |
| |
| |
| |
| | |
If we know the build system for a chunk is cached then we also know that
it doesn't have a chunk morph, so we don't need to look for one.
(We only cache the build systems of chunks that don't have chunk morphs)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes a bug that causes morph to run build system detection
even though the build system has already been cached.
The cache is accessed before the key has been computed
(absref isn't known until after we've called resolve_ref)
so it always misses.
|
|\ \
| | |
| | |
| | |
| | | |
Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
Reviewed-By: Javier Jardón <javier.jardon@codethink.co.uk>
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | | |
Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk>
Reviewed-By: Francisco Redondo Marchena <francisco.marchena@codethink.co.uk>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This test fails with latest Busybox. Since we plan on removing
workspaces anyway, I don't see a reason to fix it. The `morph foreach`
command does actually still work as expected.
Morph's ./check test suite now passes again in a 'build' reference
system built from commit 88eface4c72dab689bc409c77e209833a0acd038 or
newer.
|
|\ \
| |/
|/|
| |
| | |
Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
Reviewed-By: Richard Maw <richard.maw@codethink.co.uk>
|
| |
| |
| |
| |
| | |
This makes it easier to spot if an incomplete build was due to the user
cancelling, or if it represents a dropped connection or internal error.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This message was hundreds of kilobytes in size, as it contained a
recursive list of dependencies for each artifact in the build graph. It
was used in the initiator only to print this message:
Build steps in total: 592
This message is now gone. The 'Need to build %d artifacts'
build-progress message now indicates the total build steps instead:
Need to build 300 artifacts, of 592 total
This is a compatible change to the distbuild protocol: old initiators
will continue to work as normal with new controllers that don't send
the build-steps message.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It gets messy having hundreds of build-step-xx.log files in the current
directory, and if two builds are run in parallel from the same directory
the logs for a given chunk will be mixed together in one file.
Now, a new directory named build-0, build-1, build-2 etc is created for
each new build.
If the user passes --initiator-step-output-dir the logs will be placed
in that directory, instead. This behaviour is the same as before.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Users build sources, not artifacts. So the log files should be called
build-step-systemd.log and not build-step-systemd-misc.log.
Note strata are a kind of special case so you will still see
build-step-foundation-runtime.log, build-step-foundation-devel.log etc.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For a while we have seen an issue where output from build A would end up
in the log file of some other random chunk.
The problem turns out to be that the WorkerConnection class in the
controller-daemon assumes cancellation is instantaneous. If a build was
cancelled, the WorkerConnection would send a cancel message for the job
it was running, and then start a new job. However, the worker-daemon
process would have a backlog of exec-output messages and a delayed
exec-response message from the old job. The controller would receive
these and would assume that they were for the new job, without checking
the job ID in the messages. Thus they would be sent to the wrong log
file.
To fix this, the WorkerConnection class now tracks jobs by job ID, and
the code should be generally more robust when unexpected messages are
received.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Reviewed-By: Paul Sherwood <paul.sherwood@codethink.co.uk>
Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk>
Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk>
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Only fail if:
- VERSION file exists
- and its a yaml file
- and its a dict
- and has the key 'version'
- and the contents of the key 'version' is an int
- and that int is in the list of non_supported_versions (empty
at the moment)
|
| | |
| | |
| | |
| | | |
_get_morphology_from_definitions() and _get_morphology_from_repo()
|
| | |
| | |
| | |
| | | |
load_from_string()
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
And make _get_morphology() use it
|
| | |
| | |
| | |
| | | |
And make _get_morphology_from_definitions() use it
|
| | |
| | |
| | |
| | | |
And make _get_morphology_from_repo() use it
|