Files
releases/.github/workflows/pull-request.yaml
T
dependabot[bot] bfda58ebaf build(deps): bump the gha-dependencies group with 2 updates (#8770)
Bumps the gha-dependencies group with 2 updates:
[jdx/mise-action](https://github.com/jdx/mise-action) and
[github/codeql-action](https://github.com/github/codeql-action).

Updates `jdx/mise-action` from 4.0.1 to 4.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jdx/mise-action/releases">jdx/mise-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.1.0: automatic --locked installs</h2>
<p>This release adds automatic locked installs when a
<code>mise.lock</code> is present, and fixes a long-standing cache-key
collision that could poison tool installs when workflows migrate between
runner providers.</p>
<h2>Added</h2>
<h3>Automatic <code>--locked</code> install when <code>mise.lock</code>
exists (<a
href="https://redirect.github.com/jdx/mise-action/pull/495">#495</a>) by
<a
href="https://github.com/zeitlinger"><code>@​zeitlinger</code></a></h3>
<p>When a repo contains <code>mise.lock</code>, the action now
automatically passes <code>--locked</code> to <code>mise install</code>
(on mise versions that support it). This removes the need to manually
set <code>install_args: --locked</code> and prevents <code>mise
install</code> from silently mutating the lockfile in CI. Explicit
<code>install_args</code> and older mise versions are still
respected.</p>
<p>Note: workflows with a stale lockfile may now fail earlier and more
explicitly instead of silently updating <code>mise.lock</code> mid-run —
this surfaces lockfile drift rather than hiding it.</p>
<h2>Fixed</h2>
<ul>
<li><strong>Cache key collisions across runner providers</strong> (<a
href="https://redirect.github.com/jdx/mise-action/pull/456">#456</a>) —
the default cache key now includes the runner image (e.g.
<code>macos15</code>, <code>ubuntu24</code> for GitHub-hosted runners;
<code>self-hosted</code> otherwise). Previously, repos migrating between
providers like github-hosted, namespace.so, BuildJet, and self-hosted
runners with the same OS/arch could restore a peer provider's
<code>~/.local/share/mise/installs/*</code>, causing failures like
<code>does not have an executable named '…'</code> or SIGILL crashes
from binaries built against a different glibc/CPU featureset. Expect a
one-time cache miss after upgrading; thereafter the cache stays scoped
per image.</li>
<li><strong><code>mise-shim.exe</code> missing on Windows</strong> (<a
href="https://redirect.github.com/jdx/mise-action/pull/476">#476</a>) by
<a href="https://github.com/risu729"><code>@​risu729</code></a> — the
action now installs <code>mise-shim.exe</code> alongside
<code>mise.exe</code> and repairs restored caches that lack the shim.
Fixes <a
href="https://redirect.github.com/jdx/mise-action/issues/475">#475</a>.</li>
</ul>
<h2>Changed</h2>
<ul>
<li>Migrated the bundled action build from ncc (CommonJS) to Rollup
(ESM) (<a
href="https://redirect.github.com/jdx/mise-action/pull/436">#436</a>).
No user-facing behavior change.</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jdx/mise-action/compare/v4.0.1...v4.1.0">https://github.com/jdx/mise-action/compare/v4.0.1...v4.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jdx/mise-action/blob/main/CHANGELOG.md">jdx/mise-action's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<hr />
<h2><a
href="https://github.com/jdx/mise-action/compare/v4.0.1..v4.1.0">4.1.0</a>
- 2026-06-04</h2>
<h3>🚀 Features</h3>
<ul>
<li>add wings_enabled input (mise-wings cache integration) (<a
href="https://redirect.github.com/jdx/mise-action/issues/454">#454</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/454">#454</a></li>
<li>lock install when mise.lock is present (<a
href="https://redirect.github.com/jdx/mise-action/issues/495">#495</a>)
by <a href="https://github.com/zeitlinger"><code>@​zeitlinger</code></a>
in <a
href="https://redirect.github.com/jdx/mise-action/pull/495">#495</a></li>
</ul>
<h3>🐛 Bug Fixes</h3>
<ul>
<li><strong>(ci)</strong> add gh auth setup-git to release-plz.sh (<a
href="https://redirect.github.com/jdx/mise-action/issues/473">#473</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/473">#473</a></li>
<li><strong>(ci)</strong> pin codeql-action with exact version comment
(<a
href="https://redirect.github.com/jdx/mise-action/issues/481">#481</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/481">#481</a></li>
<li>include runner image in cache key to prevent cross-provider
collisions (<a
href="https://redirect.github.com/jdx/mise-action/issues/456">#456</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/456">#456</a></li>
<li>install mise-shim.exe on Windows (<a
href="https://redirect.github.com/jdx/mise-action/issues/476">#476</a>)
by <a href="https://github.com/risu729"><code>@​risu729</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/476">#476</a></li>
</ul>
<h3>⚙️ Miscellaneous Tasks</h3>
<ul>
<li><strong>(ci)</strong> use !cancelled() instead of always() for final
job (<a
href="https://redirect.github.com/jdx/mise-action/issues/460">#460</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/460">#460</a></li>
<li><strong>(ci)</strong> remove autofix.ci workflow (<a
href="https://redirect.github.com/jdx/mise-action/issues/470">#470</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/470">#470</a></li>
<li><strong>(ci)</strong> add zizmor workflow for github actions
security analysis (<a
href="https://redirect.github.com/jdx/mise-action/issues/471">#471</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/471">#471</a></li>
<li><strong>(ci)</strong> close failing or conflicted PRs sooner (<a
href="https://redirect.github.com/jdx/mise-action/issues/480">#480</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/480">#480</a></li>
<li>add communique to enhance release notes (<a
href="https://redirect.github.com/jdx/mise-action/issues/411">#411</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/411">#411</a></li>
<li>migrate from ncc (CJS) to rollup (ESM) (<a
href="https://redirect.github.com/jdx/mise-action/issues/436">#436</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/436">#436</a></li>
<li>add final job to aggregate build-test results (<a
href="https://redirect.github.com/jdx/mise-action/issues/438">#438</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/438">#438</a></li>
<li>migrate package manager from npm/pnpm/bun to aube (<a
href="https://redirect.github.com/jdx/mise-action/issues/455">#455</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/455">#455</a></li>
<li>remove pull_request_target workflow (<a
href="https://redirect.github.com/jdx/mise-action/issues/469">#469</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/469">#469</a></li>
<li>update aube tool version (<a
href="https://redirect.github.com/jdx/mise-action/issues/501">#501</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/501">#501</a></li>
</ul>
<hr />
<h2><a
href="https://github.com/jdx/mise-action/compare/v4.0.0..v4.0.1">4.0.1</a>
- 2026-03-22</h2>
<h3>🐛 Bug Fixes</h3>
<ul>
<li>run npm install in pre-commit hook before build (<a
href="https://redirect.github.com/jdx/mise-action/issues/410">#410</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/410">#410</a></li>
</ul>
<h3>🚜 Refactor</h3>
<ul>
<li>extract getCwd() helper to deduplicate working directory resolution
(<a
href="https://redirect.github.com/jdx/mise-action/issues/403">#403</a>)
by <a href="https://github.com/altendky"><code>@​altendky</code></a> in
<a
href="https://redirect.github.com/jdx/mise-action/pull/403">#403</a></li>
</ul>
<h3>📚 Documentation</h3>
<ul>
<li>bump versions listed im README.md (<a
href="https://redirect.github.com/jdx/mise-action/issues/407">#407</a>)
by <a href="https://github.com/deining"><code>@​deining</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/407">#407</a></li>
<li>bump more versions listed in README.md (<a
href="https://redirect.github.com/jdx/mise-action/issues/408">#408</a>)
by <a href="https://github.com/deining"><code>@​deining</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/408">#408</a></li>
</ul>
<h3>⚙️ Miscellaneous Tasks</h3>
<ul>
<li>add workflow to auto-close stale PRs (<a
href="https://redirect.github.com/jdx/mise-action/issues/409">#409</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/409">#409</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jdx/mise-action/commit/dba19683ed58901619b14f395a24841710cb4925"><code>dba1968</code></a>
chore: release v4.1.0 (<a
href="https://redirect.github.com/jdx/mise-action/issues/490">#490</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/f91a09d9ef7e5b4ce6e5df3bd166d39901d95f80"><code>f91a09d</code></a>
fix(ci): resolve zizmor findings (<a
href="https://redirect.github.com/jdx/mise-action/issues/503">#503</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/a9d72a2ac56857d83f06a89da8b45386a519541e"><code>a9d72a2</code></a>
chore(deps): update github/codeql-action action to v4.36.0 (<a
href="https://redirect.github.com/jdx/mise-action/issues/500">#500</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/1f56d953238b8d47fa71c5f59d86a41a4f1f9b30"><code>1f56d95</code></a>
chore(deps): update dependency <code>@​actions/cache</code> to v6.0.1
(<a
href="https://redirect.github.com/jdx/mise-action/issues/497">#497</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/e47eed9a5f11d7b1c4e4a27e094fdee05dfb6db3"><code>e47eed9</code></a>
chore: update aube tool version (<a
href="https://redirect.github.com/jdx/mise-action/issues/501">#501</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/69c24ed9206bc145dcdd8fa072fc6031ceb14c8d"><code>69c24ed</code></a>
chore(deps): update dependency aube to v1.15.0 (<a
href="https://redirect.github.com/jdx/mise-action/issues/498">#498</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/76f84078a8bb3d593bdc3ba28edbfeea1882fcae"><code>76f8407</code></a>
chore(deps): update zizmorcore/zizmor-action action to v0.5.4 (<a
href="https://redirect.github.com/jdx/mise-action/issues/488">#488</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/4a84c91c82fa1e7d0a1ea17ff19af79ab26643a1"><code>4a84c91</code></a>
chore(deps): update dependency eslint to v10.4.0 (<a
href="https://redirect.github.com/jdx/mise-action/issues/492">#492</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/4d5418b7bac561ef4739f99987686d4b21475743"><code>4d5418b</code></a>
chore(deps): update dependency <code>@​types/node</code> to v24.12.4 (<a
href="https://redirect.github.com/jdx/mise-action/issues/485">#485</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/e6760994f7823b9dc6217632e727fb1ff323c0c0"><code>e676099</code></a>
chore(deps): update dependency typescript-eslint to v8.59.3 (<a
href="https://redirect.github.com/jdx/mise-action/issues/487">#487</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/jdx/mise-action/compare/1648a7812b9aeae629881980618f079932869151...dba19683ed58901619b14f395a24841710cb4925">compare
view</a></li>
</ul>
</details>
<br />

Updates `github/codeql-action` from 4.36.1 to 4.36.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/releases">github/codeql-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.36.2</h2>
<ul>
<li>Cache CodeQL CLI version information across Actions steps. <a
href="https://redirect.github.com/github/codeql-action/pull/3943">#3943</a></li>
<li>Reduce requests while waiting for analysis processing by using
exponential backoff when polling SARIF processing status. <a
href="https://redirect.github.com/github/codeql-action/pull/3937">#3937</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.6">2.25.6</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3948">#3948</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'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.36.2 - 04 Jun 2026</h2>
<ul>
<li>Cache CodeQL CLI version information across Actions steps. <a
href="https://redirect.github.com/github/codeql-action/pull/3943">#3943</a></li>
<li>Reduce requests while waiting for analysis processing by using
exponential backoff when polling SARIF processing status. <a
href="https://redirect.github.com/github/codeql-action/pull/3937">#3937</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.6">2.25.6</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3948">#3948</a></li>
</ul>
<h2>4.36.1 - 02 Jun 2026</h2>
<p>No user facing changes.</p>
<h2>4.36.0 - 22 May 2026</h2>
<ul>
<li><em>Breaking change</em>: Bump the minimum required CodeQL bundle
version to 2.19.4. <a
href="https://redirect.github.com/github/codeql-action/pull/3894">#3894</a></li>
<li>Add support for SHA-256 Git object IDs. <a
href="https://redirect.github.com/github/codeql-action/pull/3893">#3893</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.5">2.25.5</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3926">#3926</a></li>
</ul>
<h2>4.35.5 - 15 May 2026</h2>
<ul>
<li>We have improved how the JavaScript bundles for the CodeQL Action
are generated to avoid duplication across bundles and reduce the size of
the repository by around 70%. This should have no effect on the runtime
behaviour of the CodeQL Action. <a
href="https://redirect.github.com/github/codeql-action/pull/3899">#3899</a></li>
<li>For performance and accuracy reasons, <a
href="https://redirect.github.com/github/roadmap/issues/1158">improved
incremental analysis</a> will now only be enabled on a pull request when
diff-informed analysis is also enabled for that run. If diff-informed
analysis is unavailable (for example, because the PR diff ranges could
not be computed), the action will fall back to a full analysis. <a
href="https://redirect.github.com/github/codeql-action/pull/3791">#3791</a></li>
<li>If multiple inputs are provided for the GitHub-internal
<code>analysis-kinds</code> input, only <code>code-scanning</code> will
be enabled. The <code>analysis-kinds</code> input is experimental, for
GitHub-internal use only, and may change without notice at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/3892">#3892</a></li>
<li>Added an experimental change which, when running a Code Scanning
analysis for a PR with <a
href="https://redirect.github.com/github/roadmap/issues/1158">improved
incremental analysis</a> enabled, prefers CodeQL CLI versions that have
a cached overlay-base database for the configured languages. This speeds
up analysis for a repository when there is not yet a cached overlay-base
database for the latest CLI version. We expect to roll this change out
to everyone in May. <a
href="https://redirect.github.com/github/codeql-action/pull/3880">#3880</a></li>
</ul>
<h2>4.35.4 - 07 May 2026</h2>
<ul>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.4">2.25.4</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3881">#3881</a></li>
</ul>
<h2>4.35.3 - 01 May 2026</h2>
<ul>
<li><em>Upcoming breaking change</em>: Add a deprecation warning for
customers using CodeQL version 2.19.3 and earlier. These versions of
CodeQL were discontinued on 9 April 2026 alongside GitHub Enterprise
Server 3.15, and will be unsupported by the next minor release of the
CodeQL Action. <a
href="https://redirect.github.com/github/codeql-action/pull/3837">#3837</a></li>
<li>Configurations for private registries that use Cloudsmith or GCP
OIDC are now accepted. <a
href="https://redirect.github.com/github/codeql-action/pull/3850">#3850</a></li>
<li>Best-effort connection tests for private registries now use
<code>GET</code> requests instead of <code>HEAD</code> for better
compatibility with various registry implementations. For NuGet feeds,
the test is now always performed against the service index. <a
href="https://redirect.github.com/github/codeql-action/pull/3853">#3853</a></li>
<li>Fixed a bug where two diagnostics produced within the same
millisecond could overwrite each other on disk, causing one of them to
be lost. <a
href="https://redirect.github.com/github/codeql-action/pull/3852">#3852</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.3">2.25.3</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3865">#3865</a></li>
</ul>
<h2>4.35.2 - 15 Apr 2026</h2>
<ul>
<li>The undocumented TRAP cache cleanup feature that could be enabled
using the <code>CODEQL_ACTION_CLEANUP_TRAP_CACHES</code> environment
variable is deprecated and will be removed in May 2026. If you are
affected by this, we recommend disabling TRAP caching by passing the
<code>trap-caching: false</code> input to the <code>init</code> Action.
<a
href="https://redirect.github.com/github/codeql-action/pull/3795">#3795</a></li>
<li>The Git version 2.36.0 requirement for improved incremental analysis
now only applies to repositories that contain submodules. <a
href="https://redirect.github.com/github/codeql-action/pull/3789">#3789</a></li>
<li>Python analysis on GHES no longer extracts the standard library,
relying instead on models of the standard library. This should result in
significantly faster extraction and analysis times, while the effect on
alerts should be minimal. <a
href="https://redirect.github.com/github/codeql-action/pull/3794">#3794</a></li>
<li>Fixed a bug in the validation of OIDC configurations for private
registries that was added in CodeQL Action 4.33.0 / 3.33.0. <a
href="https://redirect.github.com/github/codeql-action/pull/3807">#3807</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.2">2.25.2</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3823">#3823</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/8aad20d150bbac5944a9f9d289da16a4b0d87c1e"><code>8aad20d</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3949">#3949</a>
from github/update-v4.36.2-dcb947ce1</li>
<li><a
href="https://github.com/github/codeql-action/commit/f521b08cd8f468ab193ea950a589cb2e9c869c6a"><code>f521b08</code></a>
Add additional changelog notes</li>
<li><a
href="https://github.com/github/codeql-action/commit/8aeff0ffb7b78582ee0d0e6eebb8140684400d08"><code>8aeff0f</code></a>
Update changelog for v4.36.2</li>
<li><a
href="https://github.com/github/codeql-action/commit/dcb947ce15976d40ea82935510b2db4872ec124c"><code>dcb947c</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3948">#3948</a>
from github/update-bundle/codeql-bundle-v2.25.6</li>
<li><a
href="https://github.com/github/codeql-action/commit/c251bcefa178f7780f62f150002acffe3d07fde9"><code>c251bce</code></a>
Add changelog note</li>
<li><a
href="https://github.com/github/codeql-action/commit/62953c18b35f59e28351d2f1e806925aef8b1e3c"><code>62953c1</code></a>
Update default bundle to codeql-bundle-v2.25.6</li>
<li><a
href="https://github.com/github/codeql-action/commit/423b570baf1976cd7a3daeba5d6e9f9b76432f37"><code>423b570</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3946">#3946</a>
from github/dependabot/npm_and_yarn/npm-minor-5d507a...</li>
<li><a
href="https://github.com/github/codeql-action/commit/c35d1b164463ee62a100735382aaaa525c5d3496"><code>c35d1b1</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3947">#3947</a>
from github/dependabot/github_actions/dot-github/wor...</li>
<li><a
href="https://github.com/github/codeql-action/commit/cb1a588b02755b176e7b9d033ed4b69312f0e1bd"><code>cb1a588</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3937">#3937</a>
from github/robertbrignull/waitForProcessing_backoff</li>
<li><a
href="https://github.com/github/codeql-action/commit/ba47406412c54532b5b4fcfbaf877c9e2382b206"><code>ba47406</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3943">#3943</a>
from github/henrymercer/cache-cli-version-info</li>
<li>Additional commits viewable in <a
href="https://github.com/github/codeql-action/compare/87557b9c84dde89fdd9b10e88954ac2f4248e463...8aad20d150bbac5944a9f9d289da16a4b0d87c1e">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>
Signed-off-by: Charlie Egan <charlie_egan@apple.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Charlie Egan <charlie_egan@apple.com>
2026-06-17 11:37:20 +01:00

721 lines
22 KiB
YAML

name: PR Check
on: [ pull_request, merge_group ]
# When a new revision is pushed to a PR, cancel all in-progress CI runs for that
# PR. See https://docs.github.com/en/actions/using-jobs/using-concurrency
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
security-events: write
jobs:
# Check what types of changes this PR contains
check-changes:
name: Check what files changed
runs-on: ubuntu-24.04
outputs:
go: ${{ steps.changes.outputs.go }}
wasm: ${{ steps.changes.outputs.wasm }}
docs: ${{ steps.changes.outputs.docs }}
rego: ${{ steps.changes.outputs.rego }}
yaml: ${{ steps.changes.outputs.yaml }}
steps:
- name: Check out repository code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
fetch-depth: 0
persist-credentials: false
- name: Download OPA
uses: open-policy-agent/setup-opa@b2b258e089860efaadaaf71bf6e3aecb4a3eeff1 # v2.4.0
with:
version: latest
- name: Check for file changes
id: changes
run: | # zizmor: ignore[template-injection] These SHAs are generated by GitHub, not user-controlled.
set -e
# Default to running all checks
echo "go=true" >> $GITHUB_OUTPUT
echo "wasm=true" >> $GITHUB_OUTPUT
echo "docs=true" >> $GITHUB_OUTPUT
echo "rego=true" >> $GITHUB_OUTPUT
echo "yaml=true" >> $GITHUB_OUTPUT
# Get changed files: use git diff for merge_group, PR API for pull_request
if [ -n "${{ github.event.merge_group.base_sha }}" ]; then
git diff --name-only "${{ github.event.merge_group.base_sha }}" "${{ github.event.merge_group.head_sha }}" \
| jq -R '{filename: .}' | jq -s '.' > changed_files.json
elif ! curl -s -o changed_files.json -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files"; then
echo "Error: Failed to fetch changed files from GitHub API"
echo "Defaulting to running all checks (go=true, wasm=true, docs=true, rego=true, yaml=true)"
exit 0
fi
if [ ! -s changed_files.json ]; then
echo "Warning: No changed files found"
echo "Defaulting to running all checks (go=true, wasm=true, docs=true, rego=true, yaml=true)"
exit 0
fi
echo "Changed files:"
jq -r '.[].filename' changed_files.json
opa eval \
--data build/policy/pr-check/pr_check.rego \
--input changed_files.json \
--format pretty \
'data.policy["pr-check"]' > opa_result.json
go_result=$(jq -r '.changes.go // false' opa_result.json)
wasm_result=$(jq -r '.changes.wasm // false' opa_result.json)
docs_result=$(jq -r '.changes.docs // false' opa_result.json)
rego_result=$(jq -r '.changes.rego // false' opa_result.json)
yaml_result=$(jq -r '.changes.yaml // false' opa_result.json)
echo "go=${go_result}" >> $GITHUB_OUTPUT
echo "wasm=${wasm_result}" >> $GITHUB_OUTPUT
echo "docs=${docs_result}" >> $GITHUB_OUTPUT
echo "rego=${rego_result}" >> $GITHUB_OUTPUT
echo "yaml=${yaml_result}" >> $GITHUB_OUTPUT
echo "Final outputs:"
echo " go=${go_result}"
echo " wasm=${wasm_result}"
echo " docs=${docs_result}"
echo " rego=${rego_result}"
echo " yaml=${yaml_result}"
# All jobs essentially re-create the `ci-release-test` make target, but are split
# up for parallel runners for faster PR feedback and a nicer UX.
generate:
name: Generate Code
runs-on: ubuntu-24.04
needs: check-changes
if: ${{ needs.check-changes.outputs.go == 'true' }}
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Generate
run: make clean generate
- name: Upload generated artifacts
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: generated
path: |
internal/compiler/wasm/opa
capabilities.json
go-build:
name: Go Build (${{ matrix.os }}${{ matrix.arch && format(' {0}', matrix.arch) || '' }}${{ matrix.go_tags }})
runs-on: ${{ matrix.run }}
needs: [generate, check-changes]
if: ${{ needs.check-changes.outputs.go == 'true' }}
strategy:
fail-fast: false
matrix:
include:
- os: linux
run: ubuntu-24.04
targets: ci-go-ci-build-linux ci-go-ci-build-linux-static
arch: amd64
- os: linux
run: ubuntu-24.04
targets: ci-go-ci-build-linux ci-go-ci-build-linux-static
arch: arm64
- os: windows
run: ubuntu-24.04
targets: ci-build-windows
arch: amd64
- os: darwin
run: macos-15-intel
targets: ci-build-darwin
arch: amd64
- os: darwin
run: macos-15
targets: ci-build-darwin ci-build-darwin-arm64-static
arch: arm64
- # NB(sr): We're only building this to see that it still builds.
# The resulting binary is not used in any other way.
os: linux
run: ubuntu-24.04
targets: ci-build-linux-static
go_tags: GO_TAGS="-tags=opa_no_oci"
arch: arm64
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Install Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: .go-version
if: matrix.os != 'linux'
- uses: jdx/mise-action@dba19683ed58901619b14f395a24841710cb4925 # v4.1.0
with:
install: true
cache: true
mise_toml: |
[tools]
zig = "0.16.0"
if: matrix.os == 'windows'
- name: Download generated artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: generated
- name: Build
run: make ${{ matrix.go_tags }} ${{ matrix.targets }}
env:
GOARCH: ${{ matrix.arch }}
timeout-minutes: 30
- name: Upload binaries - No Go tags
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: ${{ matrix.go_tags == '' }}
with:
name: binaries-${{ matrix.os }}-${{ matrix.arch }}
path: _release
go-test:
name: Go Test (${{ matrix.os }})
runs-on: ${{ matrix.run }}
needs: [generate, check-changes]
if: ${{ needs.check-changes.outputs.go == 'true' }}
strategy:
fail-fast: false
matrix:
include:
- os: linux
run: ubuntu-24.04
- os: darwin
run: macos-15
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Install Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: .go-version
- name: Install Node
# docs/.nvmrc is the source of truth for the Node version across the repo.
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: docs/.nvmrc
- name: Download generated artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: generated
- name: Unit Test Golang
run: make test-coverage
timeout-minutes: 30
- name: E2E Test Golang
run: make e2e
go-lint:
name: Go Lint
runs-on: ubuntu-24.04
needs: check-changes
if: ${{ needs.check-changes.outputs.go == 'true' }}
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Golang Style and Lint Check
run: make check
timeout-minutes: 30
yaml-lint:
name: YAML Lint
runs-on: ubuntu-24.04
needs: check-changes
if: ${{ needs.check-changes.outputs.yaml == 'true' }}
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: YAML Style and Lint Check
run: make check-yaml-tests
timeout-minutes: 30
env:
YAML_LINT_FORMAT: github
gh-actions-lint:
name: Github Actions Lint
runs-on: ubuntu-24.04
needs: check-changes
if: ${{ needs.check-changes.outputs.yaml == 'true' }}
steps:
- name: Checkout repository
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Run zizmor
uses: zizmorcore/zizmor-action@5f14fd08f7cf1cb1609c1e344975f152c7ee938d # v0.5.6
wasm:
name: WASM
runs-on: ubuntu-24.04
needs: [generate, check-changes]
if: ${{ needs.check-changes.outputs.wasm == 'true' }}
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Download generated artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: generated
- name: Build and Test Wasm
run: make ci-wasm
timeout-minutes: 15
- name: Build and Test Wasm SDK
run: make ci-go-wasm-sdk-e2e-test
timeout-minutes: 30
env:
DOCKER_RUNNING: 0
check-generated:
name: Check Generated
runs-on: ubuntu-24.04
needs: [generate, check-changes]
if: ${{ needs.check-changes.outputs.go == 'true' }}
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Download generated artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: generated
- name: Check Working Copy
run: make ci-check-working-copy
timeout-minutes: 15
env:
DOCKER_RUNNING: 0
race-detector:
name: Go Race Detector
runs-on: ubuntu-24.04
needs: [generate, check-changes]
if: ${{ needs.check-changes.outputs.go == 'true' }}
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Download generated artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: generated
- name: Test with Race Detector
run: make ci-go-race-detector
env:
DOCKER_RUNNING: 0
smoke-test-docker-images:
name: docker image smoke test
runs-on: ubuntu-24.04
needs: [go-build, check-changes]
if: ${{ needs.check-changes.outputs.go == 'true' }}
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Set up QEMU
uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0
with:
platforms: arm64
- name: Download release binaries
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: binaries-*
merge-multiple: true
path: _release
- name: Test amd64 images
run: make ci-image-smoke-test
- name: Test arm64 images
run: make ci-image-smoke-test
env:
GOARCH: arm64
# Note(philipc): We only run the amd64 targets for windows/linux
smoke-test-binaries:
runs-on: ${{ matrix.run }}
needs: [go-build, check-changes]
if: ${{ needs.check-changes.outputs.go == 'true' }}
strategy:
matrix:
include:
- os: linux
run: ubuntu-24.04
exec: opa_linux_amd64
arch: amd64
- os: linux
run: ubuntu-24.04
exec: opa_linux_amd64_static
arch: amd64
wasm: disabled
- os: darwin
run: macos-15-intel
exec: opa_darwin_amd64
arch: amd64
- os: darwin
run: macos-15
exec: opa_darwin_arm64_static
arch: arm64
wasm: disabled
- os: windows
run: windows-latest
exec: opa_windows_amd64.exe
arch: amd64
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Install Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: stable
- name: Download release binaries
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: binaries-${{ matrix.os }}-${{ matrix.arch }}
path: _release
- name: Prep tests
run: cd build/tools && go install tool
- name: CLI E2E tests
run: |
matches=($BINARY_PATH_GLOB) # expand glob
export OPA="$(pwd)/${matches[0]}"
chmod +x "$OPA"
find . -type f -name '*.txtar' -path '*/script/*' -print0 \
| xargs -0 -I{} testscript -e OPA {}
shell: bash
env:
BINARY_PATH_GLOB: _release/*/${{ matrix.exec }}
- name: wasm smoke test
run: _release/*/${{ matrix.exec }} eval --target wasm 'time.now_ns()'
shell: bash
if: matrix.wasm != 'disabled'
go-version-build:
name: Go compat build/test
needs: [generate, check-changes]
if: ${{ needs.check-changes.outputs.go == 'true' }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, macos-15]
version: ["1.25.7"]
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Download generated artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: generated
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: ${{ matrix.version }}
- run: make build
env:
DOCKER_RUNNING: 0
- run: make go-test
env:
DOCKER_RUNNING: 0
# Run PR metadata against Rego policies
rego-check-pr:
name: Rego PR checks
runs-on: ubuntu-24.04
needs: check-changes
if: ${{ needs.check-changes.outputs.rego == 'true' }}
steps:
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
fetch-depth: 0
persist-credentials: false
- name: Download OPA
uses: open-policy-agent/setup-opa@b2b258e089860efaadaaf71bf6e3aecb4a3eeff1 # v2.4.0
with:
version: edge
- name: Test policies
run: opa test --schema build/policy/schema --bundle build/policy
- name: Run file policy checks on changed files
run: |
if [ -n "${{ github.event.merge_group.base_sha }}" ]; then
git diff --name-only "${{ github.event.merge_group.base_sha }}" "${{ github.event.merge_group.head_sha }}" \
| jq -R '{filename: .}' | jq -s '.' > files.json
else
curl --silent --fail --header 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' -o files.json \
https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files
fi
opa eval --bundle build/policy --format values --input files.json --fail-defined 'data.files.deny[message]'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Download Regal
uses: open-policy-agent/setup-regal@761188c3b435761fa254beca508a44875619648f # v2.0.0
with:
version: latest
- name: Run Regal lint
# Current configuration ensures anything but build/policy is ignored. While this could point Regal only at that
# directory, this will serve as a reminder when more Rego policies are added, as they should be linted by default.
run: regal lint --format github .
docs-build:
name: Build Docs
runs-on: ubuntu-24.04
needs: check-changes
if: ${{ needs.check-changes.outputs.docs == 'true' }}
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Install Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: docs/.nvmrc
cache: npm
cache-dependency-path: docs/package-lock.json
- name: Build docs
run: make docs-ci docs-build
docs-fmt-check:
name: Docs Format Check
runs-on: ubuntu-24.04
needs: check-changes
if: ${{ needs.check-changes.outputs.docs == 'true' }}
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Install Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: docs/.nvmrc
cache: npm
cache-dependency-path: docs/package-lock.json
- name: Check docs formatting
run: make docs-ci docs-fmt-check
docs-lint-check:
name: Docs Lint Check
runs-on: ubuntu-24.04
needs: check-changes
if: ${{ needs.check-changes.outputs.docs == 'true' }}
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Install Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: docs/.nvmrc
cache: npm
cache-dependency-path: docs/package-lock.json
- name: Lint docs
run: make docs-ci docs-lint-check
docs-markdownlint-check:
name: Docs Markdownlint Check
runs-on: ubuntu-24.04
needs: check-changes
if: ${{ needs.check-changes.outputs.docs == 'true' }}
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Install Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: docs/.nvmrc
cache: npm
cache-dependency-path: docs/package-lock.json
- name: Check markdown linting
run: make docs-ci docs-markdownlint-check
docs-gen-check:
name: Docs Gen Check
runs-on: ubuntu-24.04
needs: check-changes
if: ${{ needs.check-changes.outputs.docs == 'true' }}
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Build OPA
uses: ./.github/actions/build-opa
- name: Check generated docs are up to date
run: make docs-gen-check
docs-spell-check:
name: Docs Spell Check
runs-on: ubuntu-24.04
needs: check-changes
if: ${{ needs.check-changes.outputs.docs == 'true' }}
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Install Vale
run: |
wget -O vale.tar.gz https://github.com/errata-ai/vale/releases/download/v3.13.0/vale_3.13.0_Linux_64-bit.tar.gz
sudo tar xzf vale.tar.gz -C /usr/local/bin vale
rm vale.tar.gz
vale --version
- name: Run Vale spell check
run: make docs-spell-check
benchmarks:
name: Benchmarks
needs: check-changes
if: github.event_name == 'merge_group' && needs.check-changes.outputs.go == 'true'
uses: ./.github/workflows/run-benchmarks.yaml
with:
publish: false
test-ocp-with-opa:
needs: check-changes
if: github.event_name == 'merge_group' && needs.check-changes.outputs.go == 'true'
uses: ./.github/workflows/test-ocp-with-opa.yaml
test-regal-with-opa:
needs: check-changes
if: github.event_name == 'merge_group' && needs.check-changes.outputs.go == 'true'
uses: ./.github/workflows/test-regal-with-opa.yaml
# This job is required to complete before merging, and is set as a branch
# protection rule:
# https://github.com/open-policy-agent/opa/settings/branch_protection_rules
pr-check-summary:
name: PR Check Summary
runs-on: ubuntu-24.04
needs: [
check-changes,
generate,
go-build,
go-test,
go-lint,
yaml-lint,
gh-actions-lint,
wasm,
check-generated,
race-detector,
smoke-test-docker-images,
smoke-test-binaries,
go-version-build,
rego-check-pr,
docs-build,
docs-fmt-check,
docs-lint-check,
docs-markdownlint-check,
docs-gen-check,
docs-spell-check,
benchmarks,
test-ocp-with-opa,
test-regal-with-opa,
]
if: always()
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Download OPA
uses: open-policy-agent/setup-opa@b2b258e089860efaadaaf71bf6e3aecb4a3eeff1 # v2.4.0
with:
version: edge
- name: Check job results
run: | # zizmor: ignore[template-injection] The 'needs' var is controlled by us.
# Create the input file with all job results
echo '${{ toJSON(needs) }}' > input.json
# Find failed or cancelled jobs using OPA
opa eval -d .github/workflows/pull-request.yaml \
--input=input.json \
'{job|some _, job in data.jobs["pr-check-summary"].needs} & {job | input[job].result in {"failure", "cancelled"}}' \
--format=raw > failed_jobs.json
# Check for failures and display a nice message
if [ "$(cat failed_jobs.json)" != "[]" ]; then
echo "The following required jobs did not complete successfully:"
jq -r '.[]' failed_jobs.json | sed 's/^/- /'
exit 1
fi
echo "All jobs completed successfully or were skipped"