1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
<?php
if(count($argv) !== 3) {
die("tag.php \$branchname \$tag\n");
}
$branch = $argv[1];
$tag = $argv[2];
switch($branch) {
case 'stable19':
case 'stable20':
case 'stable21':
// keep them in sync with the ones from brancher/branch.php
$repositories = [
'nextcloud/server',
'nextcloud/3rdparty',
'nextcloud/activity',
'nextcloud/example-files',
'nextcloud/files_pdfviewer',
'nextcloud/files_rightclick',
'nextcloud/files_videoplayer',
'nextcloud/firstrunwizard',
'nextcloud/logreader',
'nextcloud/nextcloud_announcements',
'nextcloud/notifications',
'nextcloud/password_policy',
'nextcloud/photos',
'nextcloud/privacy',
'nextcloud/recommendations',
'nextcloud/serverinfo',
'nextcloud/survey_client',
'nextcloud/text',
'nextcloud/updater',
'nextcloud/viewer',
'nextcloud-gmbh/support',
];
break;
case 'stable22':
case 'stable23':
case 'stable24':
case 'master':
// keep them in sync with the ones from brancher/branch.php
$repositories = [
'nextcloud/server',
'nextcloud/3rdparty',
'nextcloud/activity',
'nextcloud/circles',
'nextcloud/example-files',
'nextcloud/files_pdfviewer',
'nextcloud/files_rightclick',
'nextcloud/files_videoplayer',
'nextcloud/firstrunwizard',
'nextcloud/logreader',
'nextcloud/nextcloud_announcements',
'nextcloud/notifications',
'nextcloud/password_policy',
'nextcloud/photos',
'nextcloud/privacy',
'nextcloud/recommendations',
'nextcloud/serverinfo',
'nextcloud/survey_client',
'nextcloud/text',
'nextcloud/updater',
'nextcloud/viewer',
'nextcloud-gmbh/support',
];
break;
default:
die("Branch not found :(\n");
}
foreach($repositories as $repo) {
$name = explode('/', $repo)[1];
$SSH_OPTIONS = '';
if ($name === 'support' && gethostname() === 'client-builder') {
$SSH_OPTIONS = "GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa.support-app -o IdentitiesOnly=yes'";
}
// Clone the repository and checkout the required branch
shell_exec('cd ' . __DIR__ . ' && ' . $SSH_OPTIONS . ' git clone --depth=1 --branch="' . $branch . '" https://github.com/' . $repo);
// Create a signed tag
shell_exec('cd ' . __DIR__ . '/' . $name . ' && git tag -s ' . $tag . ' -m \'' . $tag . '\'');
// Push the signed tag
shell_exec('cd ' . __DIR__ . '/' . $name . ' && ' . $SSH_OPTIONS . ' git push origin ' . $tag);
// Delete repository
shell_exec('cd ' . __DIR__ . ' && rm -rf ' . $name);
}
|