RDKB-66116 : use freedesktop dbus-1.14 and gate native-build/CodeQL by source paths - #31
RDKB-66116 : use freedesktop dbus-1.14 and gate native-build/CodeQL by source paths#31pavankumar464 wants to merge 18 commits into
Conversation
Reason for change: Address PRs native builds failing in the javascript-templates Test Procedure: PRs native builds should pass for javascript-templates Risks: Low Priority: P2
There was a problem hiding this comment.
Pull request overview
Updates the dbus external dependency reference used by the native build/Coverity docker workflow to a specific Deepin branch, with the goal of fixing PR native build failures.
Changes:
- Pin
dbusdependency frommasterto1.14.10-3-1deepin3in the component configuration.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
cov_docker_script/component_config.json:79
- Inconsistent JSON formatting: other entries use "branch": without a space before the colon. Since this line is being changed anyway, please align it for consistency.
"branch" : "dbus-1.14",
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (2)
.github/workflows/native-build.yml:63
- The PR build is gated on
has_component, but thecomponentfilter only matchessource/**/*. Changes to build inputs likecov_docker_script/component_config.json(this PR) or workflow/build scripts will sethas_componentto false and skip the native build on pull requests, preventing CI from validating these changes.
filters: |
component:
- 'source/**/*'
cpp:
.github/workflows/native-build.yml:45
- The PR title/description indicates this change is only about switching the dbus repo/branch, but this workflow also adds CodeQL scanning and new PR build gating logic. Please update the PR description to reflect these additional CI/analysis changes so reviewers understand the full scope.
detect-source-changes:
name: Detect source path changes for CodeQL
runs-on: ubuntu-latest
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (1)
.github/workflows/native-build.yml:63
componentchange filter is too narrow: PRs that only touch build configuration/scripts (e.g.cov_docker_script/component_config.json) will sethas_componentto false, skipping the native build job even though the build behavior changed. Include the build config/script paths (and optionally this workflow) in thecomponentfilter so the build still runs when its inputs change.
component:
- 'source/**/*'
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (2)
.github/workflows/native-build.yml:89
build-jst-on-pris gated byhas_component, but thecomponentfilter only matchessource/**/*. That means PRs that change build-critical files (e.g.,CMakeLists.txt,configure.ac,cov_docker_script/component_config.json, or this workflow) will skip the native build, reducing CI coverage and making it easy to merge build-breaking changes.
component:
- 'source/**/*'
.github/workflows/native-build.yml:202
- The JS paths filter includes
tests/**/*.js, but the CodeQL JS config limits analysis totests/parser. This can run the job for changes it won’t actually analyze. Align the analyzedpathswith the filter (e.g., includetests).
paths:
- source
- jsts
- tests/parser
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (1)
.github/workflows/native-build.yml:89
paths-filter'scomponentfilter only matchessource/**/*, sobuild-jst-on-prwill be skipped for PRs that change other build-relevant paths (e.g.jsts/**, top-levelCMakeLists.txt, or build/config scripts likecov_docker_script/**). In this PR, onlycov_docker_script/component_config.json+ the workflow change, so the PR build job would not run.
component:
- 'source/**/*'
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
Suppressed comments (2)
.github/workflows/native-build.yml:90
build-jst-on-pris gated byhas_component, but thecomponentpaths-filter only watchessource/**/*. This PR changescov_docker_script/component_config.json, which would not trigger the native build on PRs—so dependency/build-script changes won’t be validated and can still break native builds.
component:
- 'source/**/*'
cpp:
.github/workflows/native-build.yml:136
- The CodeQL C/C++ job updates submodules without
--remote, while the native build jobs use--remote. This makes the build toolchain version differ between jobs and can lead to CodeQL building/analyzing a different dependency set than the native build CI.
run: |
git config --global --add safe.directory '*'
git submodule update --init --recursive
chmod +x build_tools_workflows/cov_docker_script/setup_dependencies.sh
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
Suppressed comments (2)
.github/workflows/native-build.yml:90
build-jst-on-pris gated byhas_component, but thecomponentpaths-filter only matchessource/**/*. That means PRs that change build inputs likecov_docker_script/component_config.json(this PR) will skip the native build job entirely, so the change won't be validated in CI. Expand the component filter to include the build/config paths that affect the native build.
component:
- 'source/**/*'
cpp:
.github/workflows/native-build.yml:140
- The CodeQL C/C++ build uses
git submodule update --init --recursivewhile the native build jobs use--remote. This can make the CodeQL build analyze a different dependency set than the native build (or vice-versa), reducing signal and making failures harder to reproduce. Consider aligning these flags (or adding a short comment explaining why they intentionally differ).
- name: Build component for CodeQL
run: |
git config --global --add safe.directory '*'
git submodule update --init --recursive
chmod +x build_tools_workflows/cov_docker_script/setup_dependencies.sh
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
Suppressed comments (3)
.github/workflows/native-build.yml:90
build-jst-on-pris gated byhas_component, but thecomponentfilter only matchessource/**/*. That means PRs that only change build/dependency inputs (e.g.cov_docker_script/component_config.jsonin this PR, or root build files) will skip the native build entirely, which defeats the goal of validating build fixes on PRs. Expand thecomponentfilter to include build/dependency paths that affect the native build.
component:
- 'source/**/*'
cpp:
.github/workflows/native-build.yml:69
- Job name says this is only for CodeQL, but its outputs also gate the PR native build job (
build-jst-on-pr). Renaming avoids confusion when reading workflow logs and job dependencies.
name: Detect source path changes for CodeQL
.github/workflows/native-build.yml:144
- The native build jobs update submodules with
--remote, but the CodeQL C/C++ build usesgit submodule update --init --recursivewithout--remote. This can make CodeQL build against a different build-tools revision than the native build job, potentially reintroducing build failures or producing inconsistent results. Consider aligning the submodule update mode.
git config --global --add safe.directory '*'
git submodule update --init --recursive
chmod +x build_tools_workflows/cov_docker_script/setup_dependencies.sh
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
Suppressed comments (2)
.github/workflows/native-build.yml:90
build-jst-on-pris gated byhas_component, but thecomponentfilter only matchessource/**/*. That means PRs that change the native build inputs (e.g.,cov_docker_script/component_config.jsonin this PR, orbuild_tools_workflows/**) will skip the PR native build entirely, making it easy to merge broken build/dependency changes.
component:
- 'source/**/*'
.github/workflows/native-build.yml:31
git submodule update --remotemakes CI builds non-reproducible (it can pull newer submodule commits than the ones reviewed in this PR) and can cause intermittent failures if the submodule’s tracked branch moves. Prefer using the pinned submodule commit unless there’s a strong reason to float.
git submodule update --init --recursive --remote
Reason for change: Address PRs native builds failing in the javascript-templates
Test Procedure: PRs native builds should pass for javascript-templates
Risks: Low
Priority: P2