Skip to content
Extensions to Phabricator for the conduit project
PHP Python Shell Dockerfile Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
docker
extensions
patches/phabricator
.arcconfig
.gitignore
CODE_OF_CONDUCT.md
Dockerfile
Dockerfile-test
LICENSE
README.md
TEST_PLAN.md
docker-compose.bmo.yml
docker-compose.test.yml
docker-compose.yml
entrypoint.sh
firefox-proxy
moz-extensions.conf.php
requirements.txt
tasks.py
test-arcconfig
update_build_url.py

README.md

Mozilla Phabricator Extensions

Prerequisites

  • docker
  • docker-compose
  • Firefox, or some other way to connect your browser to a SOCKS proxy.

Installation

  1. Pull the repository into a separate (e.g. phabricator-extensions) directory.
  2. For Phabricator only, from within the phabricator-extensions directory run docker-compose up --build.
  3. If you want a Bugzilla instance to also start preconfigured to interact with Phabricator, then instead do docker-compose -f docker-compose.yml -f docker-compose.bmo.yml up --build.
  4. Phabricator-extensions build process requires existence of the phabext.json file. Please add it with the command: $ echo "{}" > phabricator-extensions/phabext.json

Accessing the websites provided by the demo

Firefox configuration

You can either configure the existing Firefox to use our proxy, or run a preconfigured Firefox.

To configure your current browser:

  1. Open Preferences -> Net Proxy -> Settings
  2. Choose the Manual Proxy Configuration radio button
  3. Set the Proxy HTTP Server to localhost, and the Port to 1080.

To run Firefox with an empty profile:

  1. Please set the environment variable FIREFOX_CMD to /path/to/firefox if your system does not recognize the firefox command.
  2. In a new terminal, run firefox-proxy, or firefox-proxy $(docker-machine ip) if you are using docker-machine.
  3. A new browser with an empty profile will open.

Websites provided by the demo

Preconfigured users:

For performing administration tasks in Phabricator, first log out of Phabricator and then go to http://phabricator.test/?admin=1

user:admin, password:password123456789!

For logging in as a normal test user, you will need to use BMO for auth-delegation. Log out in Phabricator and then click on 'Log In or Register'. You will be redirected to BMOs login page.

user:conduit@mozilla.bugs, password:password123456789!

After login, if it complains that you do not have MFA enabled on your BMO account, click on the 'preferences' link that will allow you to configure TOTP and then you should be able to login to Phabricator.

For performing administrative tasks on BMO, you will need to log out of BMO and then login on http://bmo.test/login with the following credentials.

user:admin@mozilla.bugs, password:Te6Oovohch

PHP Development:

Install Python dependencies:

$ pip install -r requirements.txt

After adding, renaming, or moving classes, run arc liberate to rebuild the class map:

$ invoke liberate

To test changes in code:

$ invoke test

Useful debugging commands

docker-compose -f docker-compose.yml -f docker-compose.bmo.yml exec phabricator vi <filename>

docker-compose -f docker-compose.yml -f docker-compose.bmo.yml exec phabricator /app/phabricator/bin/differential extract <commit-sha>

docker-compose -f docker-compose.yml -f docker-compose.bmo.yml exec phabdb mysql --user=root --password=password
You can’t perform that action at this time.