Skip to content

Optimize ocm-controller verify - #1030

Open
c5426746 wants to merge 8 commits into
open-component-model:mainfrom
c5426746:feat/component-verify-optimization
Open

c5426746 wants to merge 8 commits into
open-component-model:mainfrom
c5426746:feat/component-verify-optimization

Conversation

@c5426746

@c5426746 c5426746 commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

What this PR does / why we need it

Reduces repeated repository lookups and digest computation when selecting and reconciling component versions that require signatures.

  • Checks all required signature names before loading public keys or starting verification. If a later required signature is missing, earlier signatures no longer incur unnecessary verification work.
  • Returns the verified component handle from version selection and reuses it during reconciliation. This removes the second verification and subsequent source lookup, reducing controller lookups of the selected source version from three to one during an update.
  • Verifies required signatures sharing the same digest specification together, so resource and reference digests are computed once per group. Different digest specifications and duplicate signature names use separate passes, preserving verification of every configured key.
  • Retains signature digest lookups from the precheck and uses direct map access when retrieving public keys from Secrets.
  • Passes the reconciliation context into SDK verification so cancellation can interrupt digest traversal.
  • Closes rejected candidates, selected components, and transferred component handles on success and failure paths.

Version selection continues to scan in descending semver order and chooses the first version satisfying the constraint and all required signatures. Each candidate descriptor still needs to be fetched to inspect its signatures; actual network savings depend on repository caching and resource access methods.

Adds regression coverage for missing and invalid signatures, mixed digest algorithms, duplicate signature names, repository lookup counts, transfers, and handle cleanup.

Validation:

  • go test ./... -count=1
  • golangci-lint run --timeout 10m using v2.14.0 — 0 issues

Which issue(s) this PR is related to

Related to open-component-model/ocm-project#373

