File tree Expand file tree Collapse file tree 4 files changed +47
-36
lines changed
Expand file tree Collapse file tree 4 files changed +47
-36
lines changed Original file line number Diff line number Diff line change 88use function dirname ;
99use function in_array ;
1010use function strlen ;
11+ use function YDeploy \upgradeReleasesList ;
1112
1213$ rootPath = dirname (DEPLOYER_DEPLOY_FILE ); /** @phpstan-ignore-line */
1314$ command = (new ArgvInput ())->getFirstArgument ();
@@ -56,6 +57,18 @@ public function get(string $name): Host\Host
5657 return $ branch ;
5758});
5859
60+ $ releaseName = Deployer::get ()->config ->fetch ('release_name ' );
61+ set ('release_name ' , static function () use ($ releaseName ) {
62+ upgradeReleasesList ();
63+ return $ releaseName ();
64+ });
65+
66+ $ releasesList = Deployer::get ()->config ->fetch ('releases_list ' );
67+ set ('releases_list ' , static function () use ($ releasesList ) {
68+ upgradeReleasesList ();
69+ return $ releasesList ();
70+ });
71+
5972$ baseDir = $ rootPath ;
6073if (str_starts_with ($ baseDir , getcwd ())) {
6174 $ baseDir = substr ($ baseDir , strlen (getcwd ()));
Original file line number Diff line number Diff line change 22
33namespace YDeploy ;
44
5+ use DateTimeImmutable ;
6+ use DateTimeZone ;
57use Deployer \Host \Host ;
68
9+ use function Deployer \cd ;
710use function Deployer \download ;
811use function Deployer \get ;
912use function Deployer \on ;
13+ use function Deployer \run ;
14+ use function Deployer \test ;
1015use function Deployer \upload ;
1116
1217function uploadContent (string $ destination , string $ content ): void
@@ -54,3 +59,32 @@ function onHost(Host $host, callable $callback)
5459
5560 return $ return ;
5661}
62+
63+ function upgradeReleasesList (): void
64+ {
65+ cd ('{{deploy_path}} ' );
66+
67+ if (test ('[ -f .dep/releases_log ] ' ) || !test ('[ -f .dep/releases ] ' )) {
68+ return ;
69+ }
70+
71+ $ releasesString = trim (run ('cat .dep/releases ' ));
72+ if (!$ releasesString ) {
73+ return ;
74+ }
75+
76+ $ releases = [];
77+ foreach (explode ("\n" , $ releasesString ) as $ release ) {
78+ $ release = explode (', ' , $ release );
79+
80+ $ releases [$ release [1 ]] = json_encode ([
81+ 'created_at ' => DateTimeImmutable::createFromFormat ('YmdHis ' , $ release [0 ])->setTimezone (new DateTimeZone ('UTC ' ))->format ('Y-m-d\TH:i:sO ' ),
82+ 'release_name ' => $ release [1 ],
83+ 'user ' => 'unknown ' ,
84+ 'target ' => 'HEAD ' ,
85+ ]);
86+ }
87+
88+ run ('echo ' . escapeshellarg (implode ("\n" , $ releases )) . ' > .dep/releases_log ' );
89+ run ('echo ' . escapeshellarg (array_key_last ($ releases )) . ' > .dep/latest_release ' );
90+ }
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 77 'deploy:info ' ,
88 'deploy:setup ' ,
99 'deploy:lock ' ,
10- 'deploy:upgrade ' ,
1110 'deploy:release ' ,
1211 'deploy:copy_dirs ' ,
1312 'deploy:upload ' ,
You can’t perform that action at this time.
0 commit comments