fix: download.shorebird.dev symbol downloads not working (#1707)
Co-authored-by: Felix Angelov <felix@shorebird.dev>
This commit is contained in:
@@ -26,6 +26,7 @@ final engineArtifactPatterns = {
|
||||
r'flutter_infra_release\/flutter\/(.*)\/linux-arm64-profile\/linux-arm64-flutter-gtk\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/ios\/artifacts\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/ios-release\/artifacts\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/ios-release\/Flutter.dSYM\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/ios-profile\/artifacts\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/flutter-web-sdk\.zip', // Web SDK seems to be all-platform after 3.10.0.
|
||||
r'flutter_infra_release\/flutter\/(.*)\/flutter-web-sdk-windows-x64\.zip', // Platform-specific web-sdks may no longer needed as of 3.10.0?
|
||||
@@ -57,6 +58,7 @@ final engineArtifactPatterns = {
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-x64-release\/linux-x64\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-x64-release\/darwin-x64\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-x64-release\/artifacts\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-x64-release\/symbols\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-x64-profile\/windows-x64\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-x64-profile\/linux-x64\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-x64-profile\/darwin-x64\.zip',
|
||||
@@ -66,19 +68,23 @@ final engineArtifactPatterns = {
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm64-release\/linux-x64\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm64-release\/darwin-x64\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm64-release\/artifacts\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm64-release\/symbols\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm64-profile\/windows-x64\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm64-profile\/linux-x64\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm64-profile\/darwin-x64\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm64-profile\/artifacts\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm64-profile\/symbols\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm\/artifacts\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm-release\/windows-x64\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm-release\/linux-x64\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm-release\/darwin-x64\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm-release\/artifacts\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm-release\/symbols\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm-profile\/windows-x64\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm-profile\/linux-x64\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm-profile\/darwin-x64\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm-profile\/artifacts\.zip',
|
||||
r'flutter_infra_release\/flutter\/(.*)\/android-arm-profile\/symbols\.zip',
|
||||
r'download.flutter.io\/io\/flutter\/x86_debug\/1\.0\.0-(.*)\/x86_debug-1\.0\.0-(.*)\.pom',
|
||||
r'download.flutter.io\/io\/flutter\/x86_64_release\/1\.0\.0-(.*)\/x86_64_release-1\.0\.0-(.*)\.pom\.sha1',
|
||||
r'download.flutter.io\/io\/flutter\/x86_64_release\/1\.0\.0-(.*)\/x86_64_release-1\.0\.0-(.*)\.pom',
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:artifact_proxy/artifact_proxy.dart';
|
||||
import 'package:checked_yaml/checked_yaml.dart';
|
||||
import 'package:mocktail/mocktail.dart';
|
||||
import 'package:shelf/shelf.dart';
|
||||
import 'package:test/test.dart';
|
||||
@@ -14,9 +15,12 @@ void main() {
|
||||
flutterEngineRevision: 'ec975089acb540fc60752606a3d3ba809dd1528b',
|
||||
storageBucket: 'download.shorebird.dev',
|
||||
artifactOverrides: {
|
||||
r'flutter_infra_release/flutter/$engine/android-arm-64-release/artifacts.zip',
|
||||
r'flutter_infra_release/flutter/$engine/android-arm64-release/artifacts.zip',
|
||||
r'flutter_infra_release/flutter/$engine/android-arm64-release/symbols.zip',
|
||||
r'flutter_infra_release/flutter/$engine/android-arm-release/artifacts.zip',
|
||||
r'flutter_infra_release/flutter/$engine/android-arm-release/symbols.zip',
|
||||
r'flutter_infra_release/flutter/$engine/android-x64-release/artifacts.zip',
|
||||
r'flutter_infra_release/flutter/$engine/android-x64-release/symbols.zip',
|
||||
r'download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-$engine/flutter_embedding_release-1.0.0-$engine.pom',
|
||||
r'download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-$engine/flutter_embedding_release-1.0.0-$engine.jar',
|
||||
r'download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-$engine/arm64_v8a_release-1.0.0-$engine.pom',
|
||||
@@ -142,5 +146,33 @@ void main() {
|
||||
expect(response.headers['content-type'], equals('text/html'));
|
||||
expect(response.readAsString(), completion(contains('Shorebird')));
|
||||
});
|
||||
|
||||
// artifact_proxy only runs on linux currently.
|
||||
test('generate_manifest matches config', () async {
|
||||
// Make a temp directory, run generate_manifest, parse the yaml
|
||||
// and make sure all urls are handled.
|
||||
const engineRevision = '8b89f8bd9fc6982aa9c4557fd0e5e89db1ff9986';
|
||||
final result = Process.runSync('/bin/sh', [
|
||||
'tool/generate_manifest.sh',
|
||||
engineRevision,
|
||||
]);
|
||||
expect(result.exitCode, equals(0));
|
||||
final manifest = checkedYamlDecode(
|
||||
result.stdout as String,
|
||||
(m) => ArtifactsManifest.fromJson(m!),
|
||||
);
|
||||
expect(manifest.artifactOverrides, isNotEmpty);
|
||||
|
||||
for (final pattern in manifest.artifactOverrides) {
|
||||
final path = pattern.replaceAll(r'$engine', engineRevision);
|
||||
final request = buildRequest(path);
|
||||
final response = await handler(request);
|
||||
expect(
|
||||
response.statusCode,
|
||||
isNot(HttpStatus.notFound),
|
||||
reason: 'Pattern $pattern not handled',
|
||||
);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
|
||||
set -e
|
||||
|
||||
# NOTE: If you edit this file you also may need to edit the global list
|
||||
# of all known artifacts in config.dart
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "Usage: ./generate_manifest.sh <flutter_engine_revision>"
|
||||
exit 1
|
||||
@@ -61,3 +64,4 @@ artifact_overrides:
|
||||
# iOS release artifacts
|
||||
# Includes unified Flutter.framework for device and simulator (debug)
|
||||
- flutter_infra_release/flutter/\$engine/ios-release/artifacts.zip
|
||||
- flutter_infra_release/flutter/\$engine/ios-release/Flutter.dSYM.zip
|
||||
|
||||
Reference in New Issue
Block a user