Page MenuHomePhabricator

Give Harbormaster Build Plans real policies
ClosedPublic

Authored by epriestley on Oct 23 2015, 9:07 PM.

Details

Summary

Ref T9614. Currently, a lot of Build Plan behavior is covered by a global "can manage" policy.

One install in particular is experiencing difficulty with warring factions within engineering aborting one another's builds.

As a first step to remedy this, and also generally make Harbormaster more flexible and bring it in line with other applications in terms of policy power:

  • Give Build Plans normal view/edit policies.
  • Require "Can Edit" to run a plan manually.

Having "Can View" on plans may be a little weird in some cases (the status of a Buildable might be bad because of a build you can't see) but we can cross that bridge when we come to it.

Next change here will require "Can Edit" to abort a build. This will reasonably allow installs to reserve pause/abort for administrators/adults. (I might let anyone restart a plan, though?)

Test Plan
  • Created a new build plan.
  • Verified defaults were inherited from application defaults (swapped them around, too).
  • Saved build plan.
  • Edited policies.
  • Verified autoplans get the right policies.
  • Verified old plans got migrated properly.
  • Tried to run a plan I couldn't edit (denied).
  • Ran a plan from CLI with bin/harbormaster.
  • Tried to create a plan with an unprivileged user.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Give Harbormaster Build Plans real policies.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Oct 26 2015, 7:25 PM
This revision was automatically updated to reflect the committed changes.