• Martin Atkins's avatar
    build: Build and run e2etest as part of the release build pipeline · b802db75
    Martin Atkins authored
    This uses the decoupled build and run strategy to run the e2etests so that
    we can arrange to run the tests against the real release packages produced
    elsewhere in this workflow, rather than ones generated just in time by
    the test harness.
    
    The modifications to make-archive.sh here make it more consistent with its
    originally-intended purpose of producing a harness for testing "real"
    release executables. Our earlier compromise of making it include its own
    terraform executable came from a desire to use that script as part of
    manual cross-platform testing when we weren't yet set up to support
    automation of those tests as we're doing here. That does mean, however,
    that the terraform-e2etest package content must be combined with content
    from a terraform release package in order to produce a valid contest for
    running the tests.
    
    We use a single job to cross-compile the test harness for all of the
    supported platforms, because that build is relatively fast and so not
    worth the overhead of matrix build, but then use a matrix build to
    actually run the tests so that we can run them in a worker matching the
    target platform.
    
    We currently have access only to amd64 (x64) runners in GitHub Actions
    and so for the moment this process is limited only to the subset of our
    supported platforms which use that architecture.
    b802db75