aRustyDev / aRustyDev/gh

feat(action): attestation/update-pr-map - Update attestation map in PR

Open
#24 2 comments 0 reactions 1 assignee Claimed by @aRustyDev View on GitHub
enhancement new-action
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.