| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
The arguments to `morph deploy` can get quite long, any way we can make it
shorter and clearer is useful. We can also avoid having the strange
--no-upgrade flag in future.
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we would use file: URIs to point to the git repositories.
This was fast and simple, but had the drawback that it bypassed all the
git cache logic, so changes to the git cache weren't adequately covered
by the test suite.
Now we spool up a simulated git server per scenario, and shut it down at
the end.
|
|
|
|
| |
We're using the wrong morph if we don't use run_morph
|
|
|
|
|
|
|
|
|
| |
The help for the show-branch-root command said it returns a path, but
the command and the yarns just showed the aliased url it was cloned
from.
Given I found myself needing the path in some scripts, not the repo url,
I think it's more useful to reconcile the difference this way.
|
|
|
|
|
|
|
|
|
| |
This is closer to our current workflow, where we are always petrified
and update the ref field when we need to update a component.
This required rearranging the operations to create the chunk repository
before the definitions repository, and remove a check that assumes we
weren't already petrified.
|
|
|
|
|
|
|
| |
We don't use this any more, and instead prefer to always keep
definitions.git petrified, and update the refs ourselves.
branch-from-image still uses some of the remaining petrify code.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
It is entirely possible that we could accidentally give chunks that use
morphologies from the definitions repository, the definitions repository
to build from, rather than the source repository.
|
| |
|
|
|
|
|
|
| |
We don't use this in definitions.git, and we're going to change its
semantics, so the test suite would break until we introduced the new
semantics, unless we remove its use of the old semantics first.
|
|
|
|
|
|
| |
This is required to ensure the right version of morph is used. I have
a .bashrc that causes `morph` to be "$HOME/morph/morph", so it fails to
find morph, because HOME is set to a directory inside DATADIR.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want to move our morphologies in our definitions repository into
subdirectories, so they're more organised.
We'd prefer to only refer to morphologies by file path, rather than a
name that loosely corresponds to the file path, but we need to support
that for backwards compatibility until we can move all of our
morphologies into the definitions repository.
However, since we want to eventually remove this, and we want to ensure
that file paths work, we change the yarn tests to use file paths.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`morph merge` only worked for a small subset of cases, and has been left
to bit-rot, since we don't use it.
`morph tag` is just a `git tag` when we have petrified definitions
repository. We don't use it, nor do we need it, so it can go away rather
than take up valuable development time fixing it when requirements
change.
`old-foo` have all been superceded by newer versions and are no-longer
used.
|
| |
|
|\
| |
| |
| | |
Reviewed-by: Sam Thursfield and Richard Ipsum
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
It should no longer be possible to set these fields. Either we create
the morphologies with them in a GIVEN, at which point we already know
it's there, so checking whether it is there is pointless; or we check
that morph doesn't create them, but the current implementation would not
allow it, since yarn doesn't have THEN NOT.
|
|
|
|
|
| |
Refs should be completely omitted, and this is now the standard
behaviour, so there's little value in testing the behaviour separately.
|
| |
|
| |
|
|
|
|
|
|
| |
This moves the GIVEN system $system uses $artifacts from $source to the
generic implements section, and the Python implementation into the
edit-morph helper script.
|
| |
|
|
|
|
|
|
|
| |
This includes tests for systems with the default splits and a system
that selects only one of the produced stratum artifacts to go into the
system artifact, since this is roughly the expected use-case for the
tiny system morphologies.
|
| |
|
|
|
|
|
|
|
| |
It's useful for the splitting tests that will be implemented later, for
there to be files that are representative of the files that would be on
a common root filesystem, so the match rules can be tested by the right
chunk artifacts containing the right files.
|
|
|
|
|
| |
morph build the system... doesn't need the repository to be specified,
just the branch; morph is able to work it out for itself.
|
| |
|
|
|
|
|
|
| |
It doesn't make sense to be able to specify an architecture from the
IMPLEMENTS name, since you either need your architecture for something
to build, or testarch for something that consistently doesn't build.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bootstrap chunks don't make it into the final system, so there needs to
be an extra check for empty systems after the sources have been collected.
This was complicated slightly by the fact that if you try to build a chunk
directly you will have no strata in your sources, hence no non-bootstrap
chunks, but validation for having been told to build a chunk is best
handled later.
This amends the old yarns that depended on building a bootstrap chunk
and adds a new one that explicitly builds a system with bootstrap
chunks.
|
|
|
|
|
|
|
|
|
|
| |
It doesn't currently make sense to build a system which contains no
strata. We may later add other fields, such as initramfs to contribute
to the system's artifact, but until then it's another bug to trip over.
This uses collections.Sequence for checking the type of the systems entry
in the morphology as a style choice, though it allows more flexibility
if the types in the parsed morphology change.
|
| |
|
|
|
|
| |
argument
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This will allow the user to append text to /etc/fstab during a
deployment, without having to write custom configuration extensions.
|
| |
|
|\
| |
| |
| |
| | |
Reviewed-by: Lars Wirzenius
Reviewed-by: Richard Maw
|
|/ |
|