Skip to content

feat(updatecli/updatecli): GitHub artifact attestations config#51053

Merged
suzuki-shunsuke merged 1 commit into
aquaproj:mainfrom
scop:feat/updatecli-artifact-attestations
Mar 27, 2026
Merged

feat(updatecli/updatecli): GitHub artifact attestations config#51053
suzuki-shunsuke merged 1 commit into
aquaproj:mainfrom
scop:feat/updatecli-artifact-attestations

Conversation

@scop

@scop scop commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

https://github.com/updatecli/updatecli/attestations

Check List

Summary by CodeRabbit

  • New Features
    • Added support for updatecli v0.114.0.
    • Enhanced package verification with checksum validation and cosign signature verification for improved security.

@coderabbitai

coderabbitai Bot commented Mar 26, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

This PR adds version-constrained package registry entries for updatecli/updatecli, including checksum verification via checksums.txt with cosign signature validation and GitHub artifact attestations to establish release integrity across multiple registry files.

Changes

Cohort / File(s) Summary
Package Version Registration
pkgs/updatecli/updatecli/pkg.yaml
Added explicit updatecli/updatecli entry pinned to version v0.114.0.
Registry Configuration with Integrity Verification
pkgs/updatecli/updatecli/registry.yaml, registry.yaml
Added version-constrained package entries (semver("<= 0.114.0")) defining asset naming patterns, tar.gz format with OS/arch replacements, and Windows zip overrides. Configured checksum validation from checksums.txt with cosign signature bundle verification. Added github_artifact_attestations with signer_workflow referencing the release workflow for attestation verification.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • aquaproj/aqua-registry#50113: Adds version-constrained registry entries with tar.gz assets, checksum/cosign verification, Windows zip overrides, and GitHub artifact attestations.
  • aquaproj/aqua-registry#49707: Introduces semver-constrained package overrides with platform-specific asset rules and github_artifact_attestations configurations.
  • aquaproj/aqua-registry#50573: Adds semver-constrained registry blocks with checksum verification and GitHub artifact attestation metadata to package registry files.

Suggested labels

enhancement

Poem

🐰 A rabbit hops through registries neat,
Adding versions, checksums complete,
Cosign bundles seal the way,
Updatecli's verified today! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is incomplete; it only provides a reference link and unchecked checklist items without explaining the actual changes, rationale, or implementation details. Add a clear explanation of what GitHub artifact attestations were configured, why they were added, and how they benefit security or verification for the updatecli package.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding GitHub artifact attestations configuration for the updatecli/updatecli package.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 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/updatecli/updatecli/registry.yaml`:
- Around line 139-140: The github_artifact_attestations signer_workflow value is
intentionally a regex with escaped dots; leave the github_artifact_attestations
-> signer_workflow entry (the string
updatecli/updatecli/\.github/workflows/release\.yaml) unchanged so the pattern
matches literal dots rather than any-character wildcards.

