Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 5 commits into from
Sep 9, 2022

Conversation

metalicjames
Copy link
Member

@metalicjames metalicjames commented Aug 19, 2022

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
Copy link
Collaborator

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?

Copy link
Collaborator

@HalosGhost HalosGhost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

untested ACK.

I only have one question (which isn't specific to a change included in this PR, but rather a question if we can improve a single line of code this this PR touches) made inline.

scripts/configure.sh Outdated Show resolved Hide resolved
@HalosGhost HalosGhost self-requested a review September 8, 2022 18:49
@HalosGhost
Copy link
Collaborator

Looks good to me. Will be testing locally shortly.

@HalosGhost
Copy link
Collaborator

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
Copy link
Member Author

@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).

Copy link
Collaborator

@HalosGhost HalosGhost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Solid improvement and simplification to the docker instrumentation by leveraging tooling we already have. And, as a bonus, it unifies more dependencies across platforms and updates LLVM.

Does what it says on the tin. Looks good to me.

@HalosGhost HalosGhost merged commit 4a4c82f into mit-dci:trunk Sep 9, 2022
@pr4u4t
Copy link

pr4u4t commented Sep 9, 2022

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants