diff --git a/scripts/test b/scripts/test index d818a7a0..f13a819d 100755 --- a/scripts/test +++ b/scripts/test @@ -3,13 +3,19 @@ set -euxo pipefail STEMCELL_OS="${STEMCELL_OS:-ubuntu-xenial}" +STEMCELL_VERSION="${STEMCELL_VERSION:-latest}" + +STEMCELL_URL="https://bosh.io/d/stemcells/bosh-google-kvm-${STEMCELL_OS}-go_agent" +if [[ "${STEMCELL_VERSION}" != "latest" ]]; then + STEMCELL_URL="${STEMCELL_URL}?v=${STEMCELL_VERSION}" +fi pushd "$(dirname "$0")/.." bosh create-release --force --version="$(date "+%s")" bosh upload-release popd -bosh upload-stemcell "https://bosh.io/d/stemcells/bosh-google-kvm-${STEMCELL_OS}-go_agent" +bosh upload-stemcell "${STEMCELL_URL}" pushd "$(dirname "$0")/../tests" go install github.com/onsi/ginkgo/v2/ginkgo diff --git a/tests/acceptance_test.go b/tests/acceptance_test.go index d3b19abf..90c080a2 100644 --- a/tests/acceptance_test.go +++ b/tests/acceptance_test.go @@ -204,7 +204,8 @@ var _ = Describe("Forwarding loglines to a TCP syslog drain", func() { session := BoshCmd("deploy", "manifests/broken-rules.yml", "-v", fmt.Sprintf("deployment=%s", DeploymentName()), - "-v", fmt.Sprintf("stemcell-os=%s", StemcellOS())) + "-v", fmt.Sprintf("stemcell-os=%s", StemcellOS()), + "-v", fmt.Sprintf("stemcell-version=%s", StemcellVersion())) Eventually(session, 10*time.Minute).Should(gexec.Exit(1)) Eventually(BoshCmd("locks")).ShouldNot(gbytes.Say(DeploymentName())) }) diff --git a/tests/boshhelpers_test.go b/tests/boshhelpers_test.go index 48218109..d11b8d89 100644 --- a/tests/boshhelpers_test.go +++ b/tests/boshhelpers_test.go @@ -25,6 +25,13 @@ func StemcellOS() string { return "ubuntu-bionic" } +func StemcellVersion() string { + if v, ok := os.LookupEnv("STEMCELL_VERSION"); ok { + return v + } + return "latest" +} + func BoshCmd(args ...string) *gexec.Session { boshArgs := []string{"-n", "-d", DeploymentName()} boshArgs = append(boshArgs, args...) @@ -64,7 +71,8 @@ func Deploy(manifest string) *gexec.Session { By("Deploying") session := BoshCmd("deploy", manifest, "-v", fmt.Sprintf("deployment=%s", DeploymentName()), - "-v", fmt.Sprintf("stemcell-os=%s", StemcellOS())) + "-v", fmt.Sprintf("stemcell-os=%s", StemcellOS()), + "-v", fmt.Sprintf("stemcell-version=%s", StemcellVersion())) Eventually(session, 40*time.Minute).Should(gexec.Exit(0)) Eventually(BoshCmd("locks")).ShouldNot(gbytes.Say(DeploymentName())) return session @@ -73,7 +81,8 @@ func Deploy(manifest string) *gexec.Session { func DeployWithVarsStore(manifest string) *gexec.Session { session := BoshCmd("deploy", manifest, "-v", fmt.Sprintf("deployment=%s", DeploymentName()), fmt.Sprintf("--vars-store=/tmp/%s-vars.yml", DeploymentName()), - "-v", fmt.Sprintf("stemcell-os=%s", StemcellOS())) + "-v", fmt.Sprintf("stemcell-os=%s", StemcellOS()), + "-v", fmt.Sprintf("stemcell-version=%s", StemcellVersion())) Eventually(session, 40*time.Minute).Should(gexec.Exit(0)) Eventually(BoshCmd("locks")).ShouldNot(gbytes.Say(DeploymentName())) return session diff --git a/tests/manifests/blackbox-unpriv.yml b/tests/manifests/blackbox-unpriv.yml index 0855ba07..eafe8c1d 100644 --- a/tests/manifests/blackbox-unpriv.yml +++ b/tests/manifests/blackbox-unpriv.yml @@ -6,7 +6,7 @@ releases: stemcells: - alias: default os: ((stemcell-os)) - version: latest + version: ((stemcell-version)) instance_groups: - name: forwarder instances: 1 diff --git a/tests/manifests/broken-rules.yml b/tests/manifests/broken-rules.yml index ac85fdd2..b6ad8606 100644 --- a/tests/manifests/broken-rules.yml +++ b/tests/manifests/broken-rules.yml @@ -6,7 +6,7 @@ releases: stemcells: - alias: default os: ((stemcell-os)) - version: latest + version: ((stemcell-version)) instance_groups: - name: forwarder instances: 1 diff --git a/tests/manifests/debug-filtering.yml b/tests/manifests/debug-filtering.yml index a3c8b2c0..929cdce2 100644 --- a/tests/manifests/debug-filtering.yml +++ b/tests/manifests/debug-filtering.yml @@ -6,7 +6,7 @@ releases: stemcells: - alias: default os: ((stemcell-os)) - version: latest + version: ((stemcell-version)) instance_groups: - name: forwarder instances: 1 diff --git a/tests/manifests/disabled-no-config.yml b/tests/manifests/disabled-no-config.yml index 9997ea9a..94863633 100644 --- a/tests/manifests/disabled-no-config.yml +++ b/tests/manifests/disabled-no-config.yml @@ -6,7 +6,7 @@ releases: stemcells: - alias: default os: ((stemcell-os)) - version: latest + version: ((stemcell-version)) instance_groups: - name: forwarder instances: 1 diff --git a/tests/manifests/disabled.yml b/tests/manifests/disabled.yml index 60c66cb2..8b90d470 100644 --- a/tests/manifests/disabled.yml +++ b/tests/manifests/disabled.yml @@ -6,7 +6,7 @@ releases: stemcells: - alias: default os: ((stemcell-os)) - version: latest + version: ((stemcell-version)) instance_groups: - name: forwarder instances: 1 diff --git a/tests/manifests/environment-identifier.yml b/tests/manifests/environment-identifier.yml index 01d4ab91..85ac1d48 100644 --- a/tests/manifests/environment-identifier.yml +++ b/tests/manifests/environment-identifier.yml @@ -6,7 +6,7 @@ releases: stemcells: - alias: default os: ((stemcell-os)) - version: latest + version: ((stemcell-version)) instance_groups: - name: forwarder instances: 1 diff --git a/tests/manifests/good-rules.yml b/tests/manifests/good-rules.yml index df36dc55..2aa9d070 100644 --- a/tests/manifests/good-rules.yml +++ b/tests/manifests/good-rules.yml @@ -6,7 +6,7 @@ releases: stemcells: - alias: default os: ((stemcell-os)) - version: latest + version: ((stemcell-version)) instance_groups: - name: forwarder instances: 1 diff --git a/tests/manifests/relp-tls.yml b/tests/manifests/relp-tls.yml index 01a34b96..887e8a3c 100644 --- a/tests/manifests/relp-tls.yml +++ b/tests/manifests/relp-tls.yml @@ -6,7 +6,7 @@ releases: stemcells: - alias: default os: ((stemcell-os)) - version: latest + version: ((stemcell-version)) instance_groups: - name: forwarder instances: 1 diff --git a/tests/manifests/tcp-blackbox.yml b/tests/manifests/tcp-blackbox.yml index 0dc3b61a..c2ad59e9 100644 --- a/tests/manifests/tcp-blackbox.yml +++ b/tests/manifests/tcp-blackbox.yml @@ -6,7 +6,7 @@ releases: stemcells: - alias: default os: ((stemcell-os)) - version: latest + version: ((stemcell-version)) instance_groups: - name: forwarder instances: 1 diff --git a/tests/manifests/tls-forwarding-mtls.yml b/tests/manifests/tls-forwarding-mtls.yml index 4ea3e74e..5eafa49d 100644 --- a/tests/manifests/tls-forwarding-mtls.yml +++ b/tests/manifests/tls-forwarding-mtls.yml @@ -6,7 +6,7 @@ releases: stemcells: - alias: default os: ((stemcell-os)) - version: latest + version: ((stemcell-version)) instance_groups: - name: forwarder instances: 1 diff --git a/tests/manifests/tls-forwarding.yml b/tests/manifests/tls-forwarding.yml index 7a429ede..2c8d1f45 100644 --- a/tests/manifests/tls-forwarding.yml +++ b/tests/manifests/tls-forwarding.yml @@ -6,7 +6,7 @@ releases: stemcells: - alias: default os: ((stemcell-os)) - version: latest + version: ((stemcell-version)) instance_groups: - name: forwarder instances: 1 diff --git a/tests/manifests/udp-blackbox.yml b/tests/manifests/udp-blackbox.yml index 0cebf772..5b1ded74 100644 --- a/tests/manifests/udp-blackbox.yml +++ b/tests/manifests/udp-blackbox.yml @@ -6,7 +6,7 @@ releases: stemcells: - alias: default os: ((stemcell-os)) - version: latest + version: ((stemcell-version)) instance_groups: - name: forwarder instances: 1 diff --git a/tests/manifests/vcap-filtering.yml b/tests/manifests/vcap-filtering.yml index 1876a1ce..36737f29 100644 --- a/tests/manifests/vcap-filtering.yml +++ b/tests/manifests/vcap-filtering.yml @@ -6,7 +6,7 @@ releases: stemcells: - alias: default os: ((stemcell-os)) - version: latest + version: ((stemcell-version)) instance_groups: - name: forwarder instances: 1