-
Notifications
You must be signed in to change notification settings - Fork 9
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
Docker for compiling, linting, and testing #41
Open
StanleyTang17
wants to merge
44
commits into
main
Choose a base branch
from
feature/infra/docker
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DerekTang04
reviewed
Mar 31, 2024
StanleyTang17
changed the title
Docker for compiling and linting
Docker for compiling, linting, and testing
Apr 1, 2024
DerekTang04
reviewed
Apr 7, 2024
DerekTang04
reviewed
May 3, 2024
AarjavPatni
force-pushed
the
feature/infra/docker
branch
from
May 20, 2024 01:11
e4c6126
to
37f45db
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
What was completed, changed, or updated?
Added Docker for compiling, linting, and testing. Configured linting options and refactored tools script.
Files changed/added:
README.md
- added instructions on how to use Docker.gitignore
- added ignore path for Docker linting output folder.clang-tidy
- configured clang-tidy linting rules.clang-format
- configured clang-format styling rules.github/workflows/compile_test.yaml
- modified to compile using the Docker script.github/workflows/unit_test.yaml
- modified to run tests using the Docker scripttools/Dockerfile
- Docker file for building the Docker imagetools/run_docker.bash
- Docker script for Linux and MacOStools/run_docker.ps1
- Docker script for Windowstools/configs/compile_config.txt
- default compile configurationstools/configs/lint_config.txt
- default lint configurationstools/configs/static_analysis_ignore.txt
- paths to files/folders that should be ignored by code linting (clang-tidy, clang-format, cppcheck)tools/configs/test_config.txt
- default test configurationstools/scripts/clang-tidy.bash
- script that runs clang-tidy in the Docker containertools/scripts/clang-format.bash
- script that runs clang-format in the Docker containertools/scripts/cppcheck.bash
- script that runs cppcheck in the Docker containertools/scripts/static_analysis_files.bash
- helper script that returns all files to be lintedtools/scripts/build.bash
- helper script for building ZP binary and tests, derived fromtools.bash
tools/scripts/test.bash
- helper script for running tests, derived fromtools.bash
Files removed:
Tools/tools.bash
- split intobuild.bash
andtest.bash
Tools/tools.ps1
- removed since we are moving to the docker envrionmentTools/default_config.txt
- split intocompile_config.txt
andtest_config.txt
Why was this done (if applicable)?
We decided to use Docker to create a user-friendly development workflow across all platforms. Linting rules were set to lint the code against our coding style standards. See Style Guidelines and clang-tidy/clang-format Rules in the PR for more details.
The
Tools
folder has also been renamed to conform to our newest naming conventions and restrucutred for better organization.Testing
What manual tests were used to validate the code?
Manually ran all the docker script options and verified output.
What unit tests were used to validate the code?
N/A. This is an infra change.
Documentation
Milestone number and name: N/A
Link to Asana task:
https://app.asana.com/0/1203458353737758/1206459190171398/f
https://app.asana.com/0/1203458353737758/1206459190497129/f
https://app.asana.com/0/1203458353737758/1206459190171400/f
https://app.asana.com/0/1203458353737758/1207360178600434/f
Link to Confluence documentation:
Ugh, I don't have docs on these changes yet. At the very least, I need to add Docker instructions to our development environment setup page, but do I need to create detailed pages explaining how Docker and the scripts in this PR works as well? or would adding comments in the scripts suffice?
Reminders
Style Guidelines and clang-tidy/clang-format Rules
Column Width Per Line
clang-format rule:
Variables
clang-tidy rule:
Constants
clang-tidy rule:
Pointers
clang-format rule:
Classes
clang-tidy rule:
clang-format rule:
Member Variables
clang-tidy rules:
Constructors
clang-format rules:
Structs
clang-tidy rules:
Enums
clang-tidy rules:
Case Statements
clang-format rules:
Block Statement Braces
clang-format rule: