Web lists-archives.com

PSA: Phabricator staging repositories




Hello developers,

So in last few days I and Ben has been working on setting up the staging
repositories for phabricator. More information on this feature is
documented as part of Harbormaster documentation [1] change handoff
section.

To explain further, this will allow the people to push commits for
review to a dedicated staging area, which opens up the new possibilities
like,

- Landing the changes directly from Web UI
- Handing over the changes to CI systems like build.kde.org or
  build.neon.kde.org or binary-factory.kde.org which in turn can run the
  build against proposed changes and send status back to review saying
  "Hey! That review doesn't build" or "All Green!"

Currently required changes for those two usecases is not implemented
yet. But, enabling staging repository is the first step in that
direction. Currently we have all pieces to enable the staging area in
the repositories ready, but it is not enabled. As we think we should
notify community about upcoming changes. We will be enabling this feature
in upcoming week.

# So how does staging repository works?

When you create a diff using arcanist, what it does is, push the commit
for which changes were created to tag like phabricator/diff/12345, where
12345 represents the diff ID to different git mirror of mainline git
repositories on git.kde.org.

The URL where this tags will be pushed is,

"staging@xxxxxxxxxxx:reponame.git"

One imporant thing to note is, staging@xxxxxxxxxxx won't accept the
normal pushes, and for most of the developers this URL is implementation
detail. You should not push direct changes to this repositories.

Also, to allow non-developers to push to the staging area, we have
enabled the option to upload ssh keys for the normal users. The keys
added there will be synced to staging@xxxxxxxxxxx automatically allowing
the non-developers to push to staging area.

So in general here is what you should do,

# For users who want to submit the changes to phabricator

Please make sure you have your keys uploaded to identity.kde.org, you
can do it by clicking on "Manage SSH Keys" option in right sidebar
after logging in.

# For both users and developers

Make sure your ~/.ssh/config have entry for staging@xxxxxxxxxxx.

Below is example from my ssh config.

Host git.kde.org
    HostName git.kde.org
    User staging
    IdentityFile ~/.ssh/id_rsa_kde

# For maintainers of projects

For some reason you don't want your project to use the staging
repositories on phabricator, or have any questions, please get in touch
with us.

PS: We are interested in getting some beta testing for this feature
before we enable this changes to all repositories, if you maintain a
project and if you are interested in testing this out, please mention
us.

PPS: I have just sent this e-mail to few lists I am subscribed to
(kde-devel, kde-core-devel, kde-frameworks-devel, plasma-devel and
sysadmin list) but if you think I have missed sending this to some list,
feel free to forward it and please make sure to include sysadmin@xxxxxxx
or me in reply.

Thanks

[1] https://secure.phabricator.com/book/phabricator/article/harbormaster/

-- 
Bhushan Shah
http://blog.bshah.in
IRC Nick : bshah on Freenode
GPG key fingerprint : 0AAC 775B B643 7A8D 9AF7 A3AC FE07 8411 7FBC E11D

Attachment: signature.asc
Description: PGP signature