Commit Graph

147 Commits

Author SHA1 Message Date
nicu-da
bf239882f0
Update nix to include bazel fix for Monterey (#11929)
changelog_begin
changelog_end
2021-12-01 04:01:46 -08:00
Remy
b0dda53868
LF check stable proto with buf and md5sum. (#11888)
The resulting tests should be faster and more reliable

fixes #11443

CHANGELOG_BEGIN
CHANGELOG_END
2021-11-25 20:23:46 +00:00
Andreas Herrmann
39a38d3a37
Update to Java 11 (#11512)
* Update to Java 11

changelog_begin
changelog_end

* Fix RoundingMode deprecation warnings

* Fix dep-ann warning

* Integer constructor

* JavaX annotation dependency

* javax.xml.bind was removed in Java 11

Using Guava as a replacement, since it is already a project dependency.

* JDK 11 no longer has a separate JRE tree

* Remove unused jdk_nix import

* remove now redundant jdk11_nix

* Java 8 --> 9 increased Instant.now() precision

See https://bugs.openjdk.java.net/browse/JDK-8068730

The precision of `Instant.now()` increased between Java 8 and Java 9.
On Linux and MacOS this doesn't seem to be a problem, as the precision
still seems to be at micro seconds. However, on Windows this now causes
errors of the following form:
```
java.lang.IllegalArgumentException: Conversion of Instant
2021-11-05T13:58:56.726875100Z to microsecond granularity would result
in loss of precision.
```
Suggesting that it now offers sub-microsecond precision.

`TimestampConversion.instantToMicros` had a check to fail if the
conversion lead to a loss of precision. In the specific failing test
case this is not a concern, so this adds a `roundInstantToMicros`
variant that avoids this kind of error.

* TMP round timestamps

* Revert "TMP round timestamps"

This reverts commit af8e261278.

* Skip versions before 1.6.0 in migration tests

changelog_begin
changelog_end

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-11-18 14:48:37 +00:00
Moritz Kiefer
85979b3d77
Upgrade to Postgres 10 (#11751)
1.18 is out and we’re bumping our requirements to 10 for 2.0 so this
seems like a good time to make the switch.

changelog_begin
changelog_end
2021-11-18 10:03:01 +01:00
Moritz Kiefer
bb19c0de91
Drop Scala 2.12 support (#11619)
* Drop Scala 2.12 support

This only includes the CI/build system infrastructure
changes. Dropping compatibility layers from our code for 2.12 can be
done separately.

This is fine even in the context of backport builds since we already
disable the Scala 2.12 job for those anyway.

fixes #11315

changelog_begin
changelog_end

* Update bazel-java-deps.bzl

Co-authored-by: pbatko-da <pawel.batko@digitalasset.com>

Co-authored-by: pbatko-da <pawel.batko@digitalasset.com>
2021-11-17 18:38:43 +01:00
Moritz Kiefer
a3d04cafaf
Migrate matches-docs tests to sandbox on postgres (#11573)
* Migrate matches-docs tests to sandbox on postgres

We’ve seen timeouts on party allocation which are likely caused by the
h2 issues that keep popping up. Switching to postgres should hopefully
solve that.

We need to wrap postgres to set LOCALE_ARCHIVE for this to work in
builds. We already pass it through in tests which is why it works fine there.

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* Update nix/bazel.nix

Co-authored-by: Andreas Herrmann <42969706+aherrmann-da@users.noreply.github.com>

* disable on Windows

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

Co-authored-by: Andreas Herrmann <42969706+aherrmann-da@users.noreply.github.com>
2021-11-08 13:39:02 +00:00
Moritz Kiefer
92495b0662
Upgrade nixpkgs (#11490)
* Upgrade nixpkgs

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end
2021-11-02 15:52:55 +01:00
Moritz Kiefer
55d35e5521
Drop TLA+ from dev-env (#11492)
Our build definitely does not depend on it. If people need it for
something else they can get it from somewhere else.

changelog_begin
changelog_end
2021-11-01 20:45:38 +00:00
Andreas Herrmann
3eacbf9d67
Bazel cache retry on connection reset by peer (#11445)
changelog_begin
changelog_end

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-10-28 11:29:17 +00:00
Andreas Herrmann
c95db72e6c
Fix Bazel cache download retry (#11238)
* Stress test

* Fix Bazel cache download retry

changelog_begin
changelog_end

* Revert "Stress test"

This reverts commit b62f16c75a.

* Fix indentation

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-10-22 15:34:43 +00:00
Moisés Ackerman
0de7b2eae5
Use nix-provided gRPC on Unix-like OSs (#11031)
* Use nix-provided gRPC on Unix-like OSs

This fixes the da-ghcid command on macOS and Linux.

Unfortunately on macos at least on CI it still seems to segfault when
trying to run damlc in ghci. However, at least typechecking works
so this is clearly progress.

changelog_begin
changelog_end
2021-10-12 13:43:20 +02:00
nicu-da
ce24fc8679
Update scalafmt to 3.0.6 (#11178)
* Update scalafmt to 3.0.6

CHANGELOG_BEGIN

CHANGELOG_END

* Disable just docstring wrap for the new scalafmt version
2021-10-08 13:36:36 +00:00
Moritz Kiefer
9f88e0919f
Drop jdk8 override (#10963)
The comment here is no longer accurate, Nix upgraded since so we
actually pin an older version for no reason. Perhaps somewhat
ironically while Nix upgraded they left the comment in their
derivation to not upgrade because of jvmci.

changelog_begin
changelog_end
2021-09-21 15:56:32 +00:00
Andreas Herrmann
a1da025b78
FreePort draw from outside ephemeral port range (#10774)
* Test case for LockedFreePort not colliding with port 0

changelog_begin
changelog_end

* Discover dynamic port range on Linux

* Random port generator outside ephemeral range

* remove dev comments

* Draw FreePort from outside the ephemeral port range

Note, there is a race condition between the socket being closed and the
lock-file being created in LockedFreePort. This is not a new issue, it
was already present with the previous port 0 based implementation.

LockedFreePort handles this by attempting to find a free port and taking
a file lock multiple times.

But, it could happen that A `find`s port N, and obtains the lock, but
doesn't bind port N again, yet; then B binds port N during `find`; then
A attempts to bind port N before B could release it again and fails
because B still holds it.

* Select dynamic port range based on OS

* Detect dynamic port range on MacOS and Windows

* Import sysctl from Nix on MacOS

changelog_begin
changelog_end

* Windows line separator

* FreePort helpers visibility

* Use more informative exception types

* Use a more light weight unit test

* Add comments

* Fix Windows

* Update libs-scala/ports/src/main/scala/com/digitalasset/ports/FreePort.scala

Co-authored-by: Stefano Baghino <43749967+stefanobaghino-da@users.noreply.github.com>

* Update libs-scala/ports/src/main/scala/com/digitalasset/ports/FreePort.scala

Co-authored-by: Stefano Baghino <43749967+stefanobaghino-da@users.noreply.github.com>

* Add a comment to clarify the generated port range

* fmt

* unused import

* Split libs-scala/ports

Splits the FreePort and LockedFreePort components into a separate
library as this is only used for testing purposes.

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
Co-authored-by: Stefano Baghino <43749967+stefanobaghino-da@users.noreply.github.com>
2021-09-07 15:41:43 +02:00
akshayshirahatti-da
4525b8c265
[JSON-API] vanilla oracle_perf ci job (#10688)
* vanilla job test on main pipeline

changelog_begin
changelog_end

* move job to daily compat tests

* add timeout to dev-env and changes based on code review
2021-09-02 09:31:56 +01:00
fabiotudone-da
4a9331ca55
Upgrade Nixpkgs [KVL-1045] (#10624)
* Update the channels link in Upgrading.md

* Update the nixpkgs-unstable commit

CHANGELOG_BEGIN
CHANGELOG_END

* Fix new `hlint` warnings.

Co-authored-by: Samir Talwar <samir.talwar@digitalasset.com>
2021-08-20 12:34:19 +00:00
Robin Krom
0c1878530b
test: test for platform independent dars (#10535)
We add a CI test to check that dars don't depend on the underlying
operating system where the dar is build.

CHANGELOG_BEGIN
CHANGELOG_END
2021-08-17 18:59:12 +02:00
Samir Talwar
41e60f7302
Upgrade to Scala 2.12.14 and 2.13.6. (#10573)
* Upgrade to Scala 2.12.14.

* Upgrade Scala to 2.13.6.

CHANGELOG_BEGIN
CHANGELOG_END

* compability: Re-pin the Maven dependencies.
2021-08-12 14:25:53 +00:00
Miklos
4d1249390e
Introduce buf checks [KVL-980] (#10411)
CHANGELOG_BEGIN
CHANGELOG_END
2021-07-27 16:23:39 +02:00
Miklos
0eba812109
Remove trace_context field from Ledger API [KVL-1021] (#10256)
CHANGELOG_BEGIN
* [Integration Kit] Removed trace_context field from Ledger API and its bindings as we now have trace context propagation support via gRPC metadata. If you are constructing or consuming Ledger API requests or responses directly, you may need to update your code.
CHANGELOG_END
2021-07-15 19:06:25 +02:00
Moritz Kiefer
b7bb391981
Retry bazel cache up & downloads (#10156)
This is still a bit rough. It currently retries regardless of the
error (however, with an exponential backoff and a limit so not that
big of an issue, at worst we waste some time retrying). We also print
the exception to stderr which is a bit nasty but useful for debugging.

I did verify in logs that we hit the retry code path and that things
seem to be properly cached.

I’ll clean this up & upstream this to Bazel once we have verified for
a few days/weeks that it works well for us.

Reviewing patch files is nasty so I recommend to take a look at the
branch in my Bazel fork instead
https://github.com/cocreature/bazel/tree/cache-retry.

changelog_begin
changelog_end
2021-07-01 14:40:29 +02:00
Moritz Kiefer
a44afcff42
Upgrade nixpkgs (#9908)
* Upgrade nixpkgs

changelog_begin
changelog_end

* Upgrade Bazel on Windows

changelog_begin
changelog_end

* bump bazel hash

changelog_begin
changelog_end
2021-06-24 13:58:56 +00:00
Samir Talwar
e32856ecf4
dev-env: Use nix-shell for scripts instead of sourcing dade-common. (#10088)
* Introduce shell.nix to expose the Nix tooling, if required.

* dev-env: Rewrite the ghcide script to use nix-shell.

* language-support/hs: Use `nix-shell` for export-package.sh.

* Nix: Add a shebang to the Bazel wrapper script.

CHANGELOG_BEGIN
CHANGELOG_END

* dev-env: Standardize the `set` header in `ghcide`.
2021-06-23 09:39:00 +00:00
Samir Talwar
682c096d4f
dev-env: Remove some unused stuff. (#10087)
* dev-env: Replace `gpg` and `make` with symlinks.

* dev-env: Remove sphinx-autobuild. It's brought in by pipenv.

* dev-env: Remove Python 3.6 references. They seem to be unused.

CHANGELOG_BEGIN
CHANGELOG_END
2021-06-23 08:13:38 +00:00
Moritz Kiefer
b1738c7202
Switch Scala default to 2.13 (#9699)
changelog_begin
changelog_end
2021-05-17 15:04:53 +00:00
Moritz Kiefer
4aca199bbd
Upgrade to Scala 2.13.5 (#9528)
changelog_begin
changelog_end
2021-04-29 13:05:57 +00:00
Moritz Kiefer
bc4e00bada
Run Canton tests with JDK11 (#9355)
* Run Canton tests with JDK11

changelog_begin
changelog_end

* review comments

changelog_begin
changelog_end
2021-04-08 10:42:40 +02:00
Samir Talwar
6035840d8a
Upgrade Scala 2.12 to v2.12.13. (#9280)
* Upgrade Scala 2.12 to v2.12.13.

This is being pulled in anyway because of Maven/Gradle/etc's fun
"favor the most recent" resolution mechanism. The version of Akka we
depend upon transitively depends on Scala 2.12.13, so any downstream
consumers will see that as the Scala version required.

Bringing the Daml repo in line means no more confusion.

CHANGELOG_BEGIN
- [Scala Bindings] If you are using Daml on Scala 2.12, it now depends
  on Scala v2.12.13 (from v2.12.12).
CHANGELOG_END

* Scala 2.12.13 is the default version in our pinned version of nixpkgs.

* Upgrade Scala 2.13's Wartremover version.

* Rename `scala_version_rule` to `scala_version_configure`.

* Add a test case to ensure the Scala versions are the same everywhere.

* Add tests for the Scala JAR versions in maven_install_*.json

* gatling-utils: Change the sort order of the expected CSV in tests.

I don't know why this changed, but it seems to be stable.

* compatibility: `scala_version` -> `scala_version_configure`.

* Bazel: Disable the Scala version tests on Windows.

* compatibility: Upgrade Wartremover to Scala 2.12.13.
2021-03-30 11:02:18 +00:00
Moritz Kiefer
077d8da58f
Upgrade nixpkgs (#9248)
* Upgrade nixpkgs

changelog_begin
changelog_end

* ghc bump

changelog_begin
changelog_end

* more native buildinputs

changelog_begin
changelog_end

* Switch assignment

changelog_begin
changelog_end

* update lockfile

changelog_begin
changelog_end

* Revert "Switch assignment"

This reverts commit af6d25120b.
2021-03-26 21:26:40 +01:00
Gary Verhaegen
7c4b32aee9
use coreutils date on macos (#9228)
macOS uses BSD date by default which has slightly different options.

CHANGELOG_BEGIN
CHANGELOG_END
2021-03-24 13:35:02 +01:00
Moritz Kiefer
7ae28beff9
More Scala 2.13 cleanup (#8855)
This fixes Scaladoc and our pom file generation.

It also clears up the confusing error around gatling and removes a
redundant dependency on sbt (no idea why we had that in the first
place) both of which resulted in Scala 2.12 dependencies in our 2.13
lockfile which is obviously bad.

With this, we should now be ready to publish Scala 2.13 artifacts once
the ledger API test tool PR lands.

changelog_begin
changelog_end
2021-02-16 09:39:16 +00:00
Gary Verhaegen
0b937ed3e5
fix Nix warning (#8832)
Warning message references [this issue].

[this issue]: https://github.com/NixOS/nixpkgs/issues/108938

CHANGELOG_BEGIN
CHANGELOG_END
2021-02-12 12:52:42 +00:00
Moritz Kiefer
9dc3d2ace4
Upgrade to Bazel 4.0 (#8798)
* Upgrade to Bazel 4.0

changelog_begin
changelog_end

* Go back to default assignment

changelog_begin
changelog_end
2021-02-11 10:08:47 +01:00
Moritz Kiefer
b66f1ba269
Delete unused python36 nix derivations (#8795)
changelog_begin
changelog_end
2021-02-09 13:36:06 +01:00
Moritz Kiefer
773ddada04
Upgrade nixpkgs (#8190)
* Upgrade nixpkgs

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* No ibazel

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* Switch agent pool

changelog_begin
changelog_end

* .

* .

changelog_begin
changelog_end
2021-02-08 11:12:07 +00:00
Gary Verhaegen
24a39d4c55
remove dependency-check (#8744)
It relies on a Bintray URL, which is likely to break soon as Bintray
sunsets.

It's also not been referenced by anything in this repo since at least
open-sourcing, so the value it provides seems low. There's no
documentation of why it's here and what its planned usage was, but based
on the [project page](https://github.com/jeremylong/DependencyCheck) I
imagine it's been supplanted by BlackDuck now.

CHANGELOG_BEGIN
CHANGELOG_END
2021-02-04 09:36:33 +00:00
Moritz Kiefer
310f893fa7
Bump JVM on Darwin and force TLS 1.2 (#8697)
Details are in the comments but this seems to workaround the annoying
tls issues we have been dealing with for the past few days.

changelog_begin
changelog_end
2021-02-01 13:04:14 +00:00
Stefano Baghino
8ec9bc78dd
Add google-java-format to devenv as javafmt (#8687)
Add the https://github.com/google/google-java-format code formatting tool to dev-env.

Uses the name javafmt to call it, to mirror scalafmt.

Making it part of our checks will be done in a follow-up PR to make this easy to review.

changelog_begin
changelog_end
2021-01-29 13:59:26 +01:00
Moritz Kiefer
a07ab83fef
Remove grpc nix override (#8679)
We get grpc from Bazel everywhere now so no need to try to keep a nix
definition in sync.

changelog_begin
changelog_end
2021-01-29 10:37:18 +01:00
Moritz Kiefer
e0c5abd647
Switch to GHC 8.10.3 (#8394)
* Switch to GHC 8.10.3

changelog_begin
changelog_end

* Update bazel-haskell-deps.bzl

Co-authored-by: Andreas Herrmann <42969706+aherrmann-da@users.noreply.github.com>

* Comment on rules_haskell patch

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

Co-authored-by: Andreas Herrmann <42969706+aherrmann-da@users.noreply.github.com>
2021-01-25 11:53:53 +00:00
Gary Verhaegen
58e8b9c40f
remove dade-test-sh (#8479)
Looks like an unfinished attempt at automating the running of inexistent
bats/osht tests.

CHANGELOG_BEGIN
CHANGELOG_END
2021-01-12 17:09:36 +01:00
Gary Verhaegen
28d9cea05e
remove jfrog-cli (#8477)
As far as I can figure out, this has been unused since #5422.

CHANGELOG_BEGIN
CHANGELOG_END
2021-01-12 15:01:01 +00:00
Moritz Kiefer
22ce940954
Upgrade scalafmt and enable trailing commas (#8437)
This PR updates scalafmt and enables trailingCommas =
multiple. Unfortunately, scalafmt broke the version field which means
we cannot fully preserve the rest of the config. I’ve made some
attempts to stay reasonably close to the original config but couldn’t
find an exact equivalent in a lot of cases. I don’t feel strongly
about any of the settings so happy to change them to something else.

As announced, this will be merged on Saturday to avoid too many conflicts.

changelog_begin
changelog_end
2021-01-09 11:37:37 +01:00
Gary Verhaegen
a925f0174c
update copyright notices for 2021 (#8257)
* update copyright notices for 2021

To be merged on 2021-01-01.

CHANGELOG_BEGIN
CHANGELOG_END

* patch-bazel-windows & da-ghc-lib
2021-01-01 19:49:51 +01:00
Bernhard Elsner
d40f2493ab
Docs style alignment (#8074)
* Docs restyle WIP

* Minor color changes

* Adjust fonts and shadows

* Remove redundant local contents

* Further fixes to "In this Section"

* Restyle previous and next buttons

* Make visited link color blue

* Top-level nav

* Change how anchors are underlined

* Fix header spacing

* Improve tables

* Improve search results

* Improve copy button

Match sphinx versions between dev-env and bazel

* Copy button and code block fixes

* Fix copy button z-index

* Making things reactive

* Make the title spacing work on mobile & tablet

* Pixel adjustment for S3 hosting

* Spacing and font-size fixes

* Fix content menu for tablet

* Tidy up menu indentation

* Reorder Mobile Menu

* Move unified nav up

CHANGELOG_BEGIN
[Docs] New styling
CHANGELOG_END

* Remove non-free fonts

* Fix button padding

* Fix spacing above first h2

* Fix pixel adjustment of h1 line

* Fix menu click effects and antialiasing

* Pixel adjust h1 line once more
2020-11-30 17:16:26 +00:00
Moritz Kiefer
4e39e6163b
Get lsof from dev-env (#8064)
On MacOS we don’t seem to have lsof by default which disables our
sandbox cleanup for stray instances.

changelog_begin
changelog_end
2020-11-25 14:43:37 +00:00
Samir Talwar
1ab14c2232
dev-env: Add xargs. (#7769)
We use `xargs` a lot but rely on the version on the user's system.

This adds it to dev-env so it's consistent everywhere.

If nothing else, this means we can safely use the `--no-run-if-empty`
flag, which is not available on BSD (and therefore macOS) `xargs`.

CHANGELOG_BEGIN
CHANGELOG_END
2020-10-21 13:00:19 +00:00
Stephen Compall
1a2afd5266
upgrade to Scala 2.12.12 from 2.12.11 (#7661)
* upgrade bazel settings to scala 2.12.12

* upgrade nix scala tool to scala 2.12.12

* upgrade silencer references to scala 2.12.12

* repin for scala 2.12, silencer, wartremover upgrades

* remove numerous occurrences of unused silencer now spotted

* update Scala version in our bazel notes

CHANGELOG_BEGIN
CHANGELOG_END

* update compatibility maven_install.json to match compatibility WORKSPACE
2020-10-13 08:42:14 -04:00
Samir Talwar
929c2216c2
nix: Pin scala to v2.12.11, the same version we use in Bazel. (#7379)
The version in nixpkgs is v2.12.10, which means that the Scala REPL we
used was not the same version as we use in our code.

CHANGELOG_BEGIN
CHANGELOG_END
2020-09-11 09:58:29 +00:00
Samir Talwar
f0e09c54b1
DAML on SQL: Renaming to "DAML for PostgreSQL", Markdown README, and further tweaks. (#7160)
* daml-on-sql: Formatting fixes for the README.

* daml-on-sql: Rename to "DAML on PostgreSQL" within the README.

CHANGELOG_BEGIN
CHANGELOG_END

* daml-on-sql: Format README to make Markdown conversion nicer.

Markdown conversion:

    pandoc --reference-links --reference-location=section -t markdown+backtick_code_blocks-fenced_code_attributes -o ledger/daml-on-sql/README.md ledger/daml-on-sql/README.rst && sed -i 's/\\//g' ledger/daml-on-sql/README.md

* daml-on-sql: It's "DAML for PostgreSQL", not "on PostgreSQL" now.

* daml-on-sql: Generate a Markdown README with a script.

This is easier to parse by human beings than the reStructuredText.

* daml-on-sql: Reflow the README and manipulate whitespace a little.
2020-08-18 11:50:45 +00:00