Skip to content

Commit 2442e3c

Browse files
authored
Update provenance docs (npm#679)
* Update provenance docs Update provenance docs to clarify you need to use a public source repository and add a note for the first version. Signed-off-by: Philip Harrison <philip@mailharrison.com> * Add note about npm cli version Signed-off-by: Philip Harrison <philip@mailharrison.com> --------- Signed-off-by: Philip Harrison <philip@mailharrison.com>
1 parent 0f98027 commit 2442e3c

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

content/packages-and-modules/securing-your-code/generating-provenance-statements.mdx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ The transparency log service provides a public, verifiable, tamper-evident ledge
2626

2727
## Provenance limitations
2828

29-
- In order to publish a package with provenance, you must build your package with a supported cloud CI/CD provider using a cloud-hosted runner. Today this includes GitHub Actions, and we are collaborating with additional providers to expand support. For more information on how to establish provenance using GitHub Actions, see "[Publishing packages with provenance via GitHub Actions][publishing-with-provenance]."
29+
- In order to publish a package with provenance, you must build your package with a supported cloud CI/CD provider using a cloud-hosted runner from a public source repository. Today this includes GitHub Actions, and we are collaborating with additional providers to expand support. For more information on how to establish provenance using GitHub Actions, see "[Publishing packages with provenance via GitHub Actions][publishing-with-provenance]."
3030
- When a package in the npm registry has established provenance, it does not guarantee the package has no malicious code. Instead, npm provenance provides a verifiable link to the package's source code and build instructions, which developers can then audit and determine whether to trust it or not. For more information, see "[Searching for and choosing packages to download][provenance-info]."
3131

3232
## Prerequisites
@@ -35,9 +35,9 @@ Before you can publish your packages with provenance, you must:
3535

3636
- Review the [Linux Foundation Immutable Record notice](https://lfprojects.org/policies/hosted-project-tools-immutable-records/), which applies to the public transparency log.
3737

38-
- Install the latest version of the npm CLI. For more information, see "[Try the latest stable version of npm][update-npm]."
38+
- Install the latest version of the npm CLI (ensure you are on `9.5.0+` as older versions don't support npm provenance). For more information, see "[Try the latest stable version of npm][update-npm]."
3939

40-
- Ensure your `package.json` is configured with a `repository` that matches where you are publishing with provenance from.
40+
- Ensure your `package.json` is configured with a public `repository` that matches where you are publishing with provenance from.
4141

4242
- Set up a GitHub Actions workflow to publish your packages to the npm registry. For more information, see [Understanding GitHub Actions][understand-actions] in the GitHub documentation.
4343

@@ -66,6 +66,12 @@ To update your GitHub Actions workflow to publish your packages with provenance,
6666
npm publish --provenance
6767
```
6868

69+
- If you are publishing a package for the first time you will also need to explicitly set access to public:
70+
71+
```
72+
npm publish --provenance --access public
73+
```
74+
6975
### Example GitHub Actions workflow
7076

7177
This example workflow publishes a package to the npm registry with provenance.

0 commit comments

Comments
 (0)