mit-dci / opencbdc-tx

A transaction processor for a hypothetical, general-purpose, central bank digital currency
Other
896 stars 198 forks source link

Unify `Dockerfile` and `configure.sh`, upgrade to LLVM 14, build LevelDB from source #162

Closed metalicjames closed 2 years ago

metalicjames commented 2 years ago

This PR:

  1. Removes the custom dependency installation instructions from the Dockerfile, using configure.sh instead.
  2. Ensures the docker image builds all dependencies in release mode.
  3. Upgrades LLVM to 14, and fixes issues raised by the upgraded clang-tidy. Disables the new readability-identifier-length check for now, as large parts of the codebase are not compliant (perhaps this should be an issue?). This is needed to support NOLINTBEGIN and NOLINTEND, which will be used in a subsequent PR.
  4. Simplifies configure.sh to remove the dependency cache, which I don't think is used in our current iteration of Github actions, or when building using docker.
  5. Builds LevelDB from source on all platforms.
  6. Fixes lint.sh regex to only include files with the *pp extension, rather than any file ending in pp.

This probably conflicts with #161.

HalosGhost commented 2 years ago

I really like a lot of the simplifications present in this. @jallen-frb can some/all of these simplifications be folded into (e.g., by rebasing your work on top of these commits) #161?

HalosGhost commented 2 years ago

Looks good to me. Will be testing locally shortly.

HalosGhost commented 2 years ago

tested ACK. This looks good and behaves well for me. My only question is about whether or not some of the proposed changes from #171 should be included here to minimize breakage potential.

metalicjames commented 2 years ago

@HalosGhost I think those changes probably make most sense to be included in #170. Since the snappy linkage issue doesn't seem to occur on Ubuntu or MacOS (which are the current supported platforms).

pr4u4t commented 2 years ago

@HalosGhost I think those changes probably make most sense to be included in #170. Since the snappy linkage issue doesn't seem to occur on Ubuntu or MacOS (which are the current supported platforms).

My build env is Arch Linux and snappy library package doesn't include static in opposite to ubuntu packages.