anchor.diff:            ].join(' '));
           }
         } else {
  -        print("No results recieved for build $buildNumber of $builder");
  +        print('No results recieved for build $buildNumber of $builder');
         }
       } else {
  -      print("HTTP status ${response.statusCode} received "
  -          "when fetching build data");
  +      print('HTTP status ${response.statusCode} received '
  +          'when fetching build data');
       }
     }
     print('No status received for build $buildNumber of $builder '
         'after $numAttempts attempts, with 10 second waits.');
     exit(2);
   }
  +
  +void printResultsFeedLink() async {
  +  if (builder.endsWith('-try')) return;
  +  final query = {
  +    'from': [
  +      {'collectionId': 'configurations'}
  +    ],
  +    'where': {
  +      'fieldFilter': {
  +        'field': {'fieldPath': 'builder'},
  +        'op': 'EQUAL',
  +        'value': {'stringValue': builder}
  +      }
  +    }
  +  };
  +  final response = await runFirestoreQuery(query);
  +  if (response.statusCode == HttpStatus.ok) {
  +    final documents = jsonDecode(response.body);
  +    final groups = <String>{
  +      for (Map document in documents)
  +        if (document.containsKey('document'))
  +          document['document']['fields']['builder']['stringValue']
  +              .split('-')
  +              .first
  +    };
  +    String fragment = [
  +      'showLatestFailures=true',
  +      'showUnapprovedOnly=true',
  +      if (groups.isNotEmpty) 'configurationGroups=${groups.join(',')}'
  +    ].join('&');
  +    final link = 'https://dart-ci.firebaseapp.com/#$fragment';
  +    print('Failures link: $link');
  +  } else {
  +    print('HTTP status ${response.statusCode} received '
  +        'when fetching configurations for results feed link');
  +    print('HTTP response: ${response.body}');
  +  }
  +}
  +
  +Future<http.Response> runFirestoreQuery(Map<String, dynamic> query) {
  +  final json = jsonEncode({'structuredQuery': query});
  +  final headers = {
  +    'Authorization': 'Bearer $token',
  +    'Accept': 'application/json',
  +    'Content-Type': 'application/json'
  +  };
  +  return client.post(queryUrl, headers: headers, body: json);
  +}
  
positive.code:             print('No unapproved new failures');
              if (activeFailures == true) {
                print('There are unapproved failures from previous builds');
              }
            } else {
              print('There are unapproved new failures on this build');
            }
            exit((success && (activeFailures != true)) ? 0 : 1);
          }
  
negative.code:     usage(parser);
    }
  
    builder = options['builder'];
    final buildNumber = options['build_number'];
    final table = builder.endsWith('-try') ? 'try_builds' : 'builds';
    token = await File(options['auth_token']).readAsString();
    client = http.Client();
    final query = {
      'from': [
        {'collectionId': table}
      ],
      'limit': 1,
      'where': {
        'compositeFilter': {
          'op': 'AND',
          'filters': [
            {
              'fieldFilter': {
                'field': {'fieldPath': 'build_number'},
                'op': 'EQUAL',
                'value': {'integerValue': buildNumber}
              }
            },
            {
              'fieldFilter': {
                'field': {'fieldPath': 'builder'},
                'op': 'EQUAL',
                'value': {'stringValue': builder}
              }
            }
          ]
        }
      }
    };
    for (int count = 0; count < numAttempts; ++count) {
      if (count > 0) {
        await Future.delayed(Duration(seconds: 10));
      }
      final response = await runFirestoreQuery(query);
      if (response.statusCode == HttpStatus.ok) {
        final documents = jsonDecode(response.body);
        final document = documents.first['document'];
  