@c5426746 c5426746 changed the title Feat/component verify optimization Optimize VerifyComponent function Oct 19, 2026
@c5426746
c5426746 marked this pull request as ready for review October 19, 2026 13:18
@c5426746
c5426746 requested a review from a team as a code owner October 19, 2026 13:18
@c5426746 c5426746 changed the title Optimize VerifyComponent function Optimize ocm-controller verify Oct 19, 2026
@c5426746
c5426746 force-pushed the feat/component-verify-optimization branch 2 times, most recently from 8eb3601 to ce940f7 Compare October 19, 2026 21:52
dependabot Bot and others added 7 commits October 19, 2026 14:59
….4.1 (open-component-model#1029)

Bumps
[github.com/containerd/containerd/v2](https://github.com/containerd/containerd)
from 2.4.0 to 2.4.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/containerd/containerd/releases">github.com/containerd/containerd/v2's
releases</a>.</em></p>
<blockquote>
<h2>containerd 2.4.1</h2>
<p>Welcome to the v2.4.1 release of containerd!</p>
<p>The first patch release for containerd 2.4 contains various fixes
and updates including a security patch.</p>
<h3>Security Updates</h3>
<ul>
<li><strong>containerd</strong>
<ul>
<li><a
href="https://github.com/containerd/containerd/security/advisories/GHSA-pg57-6jwg-q645"><strong>CVE-2026-53493</strong></a></li>
</ul>
</li>
</ul>
<h3>Highlights</h3>
<h4>Container Runtime Interface (CRI)</h4>
<ul>
<li>Fix bug where failed container start cleanup leaked tasks and
prevented container removal (<a
href="https://redirect.github.com/containerd/containerd/pull/14223">#14223</a>)</li>
<li>Fix bug where container creation failed when SELinux relabeling was
unsupported by the filesystem (<a
href="https://redirect.github.com/containerd/containerd/pull/14212">#14212</a>)</li>
</ul>
<h4>Image Distribution</h4>
<ul>
<li>Fix content upload failures when retrying fetch content after
reaching EOF (<a
href="https://redirect.github.com/containerd/containerd/pull/14197">#14197</a>)</li>
</ul>
<h4>Snapshotters</h4>
<ul>
<li>Apply hardening to filter ID-mapping labels from image annotations
during unpack (<a
href="https://redirect.github.com/containerd/containerd/pull/14200">#14200</a>)</li>
</ul>
<h4>ctr development tool</h4>
<ul>
<li>Fix bug where arguments following &quot;-&quot; were dropped in
&quot;ctr images export&quot; (<a
href="https://redirect.github.com/containerd/containerd/pull/14219">#14219</a>)</li>
<li>Fix bug where container command arguments were parsed as flags in
&quot;ctr run&quot;, &quot;ctr containers create&quot;, &quot;ctr tasks
exec&quot;, and &quot;containerd oci-hook&quot; (<a
href="https://redirect.github.com/containerd/containerd/pull/14215">#14215</a>)</li>
<li>Fix bug where comma-separated flag values were incorrectly split in
ctr subcommands (<a
href="https://redirect.github.com/containerd/containerd/pull/14188">#14188</a>)</li>
</ul>
<p>Please try out the release binaries and report any issues at
<a
href="https://github.com/containerd/containerd/issues">https://github.com/containerd/containerd/issues</a>.</p>
<h3>Contributors</h3>
<ul>
<li>Samuel Karp</li>
<li>Aysha Afrah Ziya</li>
<li>Chris Henzie</li>
<li>CrazyMax</li>
<li>Maksym Pavlenko</li>
<li>Nan Liu</li>
<li>Sebastiaan van Stijn</li>
</ul>
<h3>Changes</h3>
<!-- raw HTML omitted -->
<ul>
<li><a
href="https://github.com/containerd/containerd/commit/9f7f70fc3160fec77a3a3eb4e62c9b07cc138b19"><code>9f7f70fc31</code></a>
Prepare release notes for v2.4.1</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/containerd/containerd/blob/main/RELEASES.md">github.com/containerd/containerd/v2's
changelog</a>.</em></p>
<blockquote>
<h1>Versioning and Release</h1>
<p>This document details the versioning and release plan for containerd.
Stability
is a top goal for this project, and we hope that this document and the
processes
it entails will help to achieve that. It covers the release process,
versioning
numbering, backporting, API stability and support horizons.</p>
<p>If you rely on containerd, it would be good to spend time
understanding the
areas of the API that are and are not supported and how they impact your
project in the future.</p>
<p>This document will be considered a living document. Supported
timelines,
backport targets and API stability guarantees will be updated here as
they
change.</p>
<p>If there is something that you require or this document leaves out,
please
reach out by <a
href="https://github.com/containerd/containerd/issues">filing an
issue</a>.</p>
<h2>Releases</h2>
<p>Releases of containerd will be versioned using dotted triples,
similar to
<a href="http://semver.org/">Semantic Version</a>. For the purposes of
this document, we
will refer to the respective components of this triple as
<code>&lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;</code>. The version
number may have additional information,
such as alpha, beta and release candidate qualifications. Such releases
will be
considered &quot;pre-releases&quot;.</p>
<h3>Major and Minor Releases</h3>
<p>Major and minor releases of containerd will be made from main.
Releases of
containerd will be marked with GPG signed tags and announced at
<a
href="https://github.com/containerd/containerd/releases">https://github.com/containerd/containerd/releases</a>.
The tag will be of the
format <code>v&lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;</code> and
should be made with the command <code>git tag -s
v&lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;</code>.</p>
<p>After a minor release, a branch will be created, with the format
<code>release/&lt;major&gt;.&lt;minor&gt;</code> from the minor tag. All
further patch releases will
be done from that branch. For example, once we release
<code>v1.0.0</code>, a branch
<code>release/1.0</code> will be created from that tag. All future patch
releases will be
done against that branch.</p>
<h3>Release Cadence</h3>
<p>Since containerd v2.3 in April 2026, minor releases are provided on a
time basis
with a cadence of 4 months. New minor releases are scheduled for April,
August,
and December of each year. This cadence is synchronized with the
Kubernetes
release schedule to ensure that new features in containerd can be
smoothly
adopted by new Kubernetes releases.</p>
<p>The maintainers will maintain a roadmap and milestones for each
release, however,</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/containerd/containerd/commit/f2551031d7276a770f65f98c9b52e57e7dad07e8"><code>f255103</code></a>
Merge pull request <a
href="https://redirect.github.com/containerd/containerd/issues/14225">#14225</a>
from samuelkarp/prepare-release-2.4.1</li>
<li><a
href="https://github.com/containerd/containerd/commit/9f7f70fc3160fec77a3a3eb4e62c9b07cc138b19"><code>9f7f70f</code></a>
Prepare release notes for v2.4.1</li>
<li><a
href="https://github.com/containerd/containerd/commit/98e88f2afe2dc59452eaa26606e3f2823ab42531"><code>98e88f2</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/containerd/containerd/commit/ddf7128f7e52030478314d0f53137a8486913355"><code>ddf7128</code></a>
Merge pull request <a
href="https://redirect.github.com/containerd/containerd/issues/14223">#14223</a>
from k8s-infra-cherrypick-robot/cherry-pick-14218-t...</li>
<li><a
href="https://github.com/containerd/containerd/commit/9e8abe0405ff03c49cbd475cb0c45ff6c1c3f995"><code>9e8abe0</code></a>
cri: fix process leak when start cleanup fails to delete task</li>
<li><a
href="https://github.com/containerd/containerd/commit/a7ddb10dfa55c90700540b6ba0544d571aeecbec"><code>a7ddb10</code></a>
Merge pull request <a
href="https://redirect.github.com/containerd/containerd/issues/14219">#14219</a>
from k8s-infra-cherrypick-robot/cherry-pick-14217-t...</li>
<li><a
href="https://github.com/containerd/containerd/commit/acbdd57f0dc38e900a45e7d7da364e0e83c848bd"><code>acbdd57</code></a>
ctr: preserve args after &quot;-&quot; in images export</li>
<li><a
href="https://github.com/containerd/containerd/commit/8949dc80c27fd8bb57357b81205a545493e1f6fb"><code>8949dc8</code></a>
Merge pull request <a
href="https://redirect.github.com/containerd/containerd/issues/14215">#14215</a>
from k8s-infra-cherrypick-robot/cherry-pick-14209-t...</li>
<li><a
href="https://github.com/containerd/containerd/commit/a2e9a5196e8264842f78d843b358afb0cbb20fde"><code>a2e9a51</code></a>
cmd/containerd: stop flag parsing on oci-hook</li>
<li><a
href="https://github.com/containerd/containerd/commit/2d0e53474d9e0fb47f028a52134fff1e19e07db6"><code>2d0e534</code></a>
ctr: stop flag parsing before container command</li>
<li>Additional commits viewable in <a
href="https://github.com/containerd/containerd/compare/v2.4.0...v2.4.1">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/containerd/containerd/v2&package-manager=go_modules&previous-version=2.4.0&new-version=2.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/open-component-model/ocm-controller/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Theodore Siemens-Rhodes <theodore.siemens-rhodes@sap.com>
…pen-component-model#1028) (open-component-model#1031)

Fixes open-component-model#1028

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Frederic Wilhelm <frederic.wilhelm@sap.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Theodore Siemens-Rhodes <theodore.siemens-rhodes@sap.com>
)

Bumps the ci group with 2 updates:
[github/codeql-action/init](https://github.com/github/codeql-action) and
[github/codeql-action/analyze](https://github.com/github/codeql-action).

Updates `github/codeql-action/init` from 4.38.3 to 4.39.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/releases">github/codeql-action/init's
releases</a>.</em></p>
<blockquote>
<h2>v4.39.0</h2>
<ul>
<li><em>Breaking change</em>: Bump the minimum required CodeQL bundle
version to 2.20.7. <a
href="https://redirect.github.com/github/codeql-action/pull/4205">#4205</a></li>
<li>The <code>codeql-action/analyze</code> step now validates that a
correct argument for the <code>checkout_path</code> input has been
provided. The <code>checkout_path</code> input must be set to the path
where the repository that is being analyzed is checked out at on the
runner, if that path is something other than the workspace root. If the
path does not point to a repository checkout or is different from the
path that was used by <code>codeql-action/init</code>, then the CodeQL
Action now produces a warning. <a
href="https://redirect.github.com/github/codeql-action/pull/4148">#4148</a></li>
<li>Resolved an issue with third-party caching implementations that
prevented caches from being restored correctly. <a
href="https://redirect.github.com/github/codeql-action/pull/4206">#4206</a></li>
<li>The <code>codeql-action/start-proxy</code> step that is used in Code
Scanning Default Setup now finds CodeQL releases using the same logic as
<code>codeql-action/init</code>. This primarily benefits customers who
are using GitHub instances other than <code>github.com</code> where the
<code>codeql-action/start-proxy</code> step may previously have been
unable to locate recent releases and ended up using outdated versions of
the private registry authentication proxy as a result. <a
href="https://redirect.github.com/github/codeql-action/pull/4198">#4198</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action/init's
changelog</a>.</em></p>
<blockquote>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>[UNRELEASED]</h2>
<p>No user facing changes.</p>
<h2>4.39.0 - 15 Oct 2026</h2>
<ul>
<li><em>Breaking change</em>: Bump the minimum required CodeQL bundle
version to 2.20.7. <a
href="https://redirect.github.com/github/codeql-action/pull/4205">#4205</a></li>
<li>The <code>codeql-action/analyze</code> step now validates that a
correct argument for the <code>checkout_path</code> input has been
provided. The <code>checkout_path</code> input must be set to the path
where the repository that is being analyzed is checked out at on the
runner, if that path is something other than the workspace root. If the
path does not point to a repository checkout or is different from the
path that was used by <code>codeql-action/init</code>, then the CodeQL
Action now produces a warning. <a
href="https://redirect.github.com/github/codeql-action/pull/4148">#4148</a></li>
<li>Resolved an issue with third-party caching implementations that
prevented caches from being restored correctly. <a
href="https://redirect.github.com/github/codeql-action/pull/4206">#4206</a></li>
<li>The <code>codeql-action/start-proxy</code> step that is used in Code
Scanning Default Setup now finds CodeQL releases using the same logic as
<code>codeql-action/init</code>. This primarily benefits customers who
are using GitHub instances other than <code>github.com</code> where the
<code>codeql-action/start-proxy</code> step may previously have been
unable to locate recent releases and ended up using outdated versions of
the private registry authentication proxy as a result. <a
href="https://redirect.github.com/github/codeql-action/pull/4198">#4198</a></li>
</ul>
<h2>4.38.3 - 08 Oct 2026</h2>
<ul>
<li><em>Upcoming breaking change</em>: CodeQL version 2.21.2 and earlier
were discontinued on 24 September 2026 alongside GitHub Enterprise
Server 3.17, and will be unsupported by the next minor release of the
CodeQL Action. Added a deprecation warning for customers using these
versions of CodeQL. <a
href="https://redirect.github.com/github/codeql-action/pull/4188">#4188</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.27.2">2.27.2</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/4203">#4203</a></li>
<li>Fixed a bug where the decision of whether to use a per-language
bundle did not account for custom configurations that reference queries
outside of compiled CodeQL packs. This issue was caught during internal
testing and did not affect any customer repositories. We will resume the
roll out of per-language bundles in the coming weeks. <a
href="https://redirect.github.com/github/codeql-action/pull/4184">#4184</a></li>
</ul>
<h2>4.38.2 - 24 Sept 2026</h2>
<ul>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.27.1">2.27.1</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/4160">#4160</a></li>
</ul>
<h2>4.38.1 - 18 Sept 2026</h2>
<ul>
<li>The CodeQL Action now has experimental support for CodeQL releases
for which per-language bundles are available. Per-language bundles
support analysis for a single language and are therefore smaller than
the combined bundles that allow analysis for all supported languages. As
a result, per-language bundles take up less space on disk and are faster
to download. We expect to roll this change out to everyone in the coming
weeks. <a
href="https://redirect.github.com/github/codeql-action/pull/4146">#4146</a></li>
</ul>
<h2>4.38.0 - 09 Sept 2026</h2>
<ul>
<li>On GitHub-hosted runners, the CodeQL Action now deletes unused
CodeQL bundles from the toolcache before downloading a different bundle,
which frees up disk space for the analysis. We expect to roll this
change out to everyone in September. <a
href="https://redirect.github.com/github/codeql-action/pull/4124">#4124</a></li>
<li>The CodeQL Action now supports CodeQL releases that are compatible
with Linux Arm64 and downloads the native <code>linux-arm64</code>
CodeQL bundle when available. <a
href="https://redirect.github.com/github/codeql-action/pull/4072">#4072</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.27.0">2.27.0</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/4129">#4129</a></li>
</ul>
<h2>4.37.9 - 26 Aug 2026</h2>
<ul>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.4">2.26.4</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/4106">#4106</a></li>
</ul>
<h2>4.37.8 - 21 Aug 2026</h2>
<p>No user facing changes.</p>
<h2>4.37.7 - 13 Aug 2026</h2>
<ul>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.3">2.26.3</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/4085">#4085</a></li>
</ul>
<h2>4.37.6 - 04 Aug 2026</h2>
<ul>
<li>Changed the default filepath for the new remote file address format
that was introduced in CodeQL Action 4.37.0 / 3.37.0 to
<code>.github/codeql-config.yml</code> to align it with the suggested
path that is used elsewhere. <a
href="https://redirect.github.com/github/codeql-action/pull/4070">#4070</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/github/codeql-action/commit/6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee"><code>6f2ac81</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/4239">#4239</a>
from github/update-v4.39.0-d63383a73</li>
<li><a
href="https://github.com/github/codeql-action/commit/eb1c428e6e3725d2b527aec0ee5db4303c8f669d"><code>eb1c428</code></a>
Trigger workflows</li>
<li><a
href="https://github.com/github/codeql-action/commit/444333376e064d207fe1dc74e881528bf11649c1"><code>4443333</code></a>
Update changelog for v4.39.0</li>
<li><a
href="https://github.com/github/codeql-action/commit/d63383a7318b5332e86725adf62ac19528a9786a"><code>d63383a</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/4233">#4233</a>
from github/mbg/start-proxy/report-version</li>
<li><a
href="https://github.com/github/codeql-action/commit/8dec0b9f88b61a76f5fc97056ee8e7dc8a1a8022"><code>8dec0b9</code></a>
Rename <code>path</code> to <code>result</code> in tests</li>
<li><a
href="https://github.com/github/codeql-action/commit/4eabea6b5e5123ae16fffacf06e86d9d3864c350"><code>4eabea6</code></a>
Merge remote-tracking branch 'origin/main' into
mbg/start-proxy/report-version</li>
<li><a
href="https://github.com/github/codeql-action/commit/57938b85687300731b9b53559017c143d849481d"><code>57938b8</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/4201">#4201</a>
from github/mario-campos/automate-changenotes-assemble</li>
<li><a
href="https://github.com/github/codeql-action/commit/ee07b503f465bcf3338b6e4807a36789e3106f4b"><code>ee07b50</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/4236">#4236</a>
from github/mbg/add-missing-changenotes</li>
<li><a
href="https://github.com/github/codeql-action/commit/a897ed5c2eeeb4862bf224c65f62a8b2478eb581"><code>a897ed5</code></a>
Add change note for <a
href="https://redirect.github.com/github/codeql-action/issues/4206">#4206</a></li>
<li><a
href="https://github.com/github/codeql-action/commit/c8bd0195fb2ec9584b1bd6faf9ff5e2983c63d82"><code>c8bd019</code></a>
Add change note for <a
href="https://redirect.github.com/github/codeql-action/issues/4198">#4198</a></li>
<li>Additional commits viewable in <a
href="https://github.com/github/codeql-action/compare/24c54180a607b1449ed407dd24f251e4e9147c8d...6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee">compare
view</a></li>
</ul>
</details>
<br />

Updates `github/codeql-action/analyze` from 4.38.3 to 4.39.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/releases">github/codeql-action/analyze's
releases</a>.</em></p>
<blockquote>
<h2>v4.39.0</h2>
<ul>
<li><em>Breaking change</em>: Bump the minimum required CodeQL bundle
version to 2.20.7. <a
href="https://redirect.github.com/github/codeql-action/pull/4205">#4205</a></li>
<li>The <code>codeql-action/analyze</code> step now validates that a
correct argument for the <code>checkout_path</code> input has been
provided. The <code>checkout_path</code> input must be set to the path
where the repository that is being analyzed is checked out at on the
runner, if that path is something other than the workspace root. If the
path does not point to a repository checkout or is different from the
path that was used by <code>codeql-action/init</code>, then the CodeQL
Action now produces a warning. <a
href="https://redirect.github.com/github/codeql-action/pull/4148">#4148</a></li>
<li>Resolved an issue with third-party caching implementations that
prevented caches from being restored correctly. <a
href="https://redirect.github.com/github/codeql-action/pull/4206">#4206</a></li>
<li>The <code>codeql-action/start-proxy</code> step that is used in Code
Scanning Default Setup now finds CodeQL releases using the same logic as
<code>codeql-action/init</code>. This primarily benefits customers who
are using GitHub instances other than <code>github.com</code> where the
<code>codeql-action/start-proxy</code> step may previously have been
unable to locate recent releases and ended up using outdated versions of
the private registry authentication proxy as a result. <a
href="https://redirect.github.com/github/codeql-action/pull/4198">#4198</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action/analyze's
changelog</a>.</em></p>
<blockquote>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>[UNRELEASED]</h2>
<p>No user facing changes.</p>
<h2>4.39.0 - 15 Oct 2026</h2>
<ul>
<li><em>Breaking change</em>: Bump the minimum required CodeQL bundle
version to 2.20.7. <a
href="https://redirect.github.com/github/codeql-action/pull/4205">#4205</a></li>
<li>The <code>codeql-action/analyze</code> step now validates that a
correct argument for the <code>checkout_path</code> input has been
provided. The <code>checkout_path</code> input must be set to the path
where the repository that is being analyzed is checked out at on the
runner, if that path is something other than the workspace root. If the
path does not point to a repository checkout or is different from the
path that was used by <code>codeql-action/init</code>, then the CodeQL
Action now produces a warning. <a
href="https://redirect.github.com/github/codeql-action/pull/4148">#4148</a></li>
<li>Resolved an issue with third-party caching implementations that
prevented caches from being restored correctly. <a
href="https://redirect.github.com/github/codeql-action/pull/4206">#4206</a></li>
<li>The <code>codeql-action/start-proxy</code> step that is used in Code
Scanning Default Setup now finds CodeQL releases using the same logic as
<code>codeql-action/init</code>. This primarily benefits customers who
are using GitHub instances other than <code>github.com</code> where the
<code>codeql-action/start-proxy</code> step may previously have been
unable to locate recent releases and ended up using outdated versions of
the private registry authentication proxy as a result. <a
href="https://redirect.github.com/github/codeql-action/pull/4198">#4198</a></li>
</ul>
<h2>4.38.3 - 08 Oct 2026</h2>
<ul>
<li><em>Upcoming breaking change</em>: CodeQL version 2.21.2 and earlier
were discontinued on 24 September 2026 alongside GitHub Enterprise
Server 3.17, and will be unsupported by the next minor release of the
CodeQL Action. Added a deprecation warning for customers using these
versions of CodeQL. <a
href="https://redirect.github.com/github/codeql-action/pull/4188">#4188</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.27.2">2.27.2</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/4203">#4203</a></li>
<li>Fixed a bug where the decision of whether to use a per-language
bundle did not account for custom configurations that reference queries
outside of compiled CodeQL packs. This issue was caught during internal
testing and did not affect any customer repositories. We will resume the
roll out of per-language bundles in the coming weeks. <a
href="https://redirect.github.com/github/codeql-action/pull/4184">#4184</a></li>
</ul>
<h2>4.38.2 - 24 Sept 2026</h2>
<ul>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.27.1">2.27.1</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/4160">#4160</a></li>
</ul>
<h2>4.38.1 - 18 Sept 2026</h2>
<ul>
<li>The CodeQL Action now has experimental support for CodeQL releases
for which per-language bundles are available. Per-language bundles
support analysis for a single language and are therefore smaller than
the combined bundles that allow analysis for all supported languages. As
a result, per-language bundles take up less space on disk and are faster
to download. We expect to roll this change out to everyone in the coming
weeks. <a
href="https://redirect.github.com/github/codeql-action/pull/4146">#4146</a></li>
</ul>
<h2>4.38.0 - 09 Sept 2026</h2>
<ul>
<li>On GitHub-hosted runners, the CodeQL Action now deletes unused
CodeQL bundles from the toolcache before downloading a different bundle,
which frees up disk space for the analysis. We expect to roll this
change out to everyone in September. <a
href="https://redirect.github.com/github/codeql-action/pull/4124">#4124</a></li>
<li>The CodeQL Action now supports CodeQL releases that are compatible
with Linux Arm64 and downloads the native <code>linux-arm64</code>
CodeQL bundle when available. <a
href="https://redirect.github.com/github/codeql-action/pull/4072">#4072</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.27.0">2.27.0</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/4129">#4129</a></li>
</ul>
<h2>4.37.9 - 26 Aug 2026</h2>
<ul>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.4">2.26.4</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/4106">#4106</a></li>
</ul>
<h2>4.37.8 - 21 Aug 2026</h2>
<p>No user facing changes.</p>
<h2>4.37.7 - 13 Aug 2026</h2>
<ul>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.3">2.26.3</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/4085">#4085</a></li>
</ul>
<h2>4.37.6 - 04 Aug 2026</h2>
<ul>
<li>Changed the default filepath for the new remote file address format
that was introduced in CodeQL Action 4.37.0 / 3.37.0 to
<code>.github/codeql-config.yml</code> to align it with the suggested
path that is used elsewhere. <a
href="https://redirect.github.com/github/codeql-action/pull/4070">#4070</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/github/codeql-action/commit/6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee"><code>6f2ac81</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/4239">#4239</a>
from github/update-v4.39.0-d63383a73</li>
<li><a
href="https://github.com/github/codeql-action/commit/eb1c428e6e3725d2b527aec0ee5db4303c8f669d"><code>eb1c428</code></a>
Trigger workflows</li>
<li><a
href="https://github.com/github/codeql-action/commit/444333376e064d207fe1dc74e881528bf11649c1"><code>4443333</code></a>
Update changelog for v4.39.0</li>
<li><a
href="https://github.com/github/codeql-action/commit/d63383a7318b5332e86725adf62ac19528a9786a"><code>d63383a</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/4233">#4233</a>
from github/mbg/start-proxy/report-version</li>
<li><a
href="https://github.com/github/codeql-action/commit/8dec0b9f88b61a76f5fc97056ee8e7dc8a1a8022"><code>8dec0b9</code></a>
Rename <code>path</code> to <code>result</code> in tests</li>
<li><a
href="https://github.com/github/codeql-action/commit/4eabea6b5e5123ae16fffacf06e86d9d3864c350"><code>4eabea6</code></a>
Merge remote-tracking branch 'origin/main' into
mbg/start-proxy/report-version</li>
<li><a
href="https://github.com/github/codeql-action/commit/57938b85687300731b9b53559017c143d849481d"><code>57938b8</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/4201">#4201</a>
from github/mario-campos/automate-changenotes-assemble</li>
<li><a
href="https://github.com/github/codeql-action/commit/ee07b503f465bcf3338b6e4807a36789e3106f4b"><code>ee07b50</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/4236">#4236</a>
from github/mbg/add-missing-changenotes</li>
<li><a
href="https://github.com/github/codeql-action/commit/a897ed5c2eeeb4862bf224c65f62a8b2478eb581"><code>a897ed5</code></a>
Add change note for <a
href="https://redirect.github.com/github/codeql-action/issues/4206">#4206</a></li>
<li><a
href="https://github.com/github/codeql-action/commit/c8bd0195fb2ec9584b1bd6faf9ff5e2983c63d82"><code>c8bd019</code></a>
Add change note for <a
href="https://redirect.github.com/github/codeql-action/issues/4198">#4198</a></li>
<li>Additional commits viewable in <a
href="https://github.com/github/codeql-action/compare/24c54180a607b1449ed407dd24f251e4e9147c8d...6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee">compare
view</a></li>
</ul>
</details>
<br />

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Theodore Siemens-Rhodes <theodore.siemens-rhodes@sap.com>
Signed-off-by: Theodore Siemens-Rhodes <theodore.siemens-rhodes@sap.com>
Signed-off-by: Theodore Siemens-Rhodes <theodore.siemens-rhodes@sap.com>
Signed-off-by: Theodore Siemens-Rhodes <theodore.siemens-rhodes@sap.com>
Signed-off-by: Theodore Siemens-Rhodes <theodore.siemens-rhodes@sap.com>
@c5426746
c5426746 force-pushed the feat/component-verify-optimization branch from 4b258fd to 755a817 Compare October 19, 2026 21:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants