No metadata when CI=true (#2837)
diff --git a/lib/src/http.dart b/lib/src/http.dart
index 04bfa10..3645c3b 100644
--- a/lib/src/http.dart
+++ b/lib/src/http.dart
@@ -80,6 +80,11 @@
if (request.url.origin != 'https://pub.dartlang.org') return false;
}
+ if (Platform.environment.containsKey('CI') &&
+ Platform.environment['CI'] != 'false') {
+ return false;
+ }
+
return true;
}
diff --git a/test/hosted/metadata_test.dart b/test/hosted/metadata_test.dart
index 342bd11..7554a0f 100644
--- a/test/hosted/metadata_test.dart
+++ b/test/hosted/metadata_test.dart
@@ -95,5 +95,19 @@
await pubCommand(command, silent: isNot(contains('X-Pub-')));
});
+
+ test("doesn't send metadata headers when CI=true", () async {
+ await servePackages((builder) {
+ builder.serve('foo', '1.0.0');
+ });
+
+ await d.appDir({'foo': '1.0.0'}).create();
+
+ await pubCommand(command,
+ silent: isNot(contains('X-Pub-')),
+ environment: {
+ 'CI': 'true',
+ });
+ });
});
}
diff --git a/test/test_pub.dart b/test/test_pub.dart
index dfef189..beff0ce 100644
--- a/test/test_pub.dart
+++ b/test/test_pub.dart
@@ -374,6 +374,7 @@
/// Gets the environment variables used to run pub in a test context.
Map<String, String> getPubTestEnvironment([String tokenEndpoint]) {
var environment = {
+ 'CI': 'false', // unless explicitly given tests don't run pub in CI mode
'_PUB_TESTING': 'true',
'PUB_CACHE': _pathInSandbox(cachePath),
'PUB_ENVIRONMENT': 'test-environment',