In `@registry.yaml`:
- Around line 89553-89576: The registry entry for updatecli incorrectly adds a
github_artifact_attestations verification block (associated with the asset
"updatecli_{{.OS}}_{{.Arch}}.{{.Format}}" and version_constraint semver("<=
0.114.0")), but updatecli does not produce GitHub artifact attestations; remove
the entire github_artifact_attestations block from this updatecli configuration
(or replace it with a comment and escalate to the updatecli team to confirm
attestation support) so registry lookups no longer attempt to verify
non‑existent attestations.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 73208003-ca45-4d14-a669-7f8df216105d

📥 Commits

Reviewing files that changed from the base of the PR and between 7897362 and 8d9484f.

📒 Files selected for processing (3)
  • pkgs/updatecli/updatecli/pkg.yaml
  • pkgs/updatecli/updatecli/registry.yaml
  • registry.yaml

Comment on lines +139 to +140
github_artifact_attestations:
signer_workflow: updatecli/updatecli/\.github/workflows/release\.yaml

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify artifact attestations are available for updatecli/updatecli

gh attestation verify --help >/dev/null 2>&1 || { echo "gh attestation not available"; exit 0; }

# Check if attestations page exists (referenced in PR description)
curl -sI "https://github.com/updatecli/updatecli/attestations" | head -1

Repository: aquaproj/aqua-registry

Length of output: 77


🏁 Script executed:

# Check if tfcmt registry.yaml exists and examine line 103 area
fd -t f "tfcmt" -p "registry.yaml" | head -5

Repository: aquaproj/aqua-registry

Length of output: 166


🏁 Script executed:

# Verify updatecli registry.yaml content at lines 139-140
fd -t f "updatecli" -p "registry.yaml" -x cat -n {} | sed -n '135,145p'

Repository: aquaproj/aqua-registry

Length of output: 166


🏁 Script executed:

# Find updatecli registry.yaml and check lines 139-140
find . -name registry.yaml | grep updatecli | head -1

Repository: aquaproj/aqua-registry

Length of output: 106


🏁 Script executed:

# Find tfcmt registry.yaml and check around line 103
find . -name registry.yaml | grep tfcmt | head -1

Repository: aquaproj/aqua-registry

Length of output: 109


🏁 Script executed:

# Find suzuki-shunsuke/tfcmt registry.yaml
find . -path "*suzuki-shunsuke*tfcmt*registry.yaml" | head -1

Repository: aquaproj/aqua-registry

Length of output: 108


🏁 Script executed:

# Verify updatecli registry.yaml content at lines 139-140
cat -n ./pkgs/updatecli/updatecli/registry.yaml | sed -n '135,145p'

Repository: aquaproj/aqua-registry

Length of output: 354


🏁 Script executed:

# Verify tfcmt registry.yaml content at lines 100-110 to see the pattern referenced
cat -n ./pkgs/suzuki-shunsuke/tfcmt/registry.yaml | sed -n '100,110p'

Repository: aquaproj/aqua-registry

Length of output: 48


🏁 Script executed:

# Check total lines in tfcmt registry.yaml
wc -l ./pkgs/suzuki-shunsuke/tfcmt/registry.yaml

Repository: aquaproj/aqua-registry

Length of output: 111


🏁 Script executed:

# Search for github_artifact_attestations pattern in tfcmt registry.yaml
grep -n "github_artifact_attestations" ./pkgs/suzuki-shunsuke/tfcmt/registry.yaml

Repository: aquaproj/aqua-registry

Length of output: 106


🏁 Script executed:

# Check the github_artifact_attestations section in tfcmt (lines 88-89)
cat -n ./pkgs/suzuki-shunsuke/tfcmt/registry.yaml | sed -n '88,89p'

Repository: aquaproj/aqua-registry

Length of output: 211


GitHub artifact attestations configuration is correct.

The signer_workflow pattern with backslash-escaped dots (\.) is intentional and correct—aqua treats this field as a regular expression, so escaping the dots ensures precise literal matching rather than "any character" matching.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pkgs/updatecli/updatecli/registry.yaml` around lines 139 - 140, The
github_artifact_attestations signer_workflow value is intentionally a regex with
escaped dots; leave the github_artifact_attestations -> signer_workflow entry
(the string updatecli/updatecli/\.github/workflows/release\.yaml) unchanged so
the pattern matches literal dots rather than any-character wildcards.

Comment thread registry.yaml
Comment on lines +89553 to +89576
- version_constraint: semver("<= 0.114.0")
asset: updatecli_{{.OS}}_{{.Arch}}.{{.Format}}
format: tar.gz
replacements:
amd64: x86_64
darwin: Darwin
linux: Linux
windows: Windows
checksum:
type: github_release
asset: checksums.txt
algorithm: sha256
cosign:
bundle:
type: github_release
asset: checksums.txt.sig
opts:
- --certificate-identity
- "https://github.com/updatecli/updatecli/.github/workflows/release.yaml@refs/tags/{{.Version}}"
- --certificate-oidc-issuer
- https://token.actions.githubusercontent.com
overrides:
- goos: windows
format: zip

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check the updatecli attestations page referenced in PR description
# and verify which versions have attestations available

# Check recent releases to understand attestation availability
gh api repos/updatecli/updatecli/releases --jq '.[0:5] | .[] | {tag_name, published_at}'

# Check if attestations exist for v0.114.0 and a newer version
echo "---"
echo "Checking attestations for v0.114.0:"
gh attestation verify --owner updatecli --repo updatecli --format json 2>&1 | head -20 || echo "No attestation check available via CLI"

Repository: aquaproj/aqua-registry

Length of output: 2111


🏁 Script executed:

# First, let's check the registry.yaml file around the specified lines
sed -n '89553,89576p' registry.yaml | cat -n

echo "---"

# Also check the second hunk mentioned (around 89601-89602)
sed -n '89595,89610p' registry.yaml | cat -n

Repository: aquaproj/aqua-registry

Length of output: 1847


🌐 Web query:

updatecli GitHub artifact attestations support release history

💡 Result:

Updatecli does not support GitHub artifact attestations. No mentions of artifact attestations, SLSA provenance, Sigstore, or related terms like "attest-build-provenance" appear in Updatecli's release notes (6,7,11,14), changelogs, documentation (50,51,52,54,62), GitHub repository (13), workflows, or searches across its ecosystem. Updatecli focuses on declarative dependency updates via pipelines with sources, conditions, targets, and actions like GitHub pull requests (54), but lacks integration with GitHub's artifact attestation features introduced in 2024 (1,4,58,64). Other tools like GoReleaser (5), GitHub CLI (1,2,3), and Trivy (61) explicitly added support, but Updatecli has no equivalent in releases up to v0.114.0 (2026-02-24,13) or workflows.

Citations:


Remove github_artifact_attestations from updatecli configuration—updatecli does not produce artifact attestations.

The registry change adds github_artifact_attestations verification for updatecli based on the assumption that attestations are available for versions > 0.114.0. However, updatecli does not support GitHub artifact attestations at any version. Searching updatecli's releases, changelogs, documentation, and GitHub workflows shows no artifact attestation support, SLSA provenance, or Sigstore integration. The configuration attempting to verify non-existent attestations will cause registry lookups to fail.

Remove the github_artifact_attestations block or verify with the updatecli team that artifact attestation support has been added to their release workflow.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@registry.yaml` around lines 89553 - 89576, The registry entry for updatecli
incorrectly adds a github_artifact_attestations verification block (associated
with the asset "updatecli_{{.OS}}_{{.Arch}}.{{.Format}}" and version_constraint
semver("<= 0.114.0")), but updatecli does not produce GitHub artifact
attestations; remove the entire github_artifact_attestations block from this
updatecli configuration (or replace it with a comment and escalate to the
updatecli team to confirm attestation support) so registry lookups no longer
attempt to verify non‑existent attestations.

@suzuki-shunsuke suzuki-shunsuke added this to the v4.488.0 milestone Mar 27, 2026
@suzuki-shunsuke

Copy link
Copy Markdown
Member

Thank you!

@suzuki-shunsuke suzuki-shunsuke merged commit 6abea71 into aquaproj:main Mar 27, 2026
19 checks passed
@github-project-automation github-project-automation Bot moved this to Done in main Mar 27, 2026
@scop scop deleted the feat/updatecli-artifact-attestations branch March 27, 2026 20:57
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Apr 2, 2026
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

[#&#8203;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 [@&#8203;azu](https://github.com/azu)

#### Fixes

[#&#8203;51341](aquaproj/aqua-registry#51341) Enable windows support for latest Zellij [@&#8203;attakei](https://github.com/attakei)
[#&#8203;51352](aquaproj/aqua-registry#51352) goreleaser/goreleaser: Disable cosign verification at v2.15.0 and v2.15.1
[#&#8203;51351](aquaproj/aqua-registry#51351) anthropics/claude-code: Exclude v2.1.88 as it's unavailable
[#&#8203;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

[#&#8203;51332](aquaproj/aqua-registry#51332) [getdbt.com/dbt-fusion](https://docs.getdbt.com/docs/local/install-dbt) The next-generation engine for dbt [@&#8203;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

[#&#8203;51331](aquaproj/aqua-registry#51331) steveyegge/beads: Rename gastownhall/beads
[#&#8203;51272](aquaproj/aqua-registry#51272) Azure/azure-dev: Re-scaffold [@&#8203;Petermarcu](https://github.com/Petermarcu)
[#&#8203;51222](aquaproj/aqua-registry#51222) shinagawa-web/gomarklint: no assets for 2.1.0 [@&#8203;scop](https://github.com/scop)
[#&#8203;51046](aquaproj/aqua-registry#51046) Re-scaffold magefile/mage [@&#8203;frozenbonito](https://github.com/frozenbonito)

#### Security

[#&#8203;51254](aquaproj/aqua-registry#51254) lxc/incus: GitHub artifact attestations config [@&#8203;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 [@&#8203;djgoku](https://github.com/djgoku)

#### Fixes

[#&#8203;50956](aquaproj/aqua-registry#50956) dimo414/bkt: Split darwin arm64 support at 0.8.1 [@&#8203;mtibben](https://github.com/mtibben)
[#&#8203;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

[#&#8203;50878](aquaproj/aqua-registry#50878) [RasKrebs/sonar](https://github.com/RasKrebs/sonar) - CLI tool for inspecting and managing services listening on localhost ports [@&#8203;TyceHerrman](https://github.com/TyceHerrman)

#### Security

[#&#8203;50868](aquaproj/aqua-registry#50868) terraprovider/statebridge: GitHub artifact attestations config [@&#8203;scop](https://github.com/scop)
[#&#8203;51053](aquaproj/aqua-registry#51053) updatecli/updatecli: GitHub artifact attestations config [@&#8203;scop](https://github.com/scop)

#### Fixes

[#&#8203;50962](aquaproj/aqua-registry#50962) drager/wasm-pack: rename the package to wasm-bindgen/wasm-pack
[#&#8203;50942](aquaproj/aqua-registry#50942) google/go-jsonnet: support v0.22.0 asset naming change [@&#8203;tak848](https://github.com/tak848)
[#&#8203;50835](aquaproj/aqua-registry#50835) fix various typos [@&#8203;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==-->
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