Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -220,15 +220,14 @@ dependencies:
source: https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.7.tar.gz
source_sha256: 23815a6d095696f7919090fdc3e2f9459b2c83d57224b2e446ce1f5f7333ef36
- name: rubygems
version: 3.6.8
uri: https://buildpacks.cloudfoundry.org/dependencies/rubygems/rubygems_3.6.8_linux_noarch_any-stack_7a02eb5e.tgz
sha256: 7a02eb5e5cf4ed6ad6a4245babf69f1f4c6acc1cbdf6d126dee8bf73dca7f8de
version: 4.0.22
uri: https://buildpacks.cloudfoundry.org/dependencies/rubygems/rubygems_4.0.22_linux_noarch_any-stack_b5f29b2f.tgz
sha256: b5f29b2f5653d67d6b6319d1fad163b1fa1e3434abfadcfa348d76904b960fbb
cf_stacks:
- cflinuxfs4
- cflinuxfs5
- cflinuxfs3
source: https://rubygems.org/rubygems/rubygems-3.6.8.tgz
source_sha256: da5340b42ba3ddc5ede4a6b948ffa5b409d48cb119e2937e27e4c0b13bf9c390
source: https://rubygems.org/rubygems/rubygems-4.0.22.tgz
source_sha256: e7e58e5b95156ce7419f7d3b2ae9ecc4f7fe7a4c61a5837f90c507206d8cc226
- name: yarn
version: 1.22.22
uri: https://buildpacks.cloudfoundry.org/dependencies/yarn/yarn_1.22.22_linux_noarch_any-stack_b6132b86.tgz
Expand Down
12 changes: 10 additions & 2 deletions src/ruby/integration/default_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,13 @@ func testDefault(platform switchblade.Platform, fixtures string) func(*testing.T
Execute(name, filepath.Join(fixtures, "default", "vendor_bundle"))
Expect(err).NotTo(HaveOccurred())

Eventually(deployment).Should(Serve(ContainSubstring("Healthy")))
// The default 20s Eventually timeout has been observed to
// intermittently race with the Docker platform backend
// under parallel CI load (container reports started before
// the app has actually bound its port). Give this more
// headroom, matching the precedent set for the JRuby
// fixture (#1140).
Eventually(deployment, 90*time.Second, 2*time.Second).Should(Serve(ContainSubstring("Healthy")))
})
})

Expand All @@ -95,7 +101,9 @@ func testDefault(platform switchblade.Platform, fixtures string) func(*testing.T
Execute(name, filepath.Join(fixtures, "default", "custom_gemfile"))
Expect(err).NotTo(HaveOccurred())

Eventually(deployment).Should(Serve(ContainSubstring("Hello World")))
// See the "vendor bundle" test above for why this has an
// extended timeout.
Eventually(deployment, 90*time.Second, 2*time.Second).Should(Serve(ContainSubstring("Hello World")))
})
})

Expand Down
10 changes: 9 additions & 1 deletion src/ruby/integration/offline_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package integration_test
import (
"path/filepath"
"testing"
"time"

"github.com/cloudfoundry/switchblade"
"github.com/sclevine/spec"
Expand Down Expand Up @@ -38,7 +39,14 @@ func testOffline(platform switchblade.Platform, fixtures string) func(*testing.T
Execute(name, filepath.Join(fixtures, "default", "vendor_cache"))
Expect(err).NotTo(HaveOccurred())

Eventually(deployment).Should(Serve(ContainSubstring("Healthy")))
// The default 20s Eventually timeout has been observed to
// intermittently race with the Docker platform backend under
// parallel CI load: the container reports as started before the
// app process inside has actually finished booting and bound
// its port, producing a raw "connection refused" at the 20s
// mark rather than a graceful retry. Give this more headroom,
// matching the precedent set for the JRuby fixture (#1140).
Eventually(deployment, 90*time.Second, 2*time.Second).Should(Serve(ContainSubstring("Healthy")))
})
}
}
Loading