feat(terraprovider/statebridge): GitHub artifact attestations config#50868
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughAdded a Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@pkgs/terraprovider/statebridge/registry.yaml`:
- Around line 30-31: The signer_workflow value under the
github_artifact_attestations entry is incorrectly escaped
("terraprovider/statebridge/\.github/workflows/release\.yml"); update the
signer_workflow for github_artifact_attestations to the literal
repository/workflow path without backslashes
("terraprovider/statebridge/.github/workflows/release.yml") so it matches the
expected owner/repo/.github/workflows/workflow.yml format used by the
attestation verifier.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 3a650062-41f6-4029-8e79-c1ab8de04cae
📒 Files selected for processing (2)
pkgs/terraprovider/statebridge/registry.yamlregistry.yaml
| github_artifact_attestations: | ||
| signer_workflow: terraprovider/statebridge/\.github/workflows/release\.yml |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check if the workflow file exists in the repository
fd -t f "release.yml" .github/workflows/
# Search for other examples of github_artifact_attestations in the registry
rg -n "github_artifact_attestations:" --type=yaml -A 2
# Check if there's schema documentation
fd -t f "registry.json" .ai/Repository: aquaproj/aqua-registry
Length of output: 33286
🌐 Web query:
aqua-registry github_artifact_attestations signer_workflow format
💡 Result:
In aqua's registry configuration (aqua-registry), github_artifact_attestations is a configuration block for verifying GitHub Artifact Attestations (SLSA provenance) for package assets and checksums during installation. It requires aqua >= v2.35.0. Configuration format (YAML): github_artifact_attestations: signer_workflow: <workflow-path> # string, path to the GitHub Actions workflow that generated the attestation enabled: true|false # bool, optional (default likely true if configured) Example from docs: packages: - type: github_release ... github_artifact_attestations: signer_workflow: suzuki-shunsuke/go-release-workflow/.github/workflows/release.yaml checksum: ... github_artifact_attestations: signer_workflow: suzuki-shunsuke/go-release-workflow/.github/workflows/release.yaml The signer_workflow specifies the exact workflow file (repo_owner/repo_name/.github/workflows/<file.yaml>) used to sign/attest the artifact. aqua verifies the downloaded asset's digest matches an attestation from that workflow via GitHub API/gh CLI. This enables automatic verification on install if configured in the registry (e.g., aqua's standard registry at https://github.com/aquaproj/aqua-registry).
Citations:
- 1: https://aquaproj.github.io/docs/reference/registry-config/github-artifact-attestations/
- 2: https://aquaproj.github.io/docs/reference/security/github-artifact-attestations
- 3: https://aquaproj.github.io/docs/reference/registry-config/
- 4: https://aquaproj.github.io/docs/reference/registry-config/github-artifact-attestations
Remove backslash escaping from the signer_workflow path.
The signer_workflow value contains incorrect backslash escaping: terraprovider/statebridge/\.github/workflows/release\.yml. This field must be a literal repository/workflow path in the format owner/repo/.github/workflows/workflow.yml. All other entries in the registry use unescaped paths. The escaped version will fail to match during GitHub artifact attestation verification.
Fix
github_artifact_attestations:
- signer_workflow: terraprovider/statebridge/\.github/workflows/release\.yml
+ signer_workflow: terraprovider/statebridge/.github/workflows/release.yml📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| github_artifact_attestations: | |
| signer_workflow: terraprovider/statebridge/\.github/workflows/release\.yml | |
| github_artifact_attestations: | |
| signer_workflow: terraprovider/statebridge/.github/workflows/release.yml |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@pkgs/terraprovider/statebridge/registry.yaml` around lines 30 - 31, The
signer_workflow value under the github_artifact_attestations entry is
incorrectly escaped
("terraprovider/statebridge/\.github/workflows/release\.yml"); update the
signer_workflow for github_artifact_attestations to the literal
repository/workflow path without backslashes
("terraprovider/statebridge/.github/workflows/release.yml") so it matches the
expected owner/repo/.github/workflows/workflow.yml format used by the
attestation verifier.
There was a problem hiding this comment.
This analysis is incorrect per aquaproj/aqua#4663
There was a problem hiding this comment.
@scop, thank you for the correction and for pointing to aquaproj/aqua#4663. I apologize for the incorrect analysis — if signer_workflow is treated as a regex pattern in aqua, then the backslash escaping of the dots (\.github and \.yml) is intentional and correct, making the match more precise rather than treating . as "any character." The configuration is fine as written.
(`∩`-´)⊃━☆゚.*・。゚
✏️ Learnings added
Learnt from: scop
Repo: aquaproj/aqua-registry PR: 50868
File: pkgs/terraprovider/statebridge/registry.yaml:30-31
Timestamp: 2026-03-24T18:44:49.068Z
Learning: In aquaproj/aqua-registry registry.yaml, the `signer_workflow` field under `github_artifact_attestations` is treated as a regular expression pattern by aqua (per aquaproj/aqua PR `#4663`). Therefore, backslash-escaping dots in the path (e.g., `terraprovider/statebridge/\.github/workflows/release\.yml`) is intentional and correct — it makes the regex match more precise by escaping `.` to mean a literal dot rather than "any character". Do NOT flag these backslash-escaped patterns as errors.
Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.
🧠 Learnings used
Learnt from: joonas
Repo: aquaproj/aqua-registry PR: 49970
File: pkgs/majorcontext/moat/pkg.yaml:1-2
Timestamp: 2026-03-07T20:27:43.459Z
Learning: In pkgs/**/pkg.yaml for aquaproj/aqua-registry: Testing multiple versions (latest + older pinned version) is only required when there are multiple version_overrides entries in registry.yaml that exercise different configurations (e.g., different asset names, formats, or supported platforms for different version ranges). When registry.yaml has only a single version_overrides entry with version_constraint: "true" (a catch-all that applies identically to all versions), there are no distinct code paths to test, so adding an older pinned version to pkg.yaml is unnecessary.
Learnt from: iwata
Repo: aquaproj/aqua-registry PR: 50659
File: registry.yaml:90258-90259
Timestamp: 2026-03-19T11:28:43.690Z
Learning: In aquaproj/aqua-registry, for the vercel-labs/agent-browser package: versions v0.7.1 through v0.7.4 do NOT have downloadable binary assets on GitHub releases (they only fixed npm packaging). The registry.yaml correctly uses `no_asset: true` for `version_constraint: semver("<= 0.7.4")` to skip these versions. Only v0.7.0 and v0.8.0+ have actual GitHub release binary assets.
Learnt from: suzuki-shunsuke
Repo: aquaproj/aqua-registry PR: 49968
File: pkgs/remko/age-plugin-se/registry.yaml:50-64
Timestamp: 2026-03-07T22:51:01.421Z
Learning: In aquaproj/aqua-registry, do not flag missing trailing newlines based solely on the diff view. Git diffs do not display trailing newline characters, so a file that appears to be missing one in the diff may already have a proper trailing newline. This kind of comment is a false positive and should be avoided.
Learnt from: CR
Repo: aquaproj/aqua-registry PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-03-05T23:42:18.298Z
Learning: Applies to pkgs/**/registry.yaml : Remove unnecessary quotes from string values in registry.yaml
Learnt from: CR
Repo: aquaproj/aqua-registry PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-26T14:18:44.682Z
Learning: Applies to **/registry.yaml : For registry.yaml configuration, use the JSON Schema defined at .ai/aqua/json-schema/registry.json
Learnt from: CR
Repo: aquaproj/aqua-registry PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-26T14:18:44.682Z
Learning: Refer to the aqua documentation in the aquaproj/aqua repository at https://github.com/aquaproj/aqua for guidance and information
2405956 to
bb50dfc
Compare
|
aquaproj/registry-action#977 needed to fix CI |
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [aquaproj/aqua-registry](https://github.com/aquaproj/aqua-registry) | minor | `v4.487.0` → `v4.491.0` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>aquaproj/aqua-registry (aquaproj/aqua-registry)</summary> ### [`v4.491.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.491.0) [Compare Source](aquaproj/aqua-registry@v4.490.0...v4.491.0) [Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.491.0) | [Merge Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.491.0) | <aquaproj/aqua-registry@v4.490.0...v4.491.0> #### 🎉 New Packages [#​51349](aquaproj/aqua-registry#51349) [azu/dockerfile-pin](https://github.com/azu/dockerfile-pin) - A CLI tool that adds `@sha256:<digest>` to FROM lines in Dockerfiles and image fields in docker-compose.yml to prevent supply chain attacks [@​azu](https://github.com/azu) #### Fixes [#​51341](aquaproj/aqua-registry#51341) Enable windows support for latest Zellij [@​attakei](https://github.com/attakei) [#​51352](aquaproj/aqua-registry#51352) goreleaser/goreleaser: Disable cosign verification at v2.15.0 and v2.15.1 [#​51351](aquaproj/aqua-registry#51351) anthropics/claude-code: Exclude v2.1.88 as it's unavailable [#​51350](aquaproj/aqua-registry#51350) Re-scaffold dandavison/delta ### [`v4.490.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.490.0) [Compare Source](aquaproj/aqua-registry@v4.489.0...v4.490.0) [Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.490.0) | [Merge Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.490.0) | <aquaproj/aqua-registry@v4.489.0...v4.490.0> #### 🎉 New Packages [#​51332](aquaproj/aqua-registry#51332) [getdbt.com/dbt-fusion](https://docs.getdbt.com/docs/local/install-dbt) The next-generation engine for dbt [@​ryan-pip](https://github.com/ryan-pip) > \[!NOTE] > To update this package using Renovate, please update aqua-renovate-config to 2.12.0 or later. > <https://github.com/aquaproj/aqua-renovate-config/releases/tag/2.12.0> #### Fixes [#​51331](aquaproj/aqua-registry#51331) steveyegge/beads: Rename gastownhall/beads [#​51272](aquaproj/aqua-registry#51272) Azure/azure-dev: Re-scaffold [@​Petermarcu](https://github.com/Petermarcu) [#​51222](aquaproj/aqua-registry#51222) shinagawa-web/gomarklint: no assets for 2.1.0 [@​scop](https://github.com/scop) [#​51046](aquaproj/aqua-registry#51046) Re-scaffold magefile/mage [@​frozenbonito](https://github.com/frozenbonito) #### Security [#​51254](aquaproj/aqua-registry#51254) lxc/incus: GitHub artifact attestations config [@​scop](https://github.com/scop) ### [`v4.489.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.489.0) [Compare Source](aquaproj/aqua-registry@v4.488.0...v4.489.0) [Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.489.0) | [Merge Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.489.0) | <aquaproj/aqua-registry@v4.488.0...v4.489.0> #### 🎉 New Packages [emacs-eask/cli](https://github.com/emacs-eask/cli) - CLI for building, running, testing, and managing your Emacs Lisp dependencies [@​djgoku](https://github.com/djgoku) #### Fixes [#​50956](aquaproj/aqua-registry#50956) dimo414/bkt: Split darwin arm64 support at 0.8.1 [@​mtibben](https://github.com/mtibben) [#​51180](aquaproj/aqua-registry#51180) zerocore-ai/microsandbox: Rename to superradcompany/microsandbox ### [`v4.488.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.488.0) [Compare Source](aquaproj/aqua-registry@v4.487.0...v4.488.0) [Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.488.0) | [Merge Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.488.0) | <aquaproj/aqua-registry@v4.487.0...v4.488.0> #### 🎉 New Packages [#​50878](aquaproj/aqua-registry#50878) [RasKrebs/sonar](https://github.com/RasKrebs/sonar) - CLI tool for inspecting and managing services listening on localhost ports [@​TyceHerrman](https://github.com/TyceHerrman) #### Security [#​50868](aquaproj/aqua-registry#50868) terraprovider/statebridge: GitHub artifact attestations config [@​scop](https://github.com/scop) [#​51053](aquaproj/aqua-registry#51053) updatecli/updatecli: GitHub artifact attestations config [@​scop](https://github.com/scop) #### Fixes [#​50962](aquaproj/aqua-registry#50962) drager/wasm-pack: rename the package to wasm-bindgen/wasm-pack [#​50942](aquaproj/aqua-registry#50942) google/go-jsonnet: support v0.22.0 asset naming change [@​tak848](https://github.com/tak848) [#​50835](aquaproj/aqua-registry#50835) fix various typos [@​Marukome0743](https://github.com/Marukome0743) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTAiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbIlJlbm92YXRlIEJvdCIsImF1dG9tYXRpb246Ym90LWF1dGhvcmVkIiwiZGVwZW5kZW5jeS10eXBlOjptaW5vciJdfQ==-->
https://github.com/terraprovider/statebridge/attestations
Check List
argd scommand when adding new packagesSummary by CodeRabbit