-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Enhance contribution setup docs with streamlined commands #4181
base: rolling
Are you sure you want to change the base?
Conversation
As an individual contributor to this open-source project, I noticed an opportunity to enhance the contributor experience by simplifying the initial setup instructions within our documentation. This commit aims to lower the entry barrier for new contributors by providing a concise, all-in-one command sequence that facilitates the setup process. Key Updates: - Introduced a command for cloning the repository, ensuring newcomers start off on the right foot without having to navigate through multiple setup steps. - Integrated the PATH environment variable update (`~/.local/bin`) within the setup commands to eliminate the need for manual configuration, making the environment preparation seamless. - Combined cloning, environment setup, and dependencies installation into a singular command. This change is designed to make the first-time setup as straightforward as possible, aligning with our project's goal of being accessible and welcoming to new contributors. Rationale: The motivation behind these changes is to simplify the contribution process, making it more appealing and less daunting for individuals looking to contribute to our project. By streamlining the setup instructions, we hope to encourage a broader range of contributions and foster a more inclusive community. Signed-off-by: Victor Boyd <[email protected]>
|
||
.. code-block:: console | ||
|
||
git clone https://github.com/ros2/ros2_documentation.git |
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.
If you want to contribute, you should fork, then clone your fork. To be able to push, you need to use ssh cloning.
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 am not sure if we want to introduce how to create pull request here? in general https://docs.ros.org/en/rolling/The-ROS2-Project/Contributing/Developer-Guide.html#change-control-process looks good enough for me? besides, that is the common process for any ROS 2 repositories.
here i believe that adding explanation where requirements.txt
is located is better for user document. i think using mainline would be just fine as example build process here.
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.
Agree, I don't think every open source repository needs to explain how to use Github and forks to contribute code.
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.
@Victor-Boyd thank you for the PR, i have a couple of comments.
|
||
.. code-block:: console | ||
|
||
git clone https://github.com/ros2/ros2_documentation.git |
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 am not sure if we want to introduce how to create pull request here? in general https://docs.ros.org/en/rolling/The-ROS2-Project/Contributing/Developer-Guide.html#change-control-process looks good enough for me? besides, that is the common process for any ROS 2 repositories.
here i believe that adding explanation where requirements.txt
is located is better for user document. i think using mainline would be just fine as example build process here.
export PATH="~/.local/bin:$PATH" && pip3 install --user --upgrade -r requirements.txt | ||
|
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.
if we want to add export
, other platform command lines should be updated accordingly?
export PATH="~/.local/bin:$PATH" && pip3 install --user --upgrade -r requirements.txt | |
export PATH="~/.local/bin:$PATH" && pip3 install --user --upgrade -r requirements.txt |
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.
On Ubuntu 22, it's already part of ~/.profile
.
cat ~/.profile
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
https://askubuntu.com/questions/1144231/home-local-bin-not-in-path-for-ubuntu-19-04
Here's a dockerfile to demonstrate:
FROM ubuntu:22.04
ARG DOCKER_USER=ryan
#RUN useradd -ms /bin/bash ${DOCKER_USER} -g root -G sudo
RUN apt-get update && apt-get install sudo
RUN adduser --disabled-password --gecos '' ${DOCKER_USER}
USER ${DOCKER_USER}
WORKDIR /home/${DOCKER_USER}
CMD ["whoami"]
docker build . -t docs
docker run -w /home/ryan --net host -it docs bash
cat ~/.profile
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.
For what it is worth, I don't think it is a good idea for us to be suggesting people use export PATH=~/.local/bin:$PATH
. That will almost inevitably lead to people filing bugs because we "broke" their system, and also will not work on Windows. Instead I'd much rather we say something like Use /path/to/sphinx, where sphinx might be in ~/.local/bin
.
As an individual contributor to this open-source project, I noticed an opportunity to enhance the contributor experience by simplifying the initial setup instructions within our documentation. This commit aims to lower the entry barrier for new contributors by providing a concise, all-in-one command sequence that facilitates the setup process.
Key Updates:
~/.local/bin
) within the setup commands to eliminate the need for manual configuration, making the environment preparation seamless.Rationale:
The motivation behind these changes is to simplify the contribution process, making it more appealing and less daunting for individuals looking to contribute to our project. By streamlining the setup instructions, we hope to encourage a broader range of contributions and foster a more inclusive community.