mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-30 10:42:41 +01:00
79d153b85d
Summary: This implements support for explicitly marking the sequence of build steps. Users can now drag and re-order build steps in plans, and artifact dependencies are re-calculated so that if you move "Run Command" before "Lease Host", the "Run Command" step has it's artifact setting cleared and thus the step becomes invalid. Test Plan: Re-ordered build steps and observed dependencies being correctly recalculated. Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley CC: Korvin, epriestley, aran Maniphest Tasks: T1049 Differential Revision: https://secure.phabricator.com/D7715
41 lines
1,009 B
PHP
41 lines
1,009 B
PHP
<?php
|
|
|
|
$table = new HarbormasterBuildPlan();
|
|
$conn_w = $table->establishConnection('w');
|
|
$viewer = PhabricatorUser::getOmnipotentUser();
|
|
|
|
// Since HarbormasterBuildStepQuery has been updated to handle the
|
|
// correct order, we can't use the built in database access.
|
|
|
|
foreach (new LiskMigrationIterator($table) as $plan) {
|
|
$planname = $plan->getName();
|
|
echo "Migrating steps in {$planname}...\n";
|
|
|
|
$rows = queryfx_all(
|
|
$conn_w,
|
|
"SELECT id, sequence FROM harbormaster_buildstep ".
|
|
"WHERE buildPlanPHID = %s ".
|
|
"ORDER BY id ASC",
|
|
$plan->getPHID());
|
|
|
|
$sequence = 1;
|
|
foreach ($rows as $row) {
|
|
$id = $row['id'];
|
|
$existing = $row['sequence'];
|
|
if ($existing != 0) {
|
|
echo " - {$id} (already migrated)...\n";
|
|
continue;
|
|
}
|
|
echo " - {$id} to position {$sequence}...\n";
|
|
queryfx(
|
|
$conn_w,
|
|
"UPDATE harbormaster_buildstep ".
|
|
"SET sequence = %d ".
|
|
"WHERE id = %d",
|
|
$sequence,
|
|
$id);
|
|
$sequence++;
|
|
}
|
|
}
|
|
|
|
echo "Done.\n";
|