.github: add Ubuntu VM test

Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
pull/2759/head
David Crawshaw 3 years ago committed by David Crawshaw
parent 73280595a8
commit 9b7fc2ed1f

@ -1,31 +1,30 @@
name: "integration-vms"
name: VM
on:
pull_request:
paths:
- "tstest/integration/vms/**"
release:
types: [ created ]
branches:
- '*'
jobs:
experimental-linux-vm-test:
# To set up a new runner, see tstest/integration/vms/runner.nix
runs-on: [ self-hosted, linux, vm_integration_test ]
ubuntu2004-LTS-cloud-base:
runs-on: [ self-hosted, linux, vm ]
if: "!contains(github.event.head_commit.message, '[ci skip]')"
steps:
- name: Set up Go
uses: actions/setup-go@v1
with:
go-version: 1.17
id: go
- name: Checkout Code
uses: actions/checkout@v1
- name: Download VM Images
run: go test ./tstest/integration/vms -run-vm-tests -run=Download -timeout=60m -no-s3
env:
XDG_CACHE_HOME: "/var/lib/ghrunner/cache"
- name: Run VM tests
run: go test ./tstest/integration/vms -v -run-vm-tests
run: go test ./tstest/integration/vms -v -no-s3 -run-vm-tests -run=TestRunUbuntu2004
env:
HOME: "/tmp"
TMPDIR: "/tmp"
XDG_CACHE_HOME: "/var/lib/ghrunner/cache"

@ -246,13 +246,14 @@ func fetchDistro(t *testing.T, resultDistro Distro) string {
t.Fatalf("%s replied %s", resultDistro.URL, resp.Status)
}
if _, err = io.Copy(fout, resp.Body); err != nil {
if n, err := io.Copy(fout, resp.Body); err != nil {
t.Fatalf("download of %s failed: %v", resultDistro.URL, err)
} else if n == 0 {
t.Fatalf("download of %s got zero-length file", resultDistro.URL)
}
resp.Body.Close()
err = fout.Close()
if err != nil {
if err = fout.Close(); err != nil {
t.Fatalf("can't close fout: %v", err)
}

Loading…
Cancel
Save