Skip to content

Commit 6649b0b

Browse files
committed
fix(nextcloud_test_presets): Add missing checksums for server presets
Signed-off-by: provokateurin <kate@provokateurin.de>
1 parent 45593d6 commit 6649b0b

File tree

4 files changed

+46
-15
lines changed

4 files changed

+46
-15
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
SERVER_VERSION=28.0.10-fpm-alpine@sha256:7ca7cfb30118f3f28cb6a77f8e81459c66a91f8c224219af940a39d26493fe25
22
COOKBOOK_URL=https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.2/cookbook-0.11.2.tar.gz
3+
COOKBOOK_CHECKSUM=sha256:ba96d3773bb5ec11fab5e860094713c41bd354e3b7d4aae2ff7def19de149f2c
34
DROP_ACCOUNT_URL=https://packages.framasoft.org/projects/nextcloud-apps/drop-account/drop_account-2.6.1.tar.gz
5+
DROP_ACCOUNT_CHECKSUM=sha256:226e84712aa61d62e99eaa834abc7cd4496ed07289830af06cefeb58c4135123
46
NEWS_URL=https://github.com/nextcloud/news/releases/download/25.0.0-alpha9/news.tar.gz
7+
NEWS_CHECKSUM=sha256:8c7d45fc8648b65644a6c7e05e14688e2603e9911586cb91bf3f10b346775052
58
NOTES_URL=https://github.com/nextcloud-releases/notes/releases/download/v4.11.0/notes-v4.11.0.tar.gz
9+
NOTES_CHECKSUM=sha256:7693027a18e13d0a0e03e31574b786737ef4866a96ce6b0c733815d3c9bf70ee
610
SPREED_URL=https://github.com/nextcloud-releases/spreed/releases/download/v18.0.12/spreed-v18.0.12.tar.gz
11+
SPREED_CHECKSUM=sha256:a4e9cbe6ecfc15cb875059fba2da7d3508a73aa9bea02997447c784ccd8dba42
712
TABLES_URL=https://github.com/nextcloud-releases/tables/releases/download/v0.8.1/tables-v0.8.1.tar.gz
13+
TABLES_CHECKSUM=sha256:d39dd61f4408fef8618fb2015923b478e33b372467812b1b515722ca466bf05a
814
UPPUSH_URL=https://codeberg.org/NextPush/uppush/archive/1.5.1.tar.gz
15+
UPPUSH_CHECKSUM=sha256:99ab0dbd371db8f4abe1dae2e1af7cba374c814edf644edb949051fa977566e9
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
SERVER_VERSION=29.0.7-fpm-alpine@sha256:c0f2102721226d67c63472a853125b1acf723a5f6a5de498b60721d1058c3ea6
22
COOKBOOK_URL=https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.2/cookbook-0.11.2.tar.gz
3+
COOKBOOK_CHECKSUM=sha256:ba96d3773bb5ec11fab5e860094713c41bd354e3b7d4aae2ff7def19de149f2c
34
DROP_ACCOUNT_URL=https://packages.framasoft.org/projects/nextcloud-apps/drop-account/drop_account-2.6.1.tar.gz
5+
DROP_ACCOUNT_CHECKSUM=sha256:226e84712aa61d62e99eaa834abc7cd4496ed07289830af06cefeb58c4135123
46
NEWS_URL=https://github.com/nextcloud/news/releases/download/25.0.0-alpha9/news.tar.gz
7+
NEWS_CHECKSUM=sha256:8c7d45fc8648b65644a6c7e05e14688e2603e9911586cb91bf3f10b346775052
58
NOTES_URL=https://github.com/nextcloud-releases/notes/releases/download/v4.11.0/notes-v4.11.0.tar.gz
9+
NOTES_CHECKSUM=sha256:7693027a18e13d0a0e03e31574b786737ef4866a96ce6b0c733815d3c9bf70ee
610
SPREED_URL=https://github.com/nextcloud-releases/spreed/releases/download/v19.0.10/spreed-v19.0.10.tar.gz
11+
SPREED_CHECKSUM=sha256:0969950116e26408e032964aa1f594f454f2fcb0b3f335ee41d18ce943078d9e
712
TABLES_URL=https://github.com/nextcloud-releases/tables/releases/download/v0.8.1/tables-v0.8.1.tar.gz
13+
TABLES_CHECKSUM=sha256:d39dd61f4408fef8618fb2015923b478e33b372467812b1b515722ca466bf05a
814
UPPUSH_URL=https://codeberg.org/NextPush/uppush/archive/1.5.1.tar.gz
15+
UPPUSH_CHECKSUM=sha256:99ab0dbd371db8f4abe1dae2e1af7cba374c814edf644edb949051fa977566e9
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
SERVER_VERSION=30.0.0-fpm-alpine@sha256:c13308eaba442e9af950fb79e4d2fc4e8258d22e9ef68b85953d6431b17618c1
22
COOKBOOK_URL=https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.2/cookbook-0.11.2.tar.gz
3+
COOKBOOK_CHECKSUM=sha256:ba96d3773bb5ec11fab5e860094713c41bd354e3b7d4aae2ff7def19de149f2c
34
DROP_ACCOUNT_URL=https://packages.framasoft.org/projects/nextcloud-apps/drop-account/drop_account-2.6.1.tar.gz
5+
DROP_ACCOUNT_CHECKSUM=sha256:226e84712aa61d62e99eaa834abc7cd4496ed07289830af06cefeb58c4135123
46
NEWS_URL=https://github.com/nextcloud/news/releases/download/25.0.0-alpha9/news.tar.gz
7+
NEWS_CHECKSUM=sha256:8c7d45fc8648b65644a6c7e05e14688e2603e9911586cb91bf3f10b346775052
58
NOTES_URL=https://github.com/nextcloud-releases/notes/releases/download/v4.11.0/notes-v4.11.0.tar.gz
9+
NOTES_CHECKSUM=sha256:7693027a18e13d0a0e03e31574b786737ef4866a96ce6b0c733815d3c9bf70ee
610
SPREED_URL=https://github.com/nextcloud-releases/spreed/releases/download/v20.0.1/spreed-v20.0.1.tar.gz
11+
SPREED_CHECKSUM=sha256:9942666ce30c2249bff376beef1716e7d4d36abe7c0f8974124fa466845dc46f
712
TABLES_URL=https://github.com/nextcloud-releases/tables/releases/download/v0.8.1/tables-v0.8.1.tar.gz
13+
TABLES_CHECKSUM=sha256:d39dd61f4408fef8618fb2015923b478e33b372467812b1b515722ca466bf05a
814
UPPUSH_URL=https://codeberg.org/NextPush/uppush/archive/1.5.1.tar.gz
15+
UPPUSH_CHECKSUM=sha256:99ab0dbd371db8f4abe1dae2e1af7cba374c814edf644edb949051fa977566e9

