Ship runtimes unpacked by default
-
populate-depot: Make local runtime compatible with --unpack-runtimes
Since commit 42fb977a, run() expects to find the tarball in ./.cache. If we're populating the depot with a newly-built runtime, as we do in order to smoke-test new versions of runtimes, then we need to satisfy that assumption by hardlinking it into .cache unconditionally, the same way 42fb977a downloads tarballs into .cache unconditionally.
Similarly, since commit bfb0b34d, we might not want to include the tarball (and its build-ID flag file) in the depot. Only put the tarball in the depot if wanted.
The pinned_version for a locally-built runtime is None, but we want to use the same build ID for the locally-built runtime that we put in the directory name, so we need to fall back to runtime.version when writing out the ./run and ./run-in-$suite scripts.
-
populate-depot: Copy ./run-in-$suite to ./run
This avoids duplicating the logic necessary to generate it.
-
populate-depot: Only compute each subdirectory name once
This avoids the possibility that they get out of sync. In particular, previously we always generated ./run-in-$suite and ./run as though self.versioned_directories was true; now we take that parameter into account correctly.
-
tests: Expand test coverage
-
populate-depot: Really use a version number for local runtime builds
Previously, 'pinned_version or version' was giving us something like ./soldier_latest-container-runtime.
-
tests: Get runtime build ID from VERSIONS.txt
Reading the build ID from *-buildid.txt no longer works if we don't have that file, which we don't if we are using --no-include-archives.
-
populate-depot: Unpack runtimes without including archives by default
From: @denittis
Now that pressure-vessel can handle unpacked-directory runtimes we can set this as the default behaviour.
-
populate-depot: Use versioned directories by default
From: @denittis
When using unpacked-directory runtimes we expect to have versioned directories. Now that we use unpacked runtimes by default, set the versioned as default too.