* replace community canton snapshot with our bazel-built canton deploy jar
* add VERSION to the resources of the jar
* fix canton-test-runner-with-dependencies-script
* add resources to community_common
* Update test-common/canton/it-lib/src/main/com/daml/CantonFixture.scala
Co-authored-by: Remy <remy.haemmerle@daml.com>
---------
Co-authored-by: Remy <remy.haemmerle@daml.com>
* Update docs for SubmitError:TemplatePreconditionViolated
* Daml.Script: add 'trySubmit{,Multi}Concurrently'
* Make trySubmitConcurrently fully sequenced when using IdeLedger
* Add test cases for trySubmitConcurrently
* Test trySubmitConcurrently in Daml3ScriptTestRunnerDev
* Handle LOCAL_VERDICT_LOCKED_{CONTRACTS,KEYS} in gRPCi Ledger Client
* Move 'trySubmit{Multi}Concurrently' to 'Daml.Script.Questions.Submit.Internal'
* Apply review feedback
* Test 'trySubmitConcurrently' using AbstractScriptTest instead of DamlScriptTestRunner
* Apply review feedback: trySubmitConcurrently returns List instead of Seq
* first example
* remove reliance on NameMap in del/existing/new logic
* Add testing for upgrades typechecking in `daml damlc build`
* lint
* add typecheck-upgrades flag
* rename Foo to MyLib
* Add missing field to PackageConfigFields
* Add reasonable context location for upgrade errors
Staging last changes before I leave for CX for some time.
* fix quoting for windows paths
* Check template choices specifically
* Refactor to have signatory etc. checks, improve choice/template check
* Check return types of choices
* Update DamlcUpgrades for new versions
* Check for deleted top level datatypes, add TODO for type check
Also add type signatures to some helpers
* Add tests for templates as input and outputs of choices
* lint
* Move upgrading error variants into own UpgradeError type
* Improve comment for choice input type invariant
* Replace TemplateChoiceOutput with shouldCheck
* Set 'optDetailLevel = PrettyLevel (-1)' in integration tests
This means we don't need to postprocess the damlc output to remove package ids
* Move stable type constructors to DA.Daml.StablePackages
* Don't use 'rewriteStableQualified' for Tuples in LFConversion
* Don't use 'rewriteStableQualified' for DA.Internal.Erased.Erased in LFConversion
* Don't use 'rewriteStableQualified' for DA.Internal.PromotedText.PromotedText in LFConversion
* update StablePackages comment
* Future-proof renderFeatureVersionReq
* First working model (requires ghcide changes)
* Bug fixes, add logging
* Use pinned ghcide
* Comment up a storm
* Add multi sdk version support
* Implement project.yaml approach
* Cleanup
* Add projects to multi-package.yaml
* Add flags for build all projects in multi-project, and no caching
* Delete ghcide
* Start migration from daml multi-build to daml build
* Add non --all daml build flow
* Finish migration over to daml build
* Add comments
* Change --all and --no-cache to switches
* Fix caching issue with source set to .
* Address initial comments
* Add daml.yaml source as a file caching warning
* Forward sub-assistant call errors to multi-build
* Update comment
* Update merged ghcide
* initial commit
* split gen-stable-packages-v_i into two targets
* rename compatibleWith to canDependOn
* update damlc integration tests annotation to allow for 2.x
* use the right package ID for preconditionFailed when compiling to V2
* fuse stable-packages-v1 and stable-packages-v2 into one single filegroup
* Fix DA.Daml.LF.Ast.Tests
* remove leftover 'undefined' in Version.hs
* progress on fixing DataDependencies.hs
* fix Cross-SDK typeclasses test for 2.dev
* Fix the 'Typeclasses and instances' data dependency test
* Update comment
* fix //compiler/damlc/tests:packaging
* Add TODO
* parameterize the machine by the langage version, hardcode v1 in script v2, v2 in script v2, v1 in exports
* get EngineTests to pass
* fix more tests
* fix canton integration tests
* formatting
* fix more tests
* fix transactionversiontest
* fix exceptiontest
* Fix ValueEnricherSpec
* Fix EngineInfoTest
* fix PartialTransactionSpec
* fix upgragetest
* fix TransactionSnapshot
* Fix ContractKeySpec
* Fix ReinterpretTest
* fix InterfaceViewSpec
* fix InterfacesTest
* fix stable package v1 names
* fix validate.sh tests
* formatting
* Fix ChoiceAuthorityTest
* fix explicit disclosure test
* Fix SpeedyTest
* formatting
* Fix integration test
* fix data dependency tests
* fix package vetting count, increased due to metadata being added
* Redact stable package IDs in error messages in order for the ExceptionSemantics test to work for both v1 and v2
* cleanup
* fix Daml2ScriptTestRunner
* fix JsonApiIT and daml-script golden tests
* fix daml3-script runner test
* enable v2 for all integration tests
* formatting
* fix NodeSeedsTest
* fix since-lf annotations
* add comments, improve consistency
* stop hardcoding V1 in runPureExpr and runPureSExpr
* formatting
* remove harcoding of LFv1 in ConcurrentCompiledPackages.apply
* Parameterize Compiler.Config.Default with major language version
* remove global parser implicit and default package ID and language version
* Fix the external name of daml3-script.dar to mention 2.dev
* make the compilation and distribution of daml3-script dars more future proof
* fix path in ci/copy-unix-release-artifacts.sh
* daml-lf-test.sh no longer takes damlc argument
* Split //daml-lf/tests:BasicTests into engine and integration tests
* Remove unused //daml-lf/engine:Optional
* Convert //daml-lf/tests:AuthorizedDivulgence into integration test
* Convert //daml-lf/tests:DontDiscloseNonConsumingExercisesToObservers into integration test
* Convert //daml-lf/tests:ConjunctionChoices into integration test
* Convert //daml-lf/tests:ContractKeys into integration test LFContractKeys
* Move //daml-lf/tests:AuthTests to //daml-lf/engine:AuthTests
* Split //daml-lf/tests:LargeTransaction into ledger and non-ledger tests
* Remove scenarios in //language-support/java/codegen:ledger-tests-model
* Remove unused scenarios in //test-common:src/main/daml/model/Test.daml
* Remove 'enable_scenarios' param in da_scala_dar_resources_library
* Remove 'enable_scenarios' param in damlc_compile_test
* Remove '--enable-scenarios=yes in //compiler/damlc/tests:deterministic
* Convert /daml-lf/tests/scenario/dev/experimental to integration test
* Convert /daml-lf/tests/scenario/dev/interfaces to integration test
* Convert /daml-lf/tests/scenario/stable/big-numeric to integration test
* Convert /daml-lf/tests/scenario/stable/contract-key-through-exercises to integration test
* Convert /daml-lf/tests/scenario/stable/contract-keys to integration test
* Convert /daml-lf/tests/scenario/stable/divulge-iou to integration test
* Convert /daml-lf/tests/scenario/stable/embed-abort to integration test
* Convert /daml-lf/tests/scenario/stable/eval-agreement to integration test
* Convert /daml-lf/tests/scenario/stable/exception-auth to integration test
* Convert /daml-lf/tests/scenario/stable/gen-map to integration test
* Convert /daml-lf/tests/scenario/stable/many-fields to integration test
* Convert /daml-lf/tests/scenario/stable/mustfailcommit to integration test
* Convert /daml-lf/tests/scenario/stable/mustfailinterpretation to integration test
* Convert /daml-lf/tests/scenario/stable/mustfails to integration test
* Convert /daml-lf/tests/scenario/stable/no-contract-ids-in-keys to integration test
* Convert /daml-lf/tests/scenario/stable/pass-time to integration test
* Convert /daml-lf/tests/scenario/stable/pattern-matching to integration test
* Convert /daml-lf/tests/scenario/stable/timeout to integration test
* Remove scaffolding for daml-lf/tests/scenario
* Remove unused 'enable-scenarios' flags
* Remove unused daml-lf/tests/daml-lf-test.sh
* Remove unused daml-lf/tests/scala-test-limited-stack.sh
* Remove comments about deprecated flag 'DontDivulgeContractIdsInCreateArguments' in AuthorizedDivulgence integration test
* Add 'create' in LfStableTimeout:testScriptLoop
* add TODO for nesting limits test in LfStableMustFails
* Move LfStableMustFails expected ledger files into subdir
* Refactor damlc integration test input into datatype
* Factor out 'withLog' helper function
* Reduce scope of 'service' in 'testCase'
* Use 'testPassed' helper for ignored test files
* Reduce scope of 'TestCase' and 'log' in 'testCase'
* Use guards instead of nested if-then-else in 'testCase'
* Extract 'testSetup' from 'testCase' using 'withResource'
* {testCase=>damlFileTestTree} now produces a test tree
* Split jq queries into individual tests
* whitespace
* Add ledger expectation tests
* Avoid double inversion-of-control
* avoid extra newlines in prettyScenarioResult
* Add '--detail=LEVEL' option to choose level of detail in e.g. 'daml test' and 'daml ide'
This way we can choose whether to print package ids
DA.Daml.LF.PrettyScenario: add 'PrettyLevel' argument
- Introduces a new major version, "2", in the daml_lf proto
- Adds new major versions to the compiler and the engine
- Updates all code that assumes only one major version
- Updates all code that assumes only one dev version
* Fix a probable typo in //daml-fl/encoder/testing-dar-*
* apply TODOs in bazel files
* remove obsolete comments in bazel files
* use 'default' instead of 'latest' for targets relying on 'latest' in order to ensure interfaces are supported
* Update to rules_haskell v0.16
* Update comments re bazel patches
* clean up bazel overrides
* Upgrade to Bazel 5.2.0
* Remove '--distinct_host_configuration=false'
* Update buildifier to 6.3.2
* Suffix macos and ubuntu caches with yyyymm
* bump windows cache to v14
* [REVERTME] bump linux/macos/darwin timeout to 4h
* Refactor daml-script cli interface to be unified
* Add --upload-dar flag.
* Fix tests with new uploadDar flag
* Initial daml-script binary testing
* Tests for argument passing and failure behaviour
* add participant config and ide tests
* Add windows support to tests
* Fix missing tls error assertion
* Update changelogs
PR #17253 introduces a right-to-left evaluation order behind an interpreter feature flag. It also modifies every scala test that uses the interpreter to test both evaluation orders and documents any divergence as a new test case.
In this commit we do the same for Daml script tests (compiler/damlc/tests/daml-test-files/...). We introduce a new file annotation for Daml script tests: @EVALUATION-ORDER (LeftToRight|RightToLeft). A test that uses this annotation will be ignored when run with an evaluation order that differs from the specified one. The BUILD file is modified to run every test twice: once in left-to-right order, and once in right-to-left order.
The only test for which the evaluation orders disagree is SemanticsEvalOrder.daml. So we mark it as left-to-right only, and we introduce SemanticsEvalOrderRightToLeft.daml, which is right-to-left only and documents the new behavior. All the other existing tests are run using both modes and do not diverge.
* Replace Text with AnyContractId in AdditionalInfo.templateIdentifier
Also, subsume ContractNotActive variant into AdditionalInfo
* lint
* rename contractIdentifier to something clearer
* remove ContractNotActive constructor, update indices
* add isNotActive for Daml3ScriptTrySubmit tests
* Use isNotActive on ContractNotFound instead of ContractNotActive
* Remove show instance for deleted ContractNotActive variant
* fix variant numbers for ContractNotFoundAdditionalInfo
* Expect different Daml3ScriptTrySubmit:contractNotActive per test ledger
* temp: swap expectations
* Disable cantonFixtureDebugMode check
* Add additional debugging info to ContractNotFound where possible/allowed
* import foldMap
* add variants and conversion logic for structured ContractNotFound errors
* lint
* Add Identifier for template, document invariant in ContractNotFound
* Move ContractNotFoundAdditionalInfo to ContractNotFound.AdditionalInfo
* lint
* Don't export construtors for ContractNotFoundAdditionalInfo
* Test to make sure ContractNotFoundAdditionalInfo is hidden
* Version the script runner
* Fix import
* Add v2 files
* Add v1/v2 switching logic
* Add -- @ SCRIPT-V2 flag to integration tests
* Fix daml-v2 docs gen, refactor withDamlScriptDep
* Fix package name for daml-script2
* Fix polymorphic script warning for daml-script2
* Address review comments
* Scala, not haskell
* Add warnings to template files
* Rename daml-v2 to daml3, daml-script-v2 to daml3-script
* Fix polymorphic warning again
* Switch try catch to a command
* Use free properly, make all continues identity
* Split up DamlScript, implement Questions logic
* Fix most of the issues
* Drop internal callstack frames
* Minor fixes
* Prevent Catch being treated as an old-style typeclass
* Fix catch parsing
* Implement package vetting and unvetting
* Add no such template error to scenario service proto
* Notes for updateCompiledPackages in IdeLedgerClient
* Improve script src copying
* Add package vetting test, and framework for extra packages in integration tests
* Fix daml script dar rule mistake
* Apply suggestions from code review
Co-authored-by: Remy <remy.haemmerle@daml.com>
* Convert PureCompiledPackages to case class
* Generalise Lookup error over scenario proto
* Address review
---------
Co-authored-by: Remy <remy.haemmerle@daml.com>
* Stop the semaphore thread cleanly when a result was received
* Use ContextId to disamiguate similar script runs
* Test opposite side (cancellation does *not* happen after hover)
* Longer timeout, drop todo for `scenario service does not interrupt` test
* Add better comments, refactor 4-tuple into RunInfo