packages/nextcloud/packages/nextcloud_test_presets/lib/src/generate_presets.dart

+25-15
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ Future<void> generatePresets() async {
2424
serverReleases.sort((a, b) => b.compareTo(a));
2525
final apps = await _getApps(appIDs, httpClient);
2626

27-
final urlChecksums = <String, String>{};
28-
2927
for (final app in apps) {
3028
final appPresetsDir = Directory('docker/presets/${app.id}');
3129
if (appPresetsDir.existsSync()) {
@@ -51,21 +49,11 @@ Future<void> generatePresets() async {
5149
a.findLatestRelease();
5250
}
5351

54-
if (urlChecksums[appRelease.url] == null) {
55-
final request = http.Request('GET', Uri.parse(appRelease.url));
56-
57-
final streamedResponse = await httpClient.send(request);
58-
if (streamedResponse.statusCode != 200) {
59-
throw Exception('Unable to get app, status code: ${streamedResponse.statusCode}');
60-
}
61-
62-
final checksum = await sha256.bind(streamedResponse.stream).first;
63-
urlChecksums[appRelease.url] = checksum.toString();
64-
}
52+
final checksum = await _getUrlChecksum(httpClient, appRelease.url);
6553

6654
buffer
6755
..writeln('${a.id.toUpperCase()}_URL=${appRelease.url}')
68-
..writeln('${a.id.toUpperCase()}_CHECKSUM=sha256:${urlChecksums[appRelease.url]}');
56+
..writeln('${a.id.toUpperCase()}_CHECKSUM=sha256:$checksum');
6957
}
7058

7159
File('${appPresetsDir.path}/${release.presetVersion}').writeAsStringSync(buffer.toString());
@@ -85,7 +73,12 @@ Future<void> generatePresets() async {
8573
final release = app.findLatestCompatibleRelease(serverRelease) ??
8674
app.findLatestCompatibleRelease(serverRelease, allowUnstable: true) ??
8775
app.findLatestRelease();
88-
buffer.writeln('${app.id.toUpperCase()}_URL=${release.url}');
76+
77+
final checksum = await _getUrlChecksum(httpClient, release.url);
78+
79+
buffer
80+
..writeln('${app.id.toUpperCase()}_URL=${release.url}')
81+
..writeln('${app.id.toUpperCase()}_CHECKSUM=sha256:$checksum');
8982
}
9083

9184
File('${serverPresetsDir.path}/${serverRelease.presetVersion}').writeAsStringSync(buffer.toString());
@@ -101,6 +94,23 @@ Future<void> generatePresets() async {
10194
httpClient.close();
10295
}
10396

97+
final _urlChecksums = <String, String>{};
98+
Future<String> _getUrlChecksum(http.Client httpClient, String url) async {
99+
if (_urlChecksums[url] == null) {
100+
final request = http.Request('GET', Uri.parse(url));
101+
102+
final streamedResponse = await httpClient.send(request);
103+
if (streamedResponse.statusCode != 200) {
104+
throw Exception('Unable to get app, status code: ${streamedResponse.statusCode}');
105+
}
106+
107+
final checksum = await sha256.bind(streamedResponse.stream).first;
108+
_urlChecksums[url] = checksum.toString();
109+
}
110+
111+
return _urlChecksums[url]!;
112+
}
113+
104114
Future<List<ServerRelease>> _getServerReleases(http.Client httpClient) async {
105115
final versions = <Version, ServerRelease>{};
106116
String? next = 'https://hub.docker.com/v2/repositories/library/nextcloud/tags?page_size=1000';

0 commit comments

Comments
 (0)