mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 01:07:18 +03:00
daml-assistant: Add daml sandbox-next
. (#5045)
* daml-assistant: Add `daml sandbox-next`. CHANGELOG_BEGIN - [DAML Assistant] You can now run a pre-release version of Sandbox with ``daml sandbox-next`` so you can test it out and verify everything is working as expected. Running this will launch Sandbox rebuilt on a more modern architecture. An upcoming release of DAML will switch over to the new implementation by default. CHANGELOG_END * daml-assistant: Explain that sandbox-next is experimental. Co-Authored-By: Moritz Kiefer <moritz.kiefer@purelyfunctional.org> * daml-assistant: Copy-pasta an integration test for `daml sandbox-next`. Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
This commit is contained in:
parent
cbeeb5aafc
commit
7510d0d404
@ -2,14 +2,15 @@
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
package com.digitalasset.daml.sdk
|
||||
import com.digitalasset.daml.lf.engine.trigger.{RunnerMain => Trigger}
|
||||
import com.digitalasset.daml.lf.engine.script.{RunnerMain => Script}
|
||||
import com.digitalasset.daml.lf.engine.script.{TestMain => TestScript}
|
||||
|
||||
import com.digitalasset.codegen.{CodegenMain => Codegen}
|
||||
import com.digitalasset.daml.lf.engine.script.{RunnerMain => Script, TestMain => TestScript}
|
||||
import com.digitalasset.daml.lf.engine.trigger.{RunnerMain => Trigger}
|
||||
import com.digitalasset.extractor.{Main => Extractor}
|
||||
import com.digitalasset.http.{Main => JsonApi}
|
||||
import com.digitalasset.navigator.{NavigatorBackend => Navigator}
|
||||
import com.digitalasset.platform.sandbox.{SandboxMain => Sandbox}
|
||||
import com.digitalasset.platform.sandboxnext.{Main => SandboxNext}
|
||||
|
||||
object SdkMain {
|
||||
def main(args: Array[String]): Unit = {
|
||||
@ -24,6 +25,7 @@ object SdkMain {
|
||||
case "json-api" => JsonApi.main(rest)
|
||||
case "navigator" => Navigator.main(rest)
|
||||
case "sandbox" => Sandbox.main(rest)
|
||||
case "sandbox-next" => SandboxNext.main(rest)
|
||||
case _ => sys.exit(1)
|
||||
}
|
||||
}
|
||||
|
@ -327,7 +327,7 @@ quickstartTests quickstartDir mvnDir = testGroup "quickstart"
|
||||
callCommandQuiet "daml damlc test --files daml/Main.daml"
|
||||
, testCase "daml damlc visual-web" $ withCurrentDirectory quickstartDir $
|
||||
callCommandQuiet $ unwords ["daml damlc visual-web .daml/dist/quickstart-0.0.1.dar -o visual.html -b"]
|
||||
, testCase "sandbox startup" $
|
||||
, testCase "Sandbox startup" $
|
||||
withCurrentDirectory quickstartDir $
|
||||
withDevNull $ \devNull -> do
|
||||
p :: Int <- fromIntegral <$> getFreePort
|
||||
@ -345,6 +345,24 @@ quickstartTests quickstartDir mvnDir = testGroup "quickstart"
|
||||
(\s -> connect s (addrAddress addr))
|
||||
-- waitForProcess' will block on Windows so we explicitly kill the process.
|
||||
terminateProcess ph
|
||||
, testCase "Sandbox Next startup" $
|
||||
withCurrentDirectory quickstartDir $
|
||||
withDevNull $ \devNull -> do
|
||||
p :: Int <- fromIntegral <$> getFreePort
|
||||
let sandboxProc = (shell $ unwords ["daml", "sandbox-next", "--port", show p, ".daml/dist/quickstart-0.0.1.dar"]) { std_out = UseHandle devNull, std_in = CreatePipe }
|
||||
withCreateProcess sandboxProc $
|
||||
\_ _ _ ph -> race_ (waitForProcess' sandboxProc ph) $ do
|
||||
waitForConnectionOnPort (threadDelay 100000) p
|
||||
addr : _ <- getAddrInfo
|
||||
(Just socketHints)
|
||||
(Just "127.0.0.1")
|
||||
(Just $ show p)
|
||||
bracket
|
||||
(socket (addrFamily addr) (addrSocketType addr) (addrProtocol addr))
|
||||
close
|
||||
(\s -> connect s (addrAddress addr))
|
||||
-- waitForProcess' will block on Windows so we explicitly kill the process.
|
||||
terminateProcess ph
|
||||
, testCase "Navigator startup" $
|
||||
-- This test just checks that navigator starts up and returns a 200 response.
|
||||
-- Nevertheless this would have caught a few issues on rules_nodejs upgrades
|
||||
|
@ -43,6 +43,10 @@ commands:
|
||||
path: daml-helper/daml-helper
|
||||
desc: "Launch the Sandbox"
|
||||
args: ["run-jar", "--logback-config=daml-sdk/sandbox-logback.xml", "daml-sdk/daml-sdk.jar", "sandbox"]
|
||||
- name: sandbox-next
|
||||
path: daml-helper/daml-helper
|
||||
desc: "Launch the Sandbox's upcoming implementation (experimental, for testing purposes)"
|
||||
args: ["run-jar", "--logback-config=daml-sdk/sandbox-logback.xml", "daml-sdk/daml-sdk.jar", "sandbox-next"]
|
||||
- name: navigator
|
||||
path: daml-helper/daml-helper
|
||||
desc: "Launch the Navigator"
|
||||
|
Loading…
Reference in New Issue
Block a user