-
Notifications
You must be signed in to change notification settings - Fork 3.4k
ci: add jazzy docker build process in current ci pipeline #6453
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
base: main
Are you sure you want to change the base?
ci: add jazzy docker build process in current ci pipeline #6453
Conversation
|
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
6c7952e to
fd9d888
Compare
fd9d888 to
cb4d77c
Compare
|
hi fatih san @xmfcx |
69e7de5 to
8b735dd
Compare
c46aaf6 to
4283e8b
Compare
b26bfcc to
c9026cc
Compare
|
mits san @mitsudome-r |
|
|
setup-dev-env.sh
Outdated
| if ! (python3 -m pipx --version >/dev/null 2>&1); then | ||
| sudo apt-get -y update | ||
| python3 -m pip install --user pipx | ||
| python3 -m pip install --user pipx --break-system-packages |
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.
adding --break-system-packages would cause error in Ubuntu22.04 with the following error message:
no such option: --break-system-packages
Instead, we can set PIP_BREAK_SYSTEM_PACKAGES=1.
Same applies to all the other places.
| python3 -m pip install --user pipx --break-system-packages | |
| PIP_BREAK_SYSTEM_PACKAGES=1 python3 -m pip install --user pipx |
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.
https://pipx.pypa.io/stable/installation/
On Linux:
Ubuntu 23.04 or above
sudo apt update
sudo apt install pipx
pipx ensurepath
Breaking system packages is a very bad idea, we should avoid this by either utilizing apt packages or a virtualized python env like miniconda or venv.
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.
Okay, then I think we can use apt install
| python3 -m pip install --user pipx --break-system-packages | |
| sudo apt install pipx |
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.
| python3 -m pip install --user pipx --break-system-packages | |
| UBUNTU_VERSION=$(lsb_release -rs) | |
| echo "Detected Ubuntu version: $UBUNTU_VERSION" | |
| if [[ "$UBUNTU_VERSION" == "22.04" ]]; then | |
| echo "Installing pipx using pip (for Ubuntu 22.04)..." | |
| python3 -m pip install --user pipx | |
| else | |
| echo "Installing pipx using apt (for Ubuntu > 22.04)..." | |
| sudo apt update | |
| sudo apt install -y pipx | |
| fi |
To keep compatibility with older version.
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.
Do we need to keep the old one? We should be able to install pipx with apt for Ubuntu22.04 as well.
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 double check that ubuntu 22.04 support apt install pipx,
I will update this file to use sudo apt install pipx for both ubuntu version
| echo " --download-artifacts" | ||
| echo " Download artifacts" | ||
| echo " --module Specify the module (default: all)" | ||
| echo " --ros-distro Specify ROS distribution (humble or jazzy, default: humble)" |
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.
Where is this argument used?
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 don't think we currently use this option, but we might need it in order to specify correct environment variables to use as I commented here: https://github.com/autowarefoundation/autoware/pull/6453/files#r2409550184
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 your review mits san and fatih san
1.ros-distro here is used to indicate which env file to use
1.1 when doing automatic github action , the pipe will give setup-dev-env.sh the right ros-distro to choose specific env file
1.2 when developer manully config their local env , they have to use ./setup-dev-env.sh --ros-distro jazzy to tell the script which env file to read

amd64.env
Outdated
| @@ -1,8 +1,17 @@ | |||
| rosdistro=humble | |||
| # ROS distribution (humble or jazzy) | |||
| rosdistro=${ROS_DISTRO:-humble} | |||
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.
ROS_DISTRO is usually set after we install ROS, but this file is actually used to install ROS with ansible script.
We could consider having amd64.jazzy.env instead for this file.
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 your review mits san
1.i have added the amd64.jazzy.env according to your comment
2.ros-distro here is used to indicate which env file to use
|
I've also noticed that we have to update universe playbook to have the following modifications:
I had to update ansible version as well. |
c59058d to
2380e2c
Compare
|
d46c9a9 to
062cc2e
Compare
|
there are still some ci issue, i wil fix them one by one ASAP |
062cc2e to
f6d75b6
Compare
Signed-off-by: liuXinGangChina <[email protected]>
…d file system, using existing files rather than adding new files Signed-off-by: liuXinGangChina <[email protected]>
…d file system, add docker build pipe line to github action Signed-off-by: liuXinGangChina <[email protected]>
Signed-off-by: liuXinGangChina <[email protected]>
… universe playbook in ansible Signed-off-by: liuXinGangChina <[email protected]>
f6d75b6 to
698681a
Compare


Description
in order to prepare a ci pipeline for core jazzy support issue link
we have to create a jazzy-core-common-devel docker image for core‘s ci
thus we made these modification
How was this PR tested?
in my local env i successfully creat a jazzy related docker image using ' docker buildx bake --file docker/xxx xxx --progress=plain '

Notes for reviewers
None.
this pr only focus on core-jazzy ci pipeline not contain
Effects on system behavior
None.
i made modification with jazzy-condition switch to ensure original humble docker pipeline not be affacted