Skip to content

Commit 4622b42

Browse files
authored
fix: add provenance publish notice (#6247)
Signed-off-by: Brian DeHamer <[email protected]>
1 parent 17adfb7 commit 4622b42

File tree

4 files changed

+17
-0
lines changed

4 files changed

+17
-0
lines changed

DEPENDENCIES.md

+2
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ graph LR;
6464
libnpmpublish-->npmcli-eslint-config["@npmcli/eslint-config"];
6565
libnpmpublish-->npmcli-mock-registry["@npmcli/mock-registry"];
6666
libnpmpublish-->npmcli-template-oss["@npmcli/template-oss"];
67+
libnpmpublish-->proc-log;
6768
libnpmpublish-->semver;
6869
libnpmpublish-->ssri;
6970
libnpmsearch-->npm-registry-fetch;
@@ -408,6 +409,7 @@ graph LR;
408409
libnpmpublish-->npmcli-eslint-config["@npmcli/eslint-config"];
409410
libnpmpublish-->npmcli-mock-registry["@npmcli/mock-registry"];
410411
libnpmpublish-->npmcli-template-oss["@npmcli/template-oss"];
412+
libnpmpublish-->proc-log;
411413
libnpmpublish-->semver;
412414
libnpmpublish-->sigstore;
413415
libnpmpublish-->ssri;

package-lock.json

+1
Original file line numberDiff line numberDiff line change
@@ -15210,6 +15210,7 @@
1521015210
"normalize-package-data": "^5.0.0",
1521115211
"npm-package-arg": "^10.1.0",
1521215212
"npm-registry-fetch": "^14.0.3",
15213+
"proc-log": "^3.0.0",
1521315214
"semver": "^7.3.7",
1521415215
"sigstore": "^1.0.0",
1521515216
"ssri": "^10.0.1"

workspaces/libnpmpublish/lib/publish.js

+13
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
const { fixer } = require('normalize-package-data')
22
const npmFetch = require('npm-registry-fetch')
33
const npa = require('npm-package-arg')
4+
const log = require('proc-log')
45
const semver = require('semver')
56
const { URL } = require('url')
67
const ssri = require('ssri')
78
const ciInfo = require('ci-info')
89

910
const { generateProvenance } = require('./provenance')
1011

12+
const TLOG_BASE_URL = 'https://rekor.sigstore.dev/api/v1/log/entries'
13+
1114
const publish = async (manifest, tarballData, opts) => {
1215
if (manifest.private) {
1316
throw Object.assign(
@@ -169,6 +172,16 @@ const buildMetadata = async (registry, manifest, tarballData, spec, opts) => {
169172
}
170173
const provenanceBundle = await generateProvenance([subject], opts)
171174

175+
/* eslint-disable-next-line max-len */
176+
log.notice('publish', 'Signed provenance statement with source and build information from GitHub Actions')
177+
178+
const tlogEntry = provenanceBundle?.verificationMaterial?.tlogEntries[0]
179+
/* istanbul ignore else */
180+
if (tlogEntry) {
181+
const logUrl = `${TLOG_BASE_URL}?logIndex=${tlogEntry.logIndex}`
182+
log.notice('publish', `Provenance statement published to transparency log: ${logUrl}`)
183+
}
184+
172185
const serializedBundle = JSON.stringify(provenanceBundle)
173186
root._attachments[provenanceBundleName] = {
174187
content_type: provenanceBundle.mediaType,

workspaces/libnpmpublish/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
"normalize-package-data": "^5.0.0",
4343
"npm-package-arg": "^10.1.0",
4444
"npm-registry-fetch": "^14.0.3",
45+
"proc-log": "^3.0.0",
4546
"semver": "^7.3.7",
4647
"sigstore": "^1.0.0",
4748
"ssri": "^10.0.1"

0 commit comments

Comments
 (0)