mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-27 16:00:59 +01:00
0ac1be7094
Summary: Depends on D7519. This implements support for build logs in Harbormaster. This includes support for appending to a log from the "Run Remote Command" build step. It also adds the ability to cancel builds. Currently the build view page doesn't update the logs live; I'm sure this can be achieved with Javelin, but I don't have enough experience with Javelin to actually make it poll from updates to content in the background. {F79151} {F79153} {F79150} {F79152} Test Plan: Tested this by setting up SSH on a Windows machine and using a Remote Command configured with: ``` C:\Windows\system32\cmd.exe /C cd C:\Build && mkdir Build_${timestamp} && cd Build_${timestamp} && git clone --recursive https://github.com/hach-que/Tychaia.git && cd Tychaia && Protobuild.exe && C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe Tychaia.Windows.sln ``` and observed the output of the build stream from the Windows machine into Phabricator. Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley CC: Korvin, epriestley, aran Maniphest Tasks: T1049 Differential Revision: https://secure.phabricator.com/D7521
26 lines
1 KiB
SQL
26 lines
1 KiB
SQL
CREATE TABLE {$NAMESPACE}_harbormaster.harbormaster_buildlog (
|
|
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
phid VARCHAR(64) NOT NULL COLLATE utf8_bin,
|
|
buildPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
|
|
buildStepPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
|
|
logSource VARCHAR(255) NULL COLLATE utf8_bin,
|
|
logType VARCHAR(255) NULL COLLATE utf8_bin,
|
|
duration INT UNSIGNED NULL,
|
|
live BOOLEAN NOT NULL,
|
|
dateCreated INT UNSIGNED NOT NULL,
|
|
dateModified INT UNSIGNED NOT NULL,
|
|
KEY `key_build` (buildPHID, buildStepPHID),
|
|
UNIQUE KEY `key_phid` (phid)
|
|
) ENGINE=InnoDB, COLLATE utf8_general_ci;
|
|
|
|
ALTER TABLE {$NAMESPACE}_harbormaster.harbormaster_build
|
|
ADD COLUMN cancelRequested BOOLEAN NOT NULL;
|
|
|
|
CREATE TABLE {$NAMESPACE}_harbormaster.harbormaster_buildlogchunk (
|
|
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
logID INT UNSIGNED NOT NULL COLLATE utf8_bin,
|
|
encoding VARCHAR(30) NOT NULL COLLATE utf8_bin,
|
|
size LONG NULL,
|
|
chunk LONGBLOB NOT NULL,
|
|
KEY `key_log` (logID)
|
|
) ENGINE=InnoDB, COLLATE utf8_general_ci;
|