* update canton to 20240122.12366.0.v932e06e9/3.0.0-snapshot.20240122.12366.0.v932e06e9
tell-slack: canton
* fix canton/BUILD.bazel
* fix the bootstrap scripts of the integration tests
---------
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Co-authored-by: Paul Brauner <paul.brauner@digitalasset.com>
* Rename canton-3x to canton
* fix build
* fix BuildInfo for canton 3
* add reference drivers as a runtime dep to community_domain
* target 2.1 in interface-choices-valid
* run damlc integration tests with LF2
* fix the repl tests
* fix repl-functests
* fix package manager test
* disable V1 scala integration tests
* port the scala canton fixture to canton3
* fix JsonApiIt, using sleeps :/
* fix test-daml-packages and test-daml-ledger under //daml-assistant/daml-helper
* fix integration tests
* fix QuickstartTest.hs
* fix //daml-script/export/integration-tests/reproduces-transactions:test
* fix //daml-script/runner:tests
* fix Daml3ScriptDevIT
* fix Daml2ScriptTestRunner
* remove sleeps in functests now that a delay has been added to daml3-script's allocateParty
* fix //language-support/java/codegen:ledger-tests
* fix ScalaCodeGenIT
* remove useless sleep
* fix //language-support/ts/codegen/tests:build-and-lint-test
* remove redundant sleep and fix daml script
* fix //daml-assistant/daml-helper:test-tls
* fix CommandClientIT
* fix //daml-assistant/daml-helper:test-deployment
* Remove duplicate contract key test: not supported by canton 3.
run-all-tests: true
* fix //language-support/hs/bindings:test
run-all-tests: true
* small cleanups
run-all-tests: true
* clean up and fix compat tests
* fix build after rebase
run-full-compat: true
run-all-tests: true
Why?
This is a terrible introductory application. We have no expertise in web
development (it's terribly outdated and we don't have the knowledge to
update it), so steering newcomers in that direction is disputable at
best. This example (and the associated documentation) spends more time
discussing (a very old version of) TypeScript than Daml. The use-case
presented is not one that showcases the strength of either the Daml
language or the underlying Canton ledger. It's not even a distributed
application as it assumes a single ledger.
At best, this template presents Daml as a DDL for simple wep API
definitions, but one where the resulting generated code provides no
support for authentication, external API calls, or any common
server-side tasks like sending emails.
Why now?
As we start working in parallel on 2.9 and 3.0, we are faced with the
perspective of having to do two weekly snapshots and thus having to test
both of them. Removing create-daml-app from the 3.0 branch alleviates
the testing burden quite a bit.
Daml 3.0 will be a long-term effort, and we have plenty of time to figure
out what should replace create-daml-app for this new version. If this
template was bad at showcasing Daml 2 strength, it's an even worse fit
for Daml 3.
Note that this PR removes a lot of additional tests, notably
compatibility ones. They live on in the main-2.x branch, where
compatibility tests also run.
* Remove //:sdk-version-hs-lib
* Add //sdk-version/hs:sdk-version-{class-,}lib
* Use //sdk-version/hs:sdk-version-{class-,}lib instead of //:sdk-version-hs-lib
* Fix //daml-assistant/daml-helper:test-deployment
* Fix da-hs-base.cabal
* Fix daml-project-config.cabal
* Move DA.Service.Logger.Impl.GCP out of da-hs-base
This means that da-hs-base no longer depends on sdk-version-class-lib, so users of the cabal file don't need to make any changes
* Move version data types out of daml-project-config
* Now //sdk-version/hs:sdk-version-class-lib depends on //libs-haskell/da-version-types
* back to the past (fmt.sh)
* yarn.lock changes to appease fmt.sh
* Multi package test scaffold and first batch
* Add next set of tests
* Rearrange, add source testing
* Explicit imports
* Install sdk in tests
* Blank setEnv is different to normal setEnv >:(
* Fix paths for windows
* Add daml.yaml changes tests (that fail)
* Update from comments, add sdk-version check
* Update tests to match changes to CLI behaviour
* Resolve release version for sdk build checks
* lint
* lint
run-full-compat: true
* Simple test for using daml-script in release versions
* Fix build issues in tests using pSdkVersion
run-full-compat: true
* Fix build issues with DamlcIntegration
* fix bad sdk version being an invalid version
run-full-compat: true
* Fix the linux "mmap 4096 bytes at (nil): Cannot allocate memory" error
* Fix compat tests on Windows
run-full-compat: true
* test windows os correctly
run-full-compat: true
* temporarily disable canton_3x
run-full-compat: true
---------
Co-authored-by: Paul Brauner <paul.brauner@digitalasset.com>
* Add --install-with-custom-version, rename --allow-install-non-release
* Test install tarball via custom version in compatibility tests
run-full-compat: true
* initial implementation supporting version splitting in assistant
stubbed out implementations of resolveReleaseVersion/other resolution
* implement resolveReleaseVersionFromGithub
* continue work on fixing SDK/release version split
* First commit that successfully runs `daml-head install <split version>`
* fix tests
* Ignore snapshot/metadata for isHeadVersion
* remove log debugging
* Fix tests for getSdk
* refactor DA.Daml.Project.Types.defaultSdkPath
* enable incremental changes to version cache
* Allow resolveReleaseVersionFromGithub to fail via Either
* Split getSdkVersionFromSdkPath into get{Sdk,Release}VersionFromSdkPath
* Add resolveReleaseVersionFromDamlPath/Github to resolveReleaseVersion
* Add mock sdk config with version
* Remove getInstalledSdkVersions dependency on Cache
* add override for github version api endpoint, useful for mocking
* Add alternate-download to provide alternate tarball install resolution
* initial work on comprehensive autotester
* Copyright header
* fix build generation to have valid Main.daml
* improve error message for check_daml_install_nonzero
* Make killing miniserve processes more robust
* remove breakpoint
* Implement `daml build` tests
* Solve TODO in installExtracted to resolve sourceSdkVersion coherently
Supply useful error message with it.
* Return SdkVersion from sdkVersionFromReleaseVersion for typechecking
* Finish tests for tarball build, drop installed_already_behaviour
* Try to force-reload cache on tar failure, fix `Possible fix:` notes
* Add AllowInstallNonRelease as a flag
* Test allow_nonrelease, refactor, clean up setup_sandbox
* Move no_cache_override_github_endpoint API response into file
* Remove dead code, vestigial code
* Remove TODOs that no longer are relevant
* fix iAllowInstallNonRelease in InstallOptions for autoInstall
* Refactor alternateVersionLocation
* (Try to) lint language-support/ts/codegen/BUILD.bazel
* fix daml-assistant/test
* Enable allow_nonrelease post-build checks
* Remove writeFile debugging from DA.Daml.Assistant.Version
* Replace ../test-daml-yaml-install/test.sh with test-all-installs.sh
* lint
* more lint
run-full-compat: true
* Stop tracking API response in test-daml-yaml-install
* Move ReleaseResolution into Version
* remove extra deps, fixes daml-project-config-cabal-file-matches
* Move InstallLocation to minimize changes to DA.Daml.Project.Types
run-full-compat: true
* Create cachePath in daml-assistant tests that need it
* Bind to unused ports in test-all-installs.sh
run-full-compat: true
* Override via files instead of just URLs
run-full-compat: true
* Remove unused RELEASES_ENDPOINT
* Use dict keys instead of hardcoding in test-all-installs listing
* Refactor to remove check_daml_install_from_tarball_after_cache_reload
* Improve comment on update_cache
* Move shift before cases
* Add comment for unsafeParseReleaseVersion
* Rename unsafeParseReleaseVersion into unsafeParseOldReleaseVersion
* remove done todo
* Add some hungarian notation to resolveReleaseVersionFromDamlPath
* drop redundant let
* Define ordering over ReleaseVersion
run-full-compat: true
* use sdkVersion for codegen
* Use `urls` attribute in http_file, `url` is unsupported on Windows (!)
run-full-compat: true
* Remove unnecessary check for cache reload
run-full-compat: true
* Try use daml executable directly without daml-sdk-0.0.0
run-full-compat: true
* try force daml.exe to daml
run-full-compat: true
* Use daml.exe when windows is detected
* add windows tarballs for snapshots
* Fix most tests on windows, "line too long" breaks some tarball tests
run-full-compat: true
* Point to more recent snapshot post Moises's fixes
* Add os-specific tarball paths and alternate-download
run-full-compat: true
* Fix windows autoinstall with 0.0.0
run-full-compat: true
* Fix error message, remove daml_install_output catching
* Detect "The input line is too long" in other post_failed commands
* Fix missing releases endpoint, handle "cannot find the path specified"
run-full-compat: true
* Automated renames by bash script
This commit is exclusively contains changes by the bash script.
For the bash script is present at the pull request.
* Manual pekko migration changes
* adapt fully qualified name references
* adapt pekko package declarations
* adapt bazel files with dependency changes
* adapt canton pekko lib shade_rule
* adapt logger configuration declarations
* pin maven dependencies
* revert incorrect changes by script to compatibility module
Workarounds for further TODOs:
* disable http-json-perf and libs-scala/gatling-utils modules to maintain clean pekko dependencies (without akka)
* disable GraphQLSchemaSpec test (sangria library needs to be upgraded)
* Formatting
* Add test-daml-version-and-install script, fix more updating issues
* Test `daml install`, improve checks for snapshots.txt
run-full-compat: true
* bring diff into scope for test-daml-version-and-install.sh
* Use runfiles to locate daml in test-daml-version-and-install.sh
* Bound versions.is_at_least("2.7.5") for test-daml-version-and-install.sh
run-full-compat: true
* Add logged diffing to diagnose issue
run-full-compat: true
* Add diff to data of test-daml-version-and-install.sh
run-full-compat: true
* Fix `daml install` call breaking - cache should still be refreshed
* Address minor issues: Daml 10.x.y matching, quoting, wrong comment
run-full-compat: true
* Drop printing
* Improve logging for test-daml-version-and-install.sh
* Fix undercased variable name DAML_CACHE, rerun CI
run-full-compat: true
* disable on windows
run-full-compat: true
* 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
- 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
* 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
* Extract available snapshot versions from Github
* Refactor slightly, add comments
* Implement caching
* Make getLatest commands query the minimum number of times from Github
* lint
* filter out prereleases, fix naming
* Fix outdated reference `extractVersionsFromSnapshots` to extractReleases
* Retrieve all versions so that getLatest can prune old versions' patches
* Hide --snapshots, --all, and --force-reload flags from daml version
* Get isPrerelease check correct way around
* Thread UseCache to `daml install` and other commands
* Refactor getEnvLatestStableSdkVersion to defer sdk version extraction
* store envLatestStableSdkVersion thunk in struct so tests can override it
* Read environment var early in getLatestStableSdkVersion
I implemented this with `overrideWithEnvVarMaybe`, but it required some
rather opaque abuse of `fmap pure`, `sequence`, and `join`
* Replace hidden with internal so flags don't show up in help