Skip to content

Commit 328d136

Browse files
mstykowclaude
andcommitted
chore: add repo dev tooling to mirror the main project
Add Renovate config (docker + github-actions managers; the wrapped Provenant image tag stays manually pinned per action release), AGENTS.md/CLAUDE.md agent guidance, SECURITY.md and CONTRIBUTING.md pointing at the main project, and a PR template. Brings the action repo's conventions in line with getprovenant/provenant. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Maxim Stykow <maxim@mirelo.ai>
1 parent 4e11a84 commit 328d136

5 files changed

Lines changed: 103 additions & 0 deletions

File tree

.github/pull_request_template.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## Summary
2+
3+
-
4+
5+
## How to verify
6+
7+
<!-- How to exercise this change beyond what CI runs. If the CI self-test fully covers it, say so. -->
8+
9+
-
10+
11+
## Checklist
12+
13+
- [ ] Commits are signed off (`git commit -s`, DCO)
14+
- [ ] SPDX headers present on any new source files
15+
- [ ] Third-party GitHub Actions pinned by SHA

AGENTS.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Agent Guidelines for provenant-action
2+
3+
This repository is the **GitHub Action** wrapper for [Provenant](https://github.com/getprovenant/provenant),
4+
the Rust, ScanCode-compatible license/copyright/SBOM scanner. It is intentionally tiny: it does not
5+
contain the scanner, only a thin Docker container action that runs the published image.
6+
7+
## What this repo is
8+
9+
- A Docker container action (`runs.using: docker`). It builds a wrapper image that `FROM`s
10+
`ghcr.io/getprovenant/provenant` and adds a static busybox `sh` so `entrypoint.sh` can map the
11+
action inputs onto a `provenant scan` command line.
12+
- The scanner itself, its docs, and its release pipeline live in the main repo
13+
[`getprovenant/provenant`](https://github.com/getprovenant/provenant). Behavior questions about
14+
scanning, flags, or output belong there.
15+
16+
## Key files
17+
18+
- `action.yml` — action metadata, inputs, and the fixed positional arg order passed to the entrypoint.
19+
- `Dockerfile` — the wrapper image. Its `FROM ghcr.io/getprovenant/provenant:<tag>` line **pins the
20+
wrapped Provenant version** for a given action release.
21+
- `entrypoint.sh` — assembles and execs `provenant scan` from the four positional inputs. Keep it
22+
POSIX `sh` (busybox), and keep `paths`/`args` word-splitting intentional (see the inline comments).
23+
- `.github/workflows/ci.yml` — self-test that runs the action against `testdata/`.
24+
25+
## Conventions (mirror the main repo)
26+
27+
- Every source file carries SPDX headers (`SPDX-FileCopyrightText` + `SPDX-License-Identifier: Apache-2.0`).
28+
- Sign off commits with `git commit -s` (DCO).
29+
- Use Conventional Commits for commit messages and PR titles.
30+
- Pin third-party GitHub Actions by commit SHA (with a trailing `# vN` comment), matching the main repo.
31+
32+
## Versioning and releases
33+
34+
- The wrapped Provenant version is selected by the `FROM` tag in the `Dockerfile`, **not** by a
35+
call-time input (GitHub Actions forbids expressions in a container action's image reference).
36+
- Cutting an action release: bump the `Dockerfile` `FROM` tag to a concrete, working Provenant
37+
version, tag `vX.Y.Z`, and move the floating `vX` tag. Consumers pin `@vN` or a full SHA.
38+
39+
## Current caveat
40+
41+
The published `ghcr.io/getprovenant/provenant:latest` is a known-broken glibc build; a musl-static
42+
rebuild is merged upstream but not yet released. Until that release ships, the CI self-test's scan
43+
step is expected to fail and is guarded with `continue-on-error`. **Once a working image is
44+
published, pin the `Dockerfile` `FROM` to that version and remove `continue-on-error` from
45+
`.github/workflows/ci.yml`** so the self-test actually gates.

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@AGENTS.md

CONTRIBUTING.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Contributing to provenant-action
2+
3+
Thanks for helping improve the Provenant GitHub Action. This is a small wrapper repository; the
4+
scanner and its contributor guide live in the main project,
5+
[`getprovenant/provenant`](https://github.com/getprovenant/provenant/blob/main/CONTRIBUTING.md).
6+
7+
## Ground rules
8+
9+
- **Sign off your commits** with `git commit -s` (Developer Certificate of Origin).
10+
- Use **Conventional Commits** for commit messages and PR titles (e.g. `fix:`, `feat:`, `docs:`, `ci:`).
11+
- Keep every source file's **SPDX headers** intact (`SPDX-FileCopyrightText` + `SPDX-License-Identifier: Apache-2.0`).
12+
- Pin any third-party GitHub Action by commit SHA with a trailing `# vN` comment.
13+
- Read [`AGENTS.md`](AGENTS.md) for the repo layout, how the wrapper image works, and the release flow.
14+
15+
## Testing a change
16+
17+
The `.github/workflows/ci.yml` self-test runs the action against the committed fixture in `testdata/`.
18+
Run the action locally by building the image and invoking the entrypoint, e.g.:
19+
20+
```sh
21+
docker build -t provenant-action-dev .
22+
docker run --rm -v "$PWD:/github/workspace" -w /github/workspace provenant-action-dev \
23+
testdata json-pp - "--license --package"
24+
```
25+
26+
Behavior questions about scanning, flags, or output belong in the main repository.

SECURITY.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Security Policy
2+
3+
This repository is the GitHub Action wrapper for [Provenant](https://github.com/getprovenant/provenant).
4+
Most security-relevant behavior lives in the scanner itself; please report issues through the main
5+
project's policy.
6+
7+
## Reporting a Vulnerability
8+
9+
Do not disclose suspected security issues in public issues, discussions, or pull requests first.
10+
11+
- Prefer GitHub's private vulnerability reporting flow on this repository, or report through the main
12+
project's policy: <https://github.com/getprovenant/provenant/security/policy>.
13+
- If a private reporting path is not available, open a minimal public issue requesting a secure
14+
contact channel, without exploit details or proof-of-concept code.
15+
16+
Please allow a reasonable window for a fix before any public disclosure.

0 commit comments

Comments
 (0)