Skip to content

Switch native_full_build container to ubuntu:22.04#186

Closed
scthunderbolt wants to merge 7 commits intodevelopfrom
feature/coverity-integration
Closed

Switch native_full_build container to ubuntu:22.04#186
scthunderbolt wants to merge 7 commits intodevelopfrom
feature/coverity-integration

Conversation

@scthunderbolt
Copy link
Contributor

No description provided.

Copilot AI review requested due to automatic review settings January 15, 2026 10:35
@scthunderbolt scthunderbolt requested a review from a team as a code owner January 15, 2026 10:35
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request updates the CI/CD workflow to use a standard Ubuntu 22.04 container instead of the custom ghcr.io/rdkcentral/docker-rdk-ci:latest image. To compensate for dependencies that were previously bundled in the custom image, the PR adds explicit installation of Python 3, pip, CMake, and CUnit libraries to the build_dependencies.sh script.

Changes:

  • Switch GitHub Actions container from custom docker-rdk-ci image to ubuntu:22.04
  • Add explicit installation of python3, python3-pip, cmake, and libcunit packages

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
.github/workflows/native_full_build.yml Simplified container specification to use ubuntu:22.04
build_dependencies.sh Added installation commands for dependencies previously provided by docker-rdk-ci image

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 13 to 17
apt install -y python3
apt install -y python3-pip
apt install -y cmake
apt install -y libcunit1 libcunit1-doc libcunit1-dev
apt install -y ninja-build meson curl libsoup2.4-dev libxml2-dev libglib2.0-dev gobject-introspection libgirepository1.0-dev libgtk-3-dev valac pandoc
Copy link

Copilot AI Jan 15, 2026

Choose a reason for hiding this comment

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

Multiple separate apt install commands are inefficient as each invocation updates the package database. Combine these into a single apt install command to reduce installation time and improve build performance.

Suggested change
apt install -y python3
apt install -y python3-pip
apt install -y cmake
apt install -y libcunit1 libcunit1-doc libcunit1-dev
apt install -y ninja-build meson curl libsoup2.4-dev libxml2-dev libglib2.0-dev gobject-introspection libgirepository1.0-dev libgtk-3-dev valac pandoc
apt install -y python3 python3-pip cmake libcunit1 libcunit1-doc libcunit1-dev ninja-build meson curl libsoup2.4-dev libxml2-dev libglib2.0-dev gobject-introspection libgirepository1.0-dev libgtk-3-dev valac pandoc

Copilot uses AI. Check for mistakes.
Copilot AI review requested due to automatic review settings January 15, 2026 10:46
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 13 to 19
apt install -y git
apt install -y python3
apt install -y python3-pip
apt install -y cmake
apt install -y libcunit1 libcunit1-doc libcunit1-dev
apt install -y libcurl4-openssl-dev
apt install -y ninja-build meson curl libsoup2.4-dev libxml2-dev libglib2.0-dev gobject-introspection libgirepository1.0-dev libgtk-3-dev valac pandoc
Copy link

Copilot AI Jan 15, 2026

Choose a reason for hiding this comment

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

Multiple separate apt install commands are inefficient as each invocation runs dependency resolution and package installation separately. Combine these into a single apt install command to improve build performance and reduce script execution time.

Suggested change
apt install -y git
apt install -y python3
apt install -y python3-pip
apt install -y cmake
apt install -y libcunit1 libcunit1-doc libcunit1-dev
apt install -y libcurl4-openssl-dev
apt install -y ninja-build meson curl libsoup2.4-dev libxml2-dev libglib2.0-dev gobject-introspection libgirepository1.0-dev libgtk-3-dev valac pandoc
apt install -y git python3 python3-pip cmake \
libcunit1 libcunit1-doc libcunit1-dev \
libcurl4-openssl-dev \
ninja-build meson curl libsoup2.4-dev libxml2-dev libglib2.0-dev \
gobject-introspection libgirepository1.0-dev libgtk-3-dev valac pandoc

Copilot uses AI. Check for mistakes.
apt install -y libcunit1 libcunit1-doc libcunit1-dev
apt install -y libcurl4-openssl-dev
apt install -y ninja-build meson curl libsoup2.4-dev libxml2-dev libglib2.0-dev gobject-introspection libgirepository1.0-dev libgtk-3-dev valac pandoc
pip install jsonref
Copy link

Copilot AI Jan 15, 2026

Choose a reason for hiding this comment

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

Using pip without specifying python3 is deprecated in Ubuntu 22.04 and may fail or use the wrong Python version. Change this to 'pip3 install jsonref' to explicitly use Python 3's pip.

Suggested change
pip install jsonref
pip3 install jsonref

Copilot uses AI. Check for mistakes.
Copilot AI review requested due to automatic review settings January 15, 2026 11:03
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 13 to 14
apt install -y git python3 python3-pip cmake libcunit1 libcunit1-doc libcunit1-dev libcurl4-openssl-dev
apt install -y ninja-build meson curl libsoup2.4-dev libxml2-dev libglib2.0-dev gobject-introspection libgirepository1.0-dev libgtk-3-dev valac pandoc
Copy link

Copilot AI Jan 15, 2026

Choose a reason for hiding this comment

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

The long list of packages on a single line reduces readability. Consider splitting this into multiple lines using backslash continuation or separate apt install commands for better maintainability. This would make it easier to review, modify, and understand which categories of dependencies are being installed.

