summaryrefslogtreecommitdiff
path: root/cli/tools/registry/mod.rs
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2024-02-29 21:48:47 +0530
committerGitHub <noreply@github.com>2024-02-29 21:48:47 +0530
commit9ffc34c1599e9d45a6d419166347c52b7859b649 (patch)
tree393e65f1d737a5324fe2f46e7a235d8b85d30f52 /cli/tools/registry/mod.rs
parentab7173346932b5f638094bdceda277ab157db287 (diff)
feat(publish): enable package provenance by default on github actions (#22635)
Diffstat (limited to 'cli/tools/registry/mod.rs')
-rw-r--r--cli/tools/registry/mod.rs16
1 files changed, 10 insertions, 6 deletions
diff --git a/cli/tools/registry/mod.rs b/cli/tools/registry/mod.rs
index b862ed6a6..4e1b9d5e1 100644
--- a/cli/tools/registry/mod.rs
+++ b/cli/tools/registry/mod.rs
@@ -470,7 +470,7 @@ async fn perform_publish(
mut publish_order_graph: PublishOrderGraph,
mut prepared_package_by_name: HashMap<String, Rc<PreparedPublishPackage>>,
auth_method: AuthMethod,
- provenance: bool,
+ no_provenance: bool,
) -> Result<(), AnyError> {
let client = http_client.client()?;
let registry_api_url = jsr_api_url().to_string();
@@ -531,7 +531,7 @@ async fn perform_publish(
&registry_api_url,
&registry_url,
&authorization,
- provenance,
+ no_provenance,
)
.await
.with_context(|| format!("Failed to publish {}", display_name))?;
@@ -558,7 +558,7 @@ async fn publish_package(
registry_api_url: &str,
registry_url: &str,
authorization: &str,
- provenance: bool,
+ no_provenance: bool,
) -> Result<(), AnyError> {
let client = http_client.client()?;
println!(
@@ -665,8 +665,12 @@ async fn publish_package(
package.version
);
- if provenance {
- // Get the version manifest from JSR
+ let enable_provenance = std::env::var("DISABLE_JSR_PROVENANCE").is_err()
+ || (auth::is_gha() && auth::gha_oidc_token().is_some() && !no_provenance);
+
+ // Enable provenance by default on Github actions with OIDC token
+ if enable_provenance {
+ // Get the version manifest from the registry
let meta_url = jsr_url().join(&format!(
"@{}/{}/{}_meta.json",
package.scope, package.package, package.version
@@ -942,7 +946,7 @@ pub async fn publish(
prepared_data.publish_order_graph,
prepared_data.package_by_name,
auth_method,
- publish_flags.provenance,
+ publish_flags.no_provenance,
)
.await?;