* repro of #19162 as a test and fix for daml3
* use a different party for exercising a choice on the disclosed contract
* factorize TemplateTypeRep svalue creation
* Move makePair/makeTriplet to Converter.makeTuple
* Implement dar unpacking
* Implement packageless IDE
* Hot-reloading logic for daml.yaml, multi-package.yaml, *.dar
* Implement initial error recovery logic
* Switch logging to log levels
Replace window reload with LanguageServer restart
* Forward args from multi-ide to sub-ides
* Change unpacked dar paths to be the unit-id.
Update unpacking logic to shutdown previous IDEs
* Remove broken experimental flag
* Refactor ide restart logic to not lose event handlers
* Log subIDE errors to debug logger live
* Windows fixes
* First review fixes batch
* Use newtypes for many FilePaths
* Address Dylan's comments
* Refactor how SubIDEs are passed around, reduce times it is dropped
* Update diagnostic
This is a cosmetic change to clarify search strategy (local -> disclosed -> other).
Since local and disclosed contract does not have same format of contract ID (the later is suffixed while the former is not), it should not change the behavior.
@garyverhaegen-da is taking care of [testing](https://github.com/digital-asset/daml/blob/main/release/RELEASE.md) today's release, so they get pushed back to the end of the line.
Please do not merge this before the release is fully tested.
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
* update canton to 20240507.13254.va09c52a2
tell-slack: canton
* sync canton at 3af0026 to ensure we have a fix for the party allocation delay
---------
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Co-authored-by: Paul Brauner <paul.brauner@digitalasset.com>
* update canton to 20240504.13241.v10d14caa
tell-slack: canton
* fix EngineLogginConfig
* fix canton fixture config
---------
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Co-authored-by: Marcin Ziolek <marcin.ziolek@digitalasset.com>
Co-authored-by: Paul Brauner <paul.brauner@digitalasset.com>
* update canton to 20240503.13228.v8a7a4aca
tell-slack: canton
* Minimal canton bazel changes to enable building
Adapting to:
- https://github.com/DACH-NY/canton/pull/18850
- https://github.com/DACH-NY/canton/pull/18916
* Maven release daml-common-staging_util-external
---------
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Co-authored-by: oliverse-da <oliver.seeliger@digitalasset.com>
@gerolf-da is taking care of [testing](https://github.com/digital-asset/daml/blob/main/release/RELEASE.md) today's release, so they get pushed back to the end of the line.
Please do not merge this before the release is fully tested.
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
* install.{bat,sh} pass --install-with-custom-version with contents of daml_version.txt
* pass flag only if file exists (bash)
* install.bat only passes --install-with-custom-version if daml_version.txt exists
* daml assistant accepts multiple --install-with-custom-version options, but only uses the last one (if given)
---------
Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com>
* Initial attempt/PoC at pulling out interfaces and typechecking them
* Add checking for new interfaces
* Fix call to checkUpgrade, improve/fix warning for locally defined iface
* drop todo
* clean up noop checkDeletedIfaces
* Check that an instance is not deleted
* Port checks to Upgrading.scala, port tests to UpgradesSpec.scala
* Improve context reporting in upgrade validation
* Add tests for dropped/added interface instances
* Fix regices for failure
* lint
* fix copyright headers
* Re-enable flaky, fix formatting issues
* More tests + checks for ifaces in same package as template/instance
* fix expectation on "Cannot upgrade view" for Windows UTF-8/16
* Synchronize tests from DamlcUpgrades to UpgradesSpec
* lint
* Add module name to "DefineIfacesAndTemplates" error, fix test
* re-enable tests
* lint
* update canton to 20240426.13186.vafd3a931
tell-slack: canton
* Fix Tls dependencies
* Expect updated format for upgrade error message from canton #18816
* Fix release artifacts
* add maven coordinates to tls
* hopefully the final fix of the tls project
* disable test on Arm Linux
* lint
---------
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Co-authored-by: Marcin Ziolek <marcin.ziolek@digitalasset.com>
Co-authored-by: Dylan Thinnes <dylan.thinnes@digitalasset.com>
* update canton to 20240425.13173.va5ae2742
tell-slack: canton
* fix the dependencies in canton after reshuffles
---------
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Co-authored-by: Marcin Ziolek <marcin.ziolek@digitalasset.com>
* Add flag for disabling upgrade validation, refactor tests
* mark upgrade-tests flaky
* remove unused disableUpgradeValidation method
* update canton to 3.0.0-snapshot.100000000.20240305.12764.0.v09f6d95a
tell-slack: canton
* Adapt code after renaming v1 to v2
Adapts daml because of https://github.com/DACH-NY/canton/pull/175211
run-all-tests: true
* Quick-fix build by adding missing `recordTime` parameter to the `TransactionGenerator`
This change affects tests only. However, this is a quick-fix, and there should
be a proper follow-up.
* Disable "hot reload" test since it breaks on Carl's changes
In a week we should fix this once https://github.com/DACH-NY/canton/pull/17652 is merged
* Fix expected protobuf structure in test-protobuf-structure.sh
* Compare transactions without record time in UpdateClientImplTest
* lint
* Revert changes to canton since origin/main
* Add dry run property to upload requests
* test dry run upload failure
* lint
* fix tests
* Describe dry run flag in Help.Description
* rename field in PackageServiceErrors
* Fix expected message
* Move dry run check outside validation
* Remove changes to canton
* drop dry-run flag from upload request (for now)
* drop other uses of dryRun
* lint
* copy canton
* Revert "drop other uses of dryRun"
This reverts commit cf6b9b2bfc.
* Revert "drop dry-run flag from upload request (for now)"
This reverts commit ce8aaecaf3.
* Use updated dryRun interface
* update canton to dry-run
* reset canton
* re-enable flakiness
* drop dryRun from TestingAdminLedgerClient
---------
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Co-authored-by: jarekr-da <jaroslaw.ratajski@digitalasset.com>
Co-authored-by: Yves Geissbuehler <yves.geissbuehler@digitalasset.com>
@moisesackerman-da is taking care of [testing](https://github.com/digital-asset/daml/blob/main/release/RELEASE.md) today's release, so they get pushed back to the end of the line.
Please do not merge this before the release is fully tested.
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
* update canton to 20240423.13156.v75d9d2d6
tell-slack: canton
* handle pagination in ListKnownParties
---------
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Co-authored-by: Paul Brauner <paul.brauner@digitalasset.com>
* update canton to 20240419.13141.v8e75f5c1
tell-slack: canton
* fix the compilation of community_ledger_ledger-json-api
---------
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Co-authored-by: Paul Brauner <paul.brauner@digitalasset.com>
Before this change, we couldn't inject a custom logger into the engine. As such, debug output of commands would not be associated to the Canton trace-id, making the feature not very useful. Now, the API is extended such that the custom logger can be easily added.
* Reimplement ProgressToken prefixing to be stateless
* Refactor parsing logic to not use interleaveIO
* Move most verbose logging behind a flag
* Address reviews
@samuel-williams-da is taking care of [testing](https://github.com/digital-asset/daml/blob/main/release/RELEASE.md) today's release, so they get pushed back to the end of the line.
Please do not merge this before the release is fully tested.
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Before this change, the whole histogram building logic was broken since we upgraded telemetry. Now,
we initialize the view before the meters. As part of this change, I also move the documentation
into the meter definition such that the metrics can include a description in otel, and finally I've improved
the filtering such that we now also filter by qualification, which means that a client will not be
overwhelmed with 400 unnecessary metrics.
Part of https://github.com/DACH-NY/canton/issues/17917
* update canton to 20240408.13044.v976ee867
tell-slack: canton
* specify the protocol version in calls to StaticDomainParameters.defaults
---------
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Co-authored-by: Paul Brauner <paul.brauner@digitalasset.com>
@basvangijzel-DA is taking care of [testing](https://github.com/digital-asset/daml/blob/main/release/RELEASE.md) today's release, so they get pushed back to the end of the line.
Please do not merge this before the release is fully tested.
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
* update canton to 20240405.13039.vc7eec3f0
tell-slack: canton
* fix build
* remove usages of tink in the canton config
---------
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Co-authored-by: Paul Brauner <paul.brauner@digitalasset.com>
We pick the proto for LF1 and the Decoder from main-2.x
We drop withing the decoder the expression decoding and and fill the AST with EUnit where an expression is needed.
Test will be done in a subsequent PR.
* Disable keys in LfConversion.
* fix UnusedMatchTests.daml in integration-v21
* fix //compiler/damlc/tests:upgrades
* stop compiling daml tests that use keys with 2.1
* migrate the upgrade examples to 2.dev as they use keys
* only compile daml-script/tests dar using keys to 2.dev
* do not compile daml-script/test daml files that use keys to 2.1
* fix //docs:bindings-java-daml-test
* add TODOs everywhere tests need to be split
* add a tests that checks that contract keys are rejected for LF<2.dev
* remove keys from compatibility tests
* Add the qualified template name to the keys not supported error message
* update canton to 20240402.13019.v58aad7d4
tell-slack: canton
* align tink with canton's
---------
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com>
* update canton to 20240327.13000.vb4399545
tell-slack: canton
* remove dependencies as requested by Bazel
---------
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com>
* update canton to 20240326.12988.v061093f7
tell-slack: canton
* set PV=dev when config.devMode is true in the Canton fixture
* honor devVersionSupport in Sandbox.hs
* fix //language-support/ts/codegen/tests:build-and-lint-test
* explicitly set dev-version-support in the sequencer and mediator in Sandbox.hs
---------
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Co-authored-by: Paul Brauner <paul.brauner@digitalasset.com>
When we build a release, it is always a "past" commit - typically, one
that has already been tested twice: once when the corresponding PR was
run, and then again as a "main"-branch commit.
Release branches don't run, but their protection rules enforce linear
merges.
Either way, we know we're building a _good_ commit, and, assuming our
builds and tests are hermetic, testing that commit again when we make a
release is a pure waste of time and CPU resources.
The other case, where we make an ad-hoc release from a branch that has
not been merged, has a similar issue: we do not necessarily want to run
the full test suite, because part of the reason we need that commit may
be that it doesn't succeed as is.
Based on that observation, I wondered what might be the minimal set of
things we actually need to build when making a release. This PR is an
experiment in trying to find that out.
* add -fobject-code to fix da-ghci[d]
* stage everything for Sam :-)
* Staging up last changes for Sam - track pending requests & SMethod types
* Some cleanup, get vscode working again with full parsing
* Cleanup
* Add TODO notes
* First multiple SubIDE support
* Cleanup and polish initial multi-ide
* First version of cross IDE goto definition
* Small cleanup
* Update TODO
* Linting
* Fix shutdown logic for windows
* Update ghcide, fix merge warning
* Read multi-package.yaml
* First review comments addressed
* Second batch of fixes
* Penultimate batch of changes
* Add errors as shown messages
* Add client progress token prefixing
* Review/ci fixes
* Update ghcide to main
* Update comment
---------
Co-authored-by: Dylan Thinnes <dylan.thinnes@digitalasset.com>
This is an attempt to test whether the configuration in #18812 is
sufficient to successfully create a release, as I try to find out the
minimal set of things we need to explicitly build.
Note that by its very nature the ad-hoc release we're creating here will
reference a transient, ephemeral commit.
* update canton to 20240325.12966.v2a7db959
tell-slack: canton
* Remove enable-contract-upgrading flag from Canton runner
---------
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Co-authored-by: Tudor Voicu <tudor.voicu@digitalasset.com>
* Add buildifier targets.
The tool allows to check and format BUILD files in the repo.
To check if files are well formatted, run:
bazel run //:buildifier
To fix badly-formatted files run:
bazel run //:buildifier-fix
* Cleanup dade-copyright-headers formatting.
* Fix dade-copyright-headers on files with just the copyright.
* Run buildifier automatically on CI via 'fmt.sh'.
* Reformat all BUILD files with buildifier.
Excludes autogenerated Bazel files.