feat(action): attestation/update-pr-map - Update attestation map in PR
- Dominant language
- Shell
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Parent Epic
Part of #22 (Atomic Release Pipeline Actions)
## Priority
P0 - Core attestation functionality used by W1, W5
## Description
Create a composite action that updates the attestation map in a PR description.
Adds or updates an attestation ID for a given check name, using HTML comments:
```html
```
## Inputs
| Input | Required | Default | Description |
|-------|----------|---------|-------------|
| `pr-number` | Yes | - | PR number to update |
| `check-name` | Yes | - | Name of the check (e.g., "lint-test-v1.32.11") |
| `attestation-id` | Yes | - | The attestation ID to store |
| `token` | No | `github.token` | GitHub token for API access |
## Outputs
| Output | Description |
|--------|-------------|
| `updated` | "true" if successfully updated |
| `map` | Updated JSON object |
## Usage Example
```yaml
- uses: arustydev/gha/actions/attestation/update-pr-map@v1
with:
pr-number: ${{ github.event.pull_request.number }}
check-name: "lint-test-v1.32.11"
attestation-id: ${{ steps.attest.outputs.attestation-id }}
```
## Source Reference
`helm-charts/.github/scripts/attestation-lib.sh`:
- `update_attestation_map()` (lines 36-118)
## Implementation Notes
- Use exponential backoff retry for concurrent updates
- Create map section if it doesn't exist
- Preserve existing attestations when adding new ones
Contributor guide
Assessment
This issue has not been assessed yet.