Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
9d3beef
Bump the npm-development group with 4 updates (#554)
dependabot[bot] Mar 24, 2025
e042adb
Bump the npm-development group with 4 updates (#567)
dependabot[bot] Apr 1, 2025
d3b713a
Bump the actions-minor group with 2 updates (#566)
dependabot[bot] Apr 1, 2025
db473fd
bump actions/attest from 2.2.1 to 2.3.0 (#615)
bdehamer Apr 28, 2025
d82e7cd
offboard from eslint in superlinter (#618)
bdehamer Apr 28, 2025
0ca36ea
Bump the npm-development group with 7 updates (#582)
dependabot[bot] May 5, 2025
d848170
Bump super-linter/super-linter in the actions-minor group (#640)
dependabot[bot] May 20, 2025
7d91c40
Bump undici from 5.28.5 to 5.29.0 (#633)
dependabot[bot] May 20, 2025
39cb715
Bump the npm-development group across 1 directory with 7 updates (#641)
dependabot[bot] May 20, 2025
11c67f2
Bump the npm-development group across 1 directory with 6 updates (#649)
dependabot[bot] Jun 10, 2025
e8998f9
bump actions/attest from 2.3.0 to 2.4.0 (#654)
bdehamer Jun 11, 2025
e71c40d
Bump @types/node from 22.15.29 to 24.0.1 (#657)
dependabot[bot] Jun 17, 2025
d3e91f0
Bump the npm-development group across 1 directory with 6 updates (#661)
dependabot[bot] Jun 17, 2025
8827912
Bump jest and @types/jest (#660)
dependabot[bot] Jun 17, 2025
f650dec
update vulnerable deps (#663)
bdehamer Jun 17, 2025
1c9ec82
Bump the npm-development group with 2 updates (#665)
dependabot[bot] Jun 23, 2025
0e115cf
Bump eslint-plugin-jest from 28.14.0 to 29.0.1 (#664)
dependabot[bot] Jun 23, 2025
f923cf6
Bump the npm-development group with 6 updates (#668)
dependabot[bot] Jun 30, 2025
fe74bb2
Bump super-linter/super-linter from 7.4.0 to 8.0.0 (#670)
dependabot[bot] Jul 22, 2025
7a3eb4a
Bump the npm-development group across 1 directory with 6 updates (#671)
dependabot[bot] Jul 22, 2025
961f313
Bump masci/datadog from 1.9.1 to 1.9.2 in the actions-minor group (#672)
dependabot[bot] Jul 28, 2025
fef91c1
Bump the npm-development group with 6 updates (#673)
dependabot[bot] Jul 29, 2025
463e6df
Bump the npm-development group with 3 updates (#678)
dependabot[bot] Aug 6, 2025
f0878de
Bump the npm-development group with 4 updates (#681)
dependabot[bot] Aug 11, 2025
8bd83f1
pin workflow deps (#683)
bdehamer Aug 14, 2025
ff19f40
custom node max-http-header-size (#687)
bdehamer Aug 25, 2025
91ca1c2
Bump actions/checkout from 4.1.1 to 5.0.0 (#684)
dependabot[bot] Aug 26, 2025
8ee7163
refactor eslint config (#690)
bdehamer Aug 26, 2025
57aa2b0
bump actions/attest from v2.4.0 to v3.0.0 (#691)
bdehamer Aug 26, 2025
864457a
Bump to node24 runtime (#692)
bdehamer Aug 27, 2025
977bb37
bump attest-build-provenance/predicate to v2.0.0 (#693)
bdehamer Aug 28, 2025
0b6e980
update doc references to v3 release (#697)
bdehamer Aug 28, 2025
3752c92
Bump github/codeql-action in the actions-minor group (#698)
dependabot[bot] Sep 12, 2025
5a0f9f9
Bump github/codeql-action in the actions-minor group (#705)
dependabot[bot] Oct 6, 2025
bed76f6
Bump actions/setup-node from 4.4.0 to 5.0.0 (#706)
dependabot[bot] Oct 6, 2025
ba965ac
Bump github/codeql-action from 3.30.3 to 4.30.8 (#716)
dependabot[bot] Oct 17, 2025
d6e68ff
Bump js-yaml from 3.14.1 to 3.14.2 (#749)
dependabot[bot] Nov 18, 2025
2087a22
Bump actions/setup-node from 5.0.0 to 6.0.0 (#719)
dependabot[bot] Nov 18, 2025
268464d
Bump the actions-minor group across 1 directory with 3 updates (#751)
dependabot[bot] Nov 18, 2025
a2b933c
Bump @actions/attest from 1.6.0 to 2.0.0 (#736)
dependabot[bot] Nov 20, 2025
5c2d257
Bump the npm-development group across 1 directory with 11 updates (#752)
dependabot[bot] Nov 20, 2025
ccf7725
Bump tar from 7.5.1 to 7.5.2 (#753)
dependabot[bot] Nov 20, 2025
f8ed128
Bump glob from 10.4.5 to 10.5.0 (#754)
dependabot[bot] Nov 20, 2025
a6fede4
Bump actions/upload-artifact from 4 to 5 (#755)
dependabot[bot] Nov 24, 2025
b92f224
Bump actions/checkout from 5.0.1 to 6.0.0 (#756)
dependabot[bot] Nov 24, 2025
08a89fb
Bump eslint-plugin-jest in the npm-development group (#757)
dependabot[bot] Nov 24, 2025
2dc334f
Bump github/codeql-action in the actions-minor group (#760)
dependabot[bot] Dec 1, 2025
ca0aaa1
Bump the npm-development group with 2 updates (#759)
dependabot[bot] Dec 1, 2025
61d781f
Bump the npm-development group with 3 updates (#766)
dependabot[bot] Dec 8, 2025
c6f9859
Bump the actions-minor group with 3 updates (#765)
dependabot[bot] Dec 8, 2025
4f2d058
Bump github/codeql-action in the actions-minor group (#771)
dependabot[bot] Dec 15, 2025
5dea0e5
Bump actions/upload-artifact from 5.0.0 to 6.0.0 (#772)
dependabot[bot] Dec 15, 2025
bd4fc03
Bump the npm-development group with 5 updates (#773)
dependabot[bot] Dec 15, 2025
331a7ac
Bump @types/node from 24.10.1 to 25.0.2 (#774)
dependabot[bot] Dec 15, 2025
8835c60
Bump @actions/attest from 2.0.0 to 2.1.0 (#775)
dependabot[bot] Dec 16, 2025
00014ed
Add support for creating artifact metadata storage records (#779)
malancas Dec 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 0 additions & 10 deletions .github/linters/.yaml-lint.yml

This file was deleted.

9 changes: 0 additions & 9 deletions .github/linters/tsconfig.json

This file was deleted.

6 changes: 3 additions & 3 deletions .github/workflows/check-dist.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v4
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Setup Node.js
id: setup-node
uses: actions/setup-node@v4
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
with:
node-version-file: .node-version
cache: npm
Expand Down Expand Up @@ -60,7 +60,7 @@ jobs:
- if: ${{ failure() && steps.diff.outcome == 'failure' }}
name: Upload Artifact
id: upload
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6.0.0
with:
name: dist
path: dist/
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Setup Node.js
id: setup-node
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
with:
node-version-file: .node-version
cache: npm
Expand Down Expand Up @@ -57,7 +57,7 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Run attest-provenance
id: attest-provenance
uses: ./
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,19 +32,19 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v4
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Initialize CodeQL
id: initialize
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@1b168cd39490f61582a9beae412bb7057a6b2c4e # v4.31.8
with:
languages: ${{ matrix.language }}
source-root: src

- name: Autobuild
id: autobuild
uses: github/codeql-action/autobuild@v3
uses: github/codeql-action/autobuild@1b168cd39490f61582a9beae412bb7057a6b2c4e # v4.31.8

- name: Perform CodeQL Analysis
id: analyze
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@1b168cd39490f61582a9beae412bb7057a6b2c4e # v4.31.8
51 changes: 0 additions & 51 deletions .github/workflows/linter.yml

This file was deleted.

8 changes: 4 additions & 4 deletions .github/workflows/prober.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
date > artifact

- name: Attest build provenance
uses: actions/attest-build-provenance@v2
uses: actions/attest-build-provenance@v3
env:
INPUT_PRIVATE-SIGNING: ${{ inputs.sigstore == 'github' && 'true' || 'false' }}
with:
Expand All @@ -42,13 +42,13 @@ jobs:
gh attestation verify ./artifact --owner "$GITHUB_REPOSITORY_OWNER"

- name: Upload build artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
with:
path: "artifact"

- name: Report attestation prober success
if: ${{ success() }}
uses: masci/datadog@a5d283e78e33a688ed08a96ba64440505e645a8c # v1.7.1
uses: masci/datadog@a3f481d2ed0f4e1edde2be2f564b94719d6d4bc2 # v1.9.3
with:
api-key: "${{ secrets.DATADOG_API_KEY }}"
service-checks: |
Expand All @@ -66,7 +66,7 @@ jobs:

- name: Report attestation prober failure
if: ${{ failure() }}
uses: masci/datadog@a5d283e78e33a688ed08a96ba64440505e645a8c # v1.7.1
uses: masci/datadog@a3f481d2ed0f4e1edde2be2f564b94719d6d4bc2 # v1.9.3
with:
api-key: "${{ secrets.DATADOG_API_KEY }}"
service-checks: |
Expand Down
22 changes: 0 additions & 22 deletions .github/workflows/publish-immutable-actions.yml

This file was deleted.

File renamed without changes.
2 changes: 1 addition & 1 deletion .node-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
20.6.0
24.5.0
36 changes: 27 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,16 +46,20 @@ attest:
permissions:
id-token: write
attestations: write
artifact-metadata: write
```

The `id-token` permission gives the action the ability to mint the OIDC token
necessary to request a Sigstore signing certificate. The `attestations`
permission is necessary to persist the attestation.
The `artifact-metadata` permission is required to generate artifact
metadata storage records. If this permission is not included, the action
will continue without creating the record.

1. Add the following to your workflow after your artifact has been built:

```yaml
- uses: actions/attest-build-provenance@v2
- uses: actions/attest-build-provenance@v3
with:
subject-path: '<PATH TO ARTIFACT>'
```
Expand All @@ -68,7 +72,7 @@ attest:
See [action.yml](action.yml)

```yaml
- uses: actions/attest-build-provenance@v2
- uses: actions/attest-build-provenance@v3
with:
# Path to the artifact serving as the subject of the attestation. Must
# specify exactly one of "subject-path", "subject-digest", or
Expand All @@ -95,6 +99,12 @@ See [action.yml](action.yml)
# the "subject-digest" parameter be specified. Defaults to false.
push-to-registry:

# Whether to create a storage record for the artifact.
# Requires that push-to-registry is set to true.
# Requires that the "subject-name" parameter specify the fully-qualified
# image name. Defaults to true.
create-storage-record:

# Whether to attach a list of generated attestations to the workflow run
# summary page. Defaults to true.
show-summary:
Expand All @@ -121,6 +131,10 @@ Attestations are saved in the JSON-serialized [Sigstore bundle][6] format.
If multiple subjects are being attested at the same time, a single attestation
will be created with references to each of the supplied subjects.

The absolute path to the generated attestation is appended to the file
`${RUNNER_TEMP}/created_attestation_paths.txt`. This file will accumulate the
paths to all attestations created over the course of a single workflow.

## Attestation Limits

### Subject Limits
Expand Down Expand Up @@ -155,7 +169,7 @@ jobs:
- name: Build artifact
run: make my-app
- name: Attest
uses: actions/attest-build-provenance@v2
uses: actions/attest-build-provenance@v3
with:
subject-path: '${{ github.workspace }}/my-app'
```
Expand All @@ -166,7 +180,7 @@ If you are generating multiple artifacts, you can attest all of them at the same
time by using a wildcard in the `subject-path` input.

```yaml
- uses: actions/attest-build-provenance@v2
- uses: actions/attest-build-provenance@v3
with:
subject-path: 'dist/**/my-bin-*'
```
Expand All @@ -178,13 +192,13 @@ Alternatively, you can explicitly list multiple subjects with either a comma or
newline delimited list:

```yaml
- uses: actions/attest-build-provenance@v2
- uses: actions/attest-build-provenance@v3
with:
subject-path: 'dist/foo, dist/bar'
```

```yaml
- uses: actions/attest-build-provenance@v2
- uses: actions/attest-build-provenance@v3
with:
subject-path: |
dist/foo
Expand All @@ -205,7 +219,7 @@ attestation.
- name: Calculate artifact digests
run: |
shasum -a 256 foo_0.0.1_* > subject.checksums.txt
- uses: actions/attest-build-provenance@v2
- uses: actions/attest-build-provenance@v3
with:
subject-checksums: subject.checksums.txt
```
Expand Down Expand Up @@ -239,6 +253,10 @@ the specific image being attested is identified by the supplied digest.
Attestation bundles are stored in the OCI registry according to the [Cosign
Bundle Specification][10].

If the `push-to-registry` option is set to true, the Action will also
emit an Artifact Metadata Storage Record. If you do not want to emit a
storage record, set `create-storage-record` to `false`.

> **NOTE**: When pushing to Docker Hub, please use "index.docker.io" as the
> registry portion of the image name.

Expand Down Expand Up @@ -278,7 +296,7 @@ jobs:
push: true
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
- name: Attest
uses: actions/attest-build-provenance@v2
uses: actions/attest-build-provenance@v3
id: attest
with:
subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
Expand All @@ -300,7 +318,7 @@ artifact directly into the `subject-digest` input of the attestation action.
path: dist/*
name: artifact.zip

- uses: actions/attest-build-provenance@v2
- uses: actions/attest-build-provenance@v3
with:
subject-name: artifact.zip
subject-digest: sha256:${{ steps.upload.outputs.artifact-digest }}
Expand Down
2 changes: 1 addition & 1 deletion __tests__/__snapshots__/main.test.ts.snap
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing

exports[`main when a non-default OIDC issuer is used successfully run main 1`] = `
{
Expand Down
13 changes: 11 additions & 2 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,12 @@ inputs:
and that the "subject-digest" parameter be specified. Defaults to false.
default: false
required: false
create-storage-record:
description: >
Whether to create a storage record for the artifact.
Requires that push-to-registry is set to true. Defaults to true.
default: true
required: false
show-summary:
description: >
Whether to attach a list of generated attestations to the workflow run
Expand All @@ -62,10 +68,12 @@ outputs:
runs:
using: 'composite'
steps:
- uses: actions/attest-build-provenance/predicate@1176ef556905f349f669722abf30bce1a6e16e01 # predicate@1.1.5
- uses: actions/attest-build-provenance/predicate@864457a58d4733d7f1574bd8821fa24e02cf7538 # predicate@2.0.0
id: generate-build-provenance-predicate
- uses: actions/attest@a63cfcc7d1aab266ee064c58250cfc2c7d07bc31 # v2.2.1
- uses: actions/attest@7667f588f2f73a90cea6c7ac70e78266c4f76616 # v3.1.0
id: attest
env:
NODE_OPTIONS: "--max-http-header-size=32768"
with:
subject-path: ${{ inputs.subject-path }}
subject-digest: ${{ inputs.subject-digest }}
Expand All @@ -74,5 +82,6 @@ runs:
predicate-type: ${{ steps.generate-build-provenance-predicate.outputs.predicate-type }}
predicate: ${{ steps.generate-build-provenance-predicate.outputs.predicate }}
push-to-registry: ${{ inputs.push-to-registry }}
create-storage-record: ${{ inputs.create-storage-record }}
show-summary: ${{ inputs.show-summary }}
github-token: ${{ inputs.github-token }}
Loading