Skip to content

Ship runtimes unpacked by default

Simon McVittie requested to merge wip/unpacked_default into master
  • 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.

Edited by Simon McVittie

Merge request reports