@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1@title Drydock User Guide: Repository Automation
2@group userguide
3
4Configuring repository automation so Phorge can push commits.
5
6
7Overview
8========
9
10IMPORTANT: This feature is very new and some of the capabilities described
11in this document are not yet available. This feature as a whole is a prototype.
12
13By configuring Drydock and Diffusion appropriately, you can enable **Repository
14Automation** for a repository. This will allow Phorge to make changes
15to the repository.
16
17
18Limitations
19===========
20
21 - This feature is a prototype.
22 - Only Git is supported.
23
24
25Security
26========
27
28Configuring repository automation amounts to telling Phorge where it
29should perform working copy operations (like merges, cherry-picks and pushes)
30when doing writes.
31
32Depending on how stringent you are about change control, you may want to
33make sure these processes are isolated and can not be tampered with. If you
34run tests and automation on the same hardware, tests may be able to interfere
35with automation. You can read more about this in
36@{article:Drydock User Guide: Security}.
37
38
39Configuring Automation
40======================
41
42To configure automation, use {nav Edit Repository > Edit Automation} from
43Diffusion.
44
45On the configuration screen, specify one or more working copy blueprints in
46Drydock (usually, you'll just use one). Repository automation will use working
47copies built by these blueprints to perform merges and push changes.
48
49For more details on configuring these blueprints, see
50@{article:Drydock Blueprints: Working Copies}.
51
52After selecting one or more blueprints, make sure you authorize the repository
53to use them. Automation operations won't be able to proceed until you do. The
54UI will remind you if you have unauthorized blueprints selected.
55
56
57Testing Configuration
58=====================
59
60Once the blueprints are configured and authorized, use {nav Test Configuration}
61to check that things are configured correctly. This will build a working copy
62in Drydock, connect to it, and run a trivial command (like `git status`) to
63make sure things work.
64
65If it's the first time you're doing this, it may take a few moments since it
66will need to clone a fresh working copy.
67
68If the test is successful, your configuration is generally in good shape. If
69not, it should give you more details about what went wrong.
70
71Since the test doesn't actually do a push, it's possible that you may have
72everything configured properly //except// write access. In this case, you'll
73run into a permission error when you try to actually perform a merge or other
74similar write. If you do, adjust permissions or credentials appropriately so
75the working copy can be pushed from.
76
77
78Next Steps
79==========
80
81Continue by:
82
83 - understanding Drydock security concerns with
84 @{article:Drydock User Guide: Security}; or
85 - returning to the @{article:Drydock User Guide}.