-
Notifications
You must be signed in to change notification settings - Fork 684
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
Add devcontainer for development purposes #7102
Conversation
bd1d48d
to
e2652d9
Compare
c47ce66
to
ca64edb
Compare
ca64edb
to
5bdf946
Compare
Codecov Report
@@ Coverage Diff @@
## main #7102 +/- ##
==========================================
- Coverage 93.23% 93.22% -0.01%
==========================================
Files 275 275
Lines 59485 59487 +2
==========================================
+ Hits 55458 55459 +1
- Misses 4027 4028 +1 |
4f0f212
to
099f272
Compare
@aytekinar please feel free to review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for great initiative to make it easy to contribute to project!
Adding ssh keys from host to container could also help us to run git from terminal. Otherwise, only option is to use UI login and operations. |
You will want to have a look at https://code.visualstudio.com/remote/advancedcontainers/sharing-git-credentials#_using-ssh-keys on how to do this. This needs to be done outside of the devcontainer. With ssh-agent running vscode will automatically forward the keys of your machine to the container. |
042cd2b
to
1d2dc5d
Compare
f9f08c8
to
04523ff
Compare
2e7524e
to
1170f01
Compare
CONTRIBUTING.md
Outdated
|
||
To quickly start we suggest splitting your terminal once to have two shells. The left one in the `/workspaces/citus`, the second one changed to `/data`. The left terminal will be used to interact with the project, the right one with a testing cluster. | ||
|
||
To get citus installed from source we run `make install -sj8` in the first terminal, adjust `j8` to suite to the number of cores you have available. Once installed you can start a Citus cluster in the second terminal via `citus_dev make citus`. The cluster will run in the background, and can be interacted with via `citus_dev`. To get an overview of the available commands. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably nicer to add export MAKEFLAGS="-j $(nproc)"
to bashrc/zshrc
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or probably even better. Adding it to our make file: https://stackoverflow.com/a/60413199/2570866
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have added it to .bashrc for now, and also use the same ENV for building postgres, to allow for higher parallelism on bigger boxes.
We can later evaluate if adding it to our makefile makes sense, since that's a change outside of the devcontainer scope. I tried to keep this change as isolated from the rest of the codebase as possible to make it easy for rubber stamping.
Also some minor cleanup of last items in the Dockerfile, like the timezone etc.
1170f01
to
c072915
Compare
This change adds a devcontainer configuration to the Citus project. This devcontainer allows for quick generation of isolated development environments, either local on the machine of a developer or in a cloud, like github codepaces. The devcontainer is updated automatically by github actions when its configuration changes. For more detailed instructions on how to quickstart the development in a container see CONTRIBUTING.md
This change adds a devcontainer configuration to the Citus project. This devcontainer allows for quick generation of isolated development environments, either local on the machine of a developer or in a cloud, like github codepaces.
The devcontainer is updated automatically by github actions when its configuration changes.
For more detailed instructions on how to quickstart the development in a container see CONTRIBUTING.md
FOR THE REVIEWERS: make sure that you open this branch when cloning the devcontainer. This requires not pasting in the github url, but instead go through the wizard step by step. eg. first selecting github, then selecting the repository, lastly selecting the branch.