Suggested change
apt install -y git python3 python3-pip cmake libcunit1 libcunit1-doc libcunit1-dev libcurl4-openssl-dev
apt install -y ninja-build meson curl libsoup2.4-dev libxml2-dev libglib2.0-dev gobject-introspection libgirepository1.0-dev libgtk-3-dev valac pandoc
apt install -y \
git \
python3 \
python3-pip \
cmake \
libcunit1 \
libcunit1-doc \
libcunit1-dev \
libcurl4-openssl-dev
apt install -y \
ninja-build \
meson \
curl \
libsoup2.4-dev \
libxml2-dev \
libglib2.0-dev \
gobject-introspection \
libgirepository1.0-dev \
libgtk-3-dev \
valac \
pandoc

Copilot uses AI. Check for mistakes.
Comment on lines 12 to 14
apt update
apt install -y git python3 python3-pip cmake libcunit1 libcunit1-doc libcunit1-dev libcurl4-openssl-dev
apt install -y ninja-build meson curl libsoup2.4-dev libxml2-dev libglib2.0-dev gobject-introspection libgirepository1.0-dev libgtk-3-dev valac pandoc
Copy link

Copilot AI Jan 15, 2026

Choose a reason for hiding this comment

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

When using apt in non-interactive environments like Docker/CI, it's recommended to use 'apt-get' instead of 'apt' for better stability and to avoid warnings. The apt command is intended for interactive use and may change behavior between versions. Consider using 'apt-get update' and 'apt-get install -y' instead.

Suggested change
apt update
apt install -y git python3 python3-pip cmake libcunit1 libcunit1-doc libcunit1-dev libcurl4-openssl-dev
apt install -y ninja-build meson curl libsoup2.4-dev libxml2-dev libglib2.0-dev gobject-introspection libgirepository1.0-dev libgtk-3-dev valac pandoc
apt-get update
apt-get install -y git python3 python3-pip cmake libcunit1 libcunit1-doc libcunit1-dev libcurl4-openssl-dev
apt-get install -y ninja-build meson curl libsoup2.4-dev libxml2-dev libglib2.0-dev gobject-introspection libgirepository1.0-dev libgtk-3-dev valac pandoc

Copilot uses AI. Check for mistakes.
@scthunderbolt scthunderbolt mentioned this pull request Jan 15, 2026
Copilot AI review requested due to automatic review settings January 15, 2026 12:18
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -9,9 +9,28 @@ cd ${GITHUB_WORKSPACE}
# # #############################
#1. Install Dependencies and packages

Copy link

Copilot AI Jan 15, 2026

Choose a reason for hiding this comment

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

Consider setting DEBIAN_FRONTEND=noninteractive before running apt-get commands to prevent interactive prompts during package installation in CI environments. This can be done by adding export DEBIAN_FRONTEND=noninteractive before the apt-get commands or by prefixing the commands with the environment variable.

Suggested change
export DEBIAN_FRONTEND=noninteractive

Copilot uses AI. Check for mistakes.
Comment on lines +13 to +32
apt-get install -y \
git \
python3 \
python3-pip \
cmake \
libcunit1 \
libcunit1-doc \
libcunit1-dev \
libcurl4-openssl-dev \
ninja-build \
meson \
curl \
libsoup2.4-dev \
libxml2-dev \
libglib2.0-dev \
gobject-introspection \
libgirepository1.0-dev \
libgtk-3-dev \
valac \
pandoc
Copy link

Copilot AI Jan 15, 2026

Choose a reason for hiding this comment

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

The build-essential package (or at minimum make and g++) is missing from the package installation list. The build scripts use make (in cov_build.sh line 13 and Makefile) and g++ (in build_dependencies.sh lines 145-146). Without these tools, the build will fail. Add build-essential to the apt-get install command.

Copilot uses AI. Check for mistakes.
Comment on lines +13 to +32
apt-get install -y \
git \
python3 \
python3-pip \
cmake \
libcunit1 \
libcunit1-doc \
libcunit1-dev \
libcurl4-openssl-dev \
ninja-build \
meson \
curl \
libsoup2.4-dev \
libxml2-dev \
libglib2.0-dev \
gobject-introspection \
libgirepository1.0-dev \
libgtk-3-dev \
valac \
pandoc
Copy link

Copilot AI Jan 15, 2026

Choose a reason for hiding this comment

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

The pkg-config package should be added to the installation list. It is commonly required by meson and cmake build systems to locate library dependencies, especially for the GTK and GNOME libraries being installed (libglib2.0-dev, libgtk-3-dev, etc.). While it might be installed as a transitive dependency, explicitly including it ensures more reliable builds.

Copilot uses AI. Check for mistakes.
Comment on lines +13 to +32
apt-get install -y \
git \
python3 \
python3-pip \
cmake \
libcunit1 \
libcunit1-doc \
libcunit1-dev \
libcurl4-openssl-dev \
ninja-build \
meson \
curl \
libsoup2.4-dev \
libxml2-dev \
libglib2.0-dev \
gobject-introspection \
libgirepository1.0-dev \
libgtk-3-dev \
valac \
pandoc
Copy link

Copilot AI Jan 15, 2026

Choose a reason for hiding this comment

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

The build script uses the patch command (lines 82, 101-104 of build_dependencies.sh) but patch is not included in the package installation list. Add patch to the apt-get install command to ensure patches can be applied successfully.

Copilot uses AI. Check for mistakes.
@scthunderbolt
Copy link
Contributor Author

Superseded by PR 187

@github-actions github-actions bot locked and limited conversation to collaborators Jan 21, 2026
@scthunderbolt scthunderbolt deleted the feature/coverity-integration branch January 21, 2026 14:36
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant