Skip to content

Commit

Permalink
Some cleanups in the README and other small housekeeping
Browse files Browse the repository at this point in the history
  • Loading branch information
holmboe committed Nov 26, 2024
1 parent 83dc0c1 commit 987ac34
Show file tree
Hide file tree
Showing 12 changed files with 44 additions and 30 deletions.
1 change: 1 addition & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
version: 2
updates:
- package-ecosystem: pip
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/tox.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
name: Tests

on:
Expand Down
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
sudo: false
dist: xenial
language: python
Expand Down
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,6 @@ Supported Phabricator app endpoints:
* [#24](https://github.com/dynamist/phabfive/pull/24) - Enable RTD build and docs updates
* [#18](https://github.com/dynamist/phabfive/pull/18) - Add code coverage to tox
* [#17](https://github.com/dynamist/phabfive/pull/17) - Proper flake8 with Black
* [#4](https://github.com/dynamist/phabfive/pull/4) - Add encrypted notification config to .travis.yml
* [#4](https://github.com/dynamist/phabfive/pull/4) - Add encrypted notification config to .travis.yml
* [#2](https://github.com/dynamist/phabfive/pull/2) - Black-linting
* [#1](https://github.com/dynamist/phabfive/pull/1) - Added travis
* [#1](https://github.com/dynamist/phabfive/pull/1) - Added travis
1 change: 0 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,3 @@ RUN pip3 install -e .

ENTRYPOINT ["/usr/bin/phabfive"]
CMD ["$1"]

2 changes: 1 addition & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
include CHANGELOG.md
include README.md
include LICENSE
include LICENSE
53 changes: 32 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,78 +1,89 @@
# phabfive

A command line tool to interact with Phabricator

The complete documentation for Phabfive can be found at [Read the Docs](https://phabfive.readthedocs.io/en/latest/)
A command line tool to interact with Phabricator.

The complete documentation for Phabfive can be found at [Read the Docs](https://phabfive.readthedocs.io/en/latest/).

## Features

A summary of the currently supported features:

- Passphrase
- Get specified secret

- Diffusion
- List repositories
- Get branches for specified repository
- Get clone URI for specified repository
- Add repository
- Edit URI
- Create URI (observe repository)

- Paste
- List pastes
- Get specified paste
- Add paste

- User
- Who am I: information about the logged-in user

- Maniphest
- Add comment to task
- Show task summary or full details
- Create multiple tasks via template config file


## Example usage

Grab a Phabricator token at `https://<yourserver.com>/settings/panel/apitokens/`

Configure:

export PHAB_TOKEN=cli-ABC123
--OR--
echo "PHAB_TOKEN: cli-ABC123" > ~/.config/phabfive.yaml
```bash
export PHAB_TOKEN=cli-ABC123
# --OR--
echo "PHAB_TOKEN: cli-ABC123" > ~/.config/phabfive.yaml
```

Usage:

phabfive passphrase K123

```bash
phabfive passphrase K123
```

## Run local development phabricator instance

First add the following `127.0.0.1 phabricator.domain.tld` to your `/etc/hosts` file
First add the following to your `/etc/hosts` file:

Next start the mysql instance separate from the phabricator instance with
```text
127.0.0.1 phabricator.domain.tld
```

`docker compose -f docker-compose-phabricator.yml up mysql`
Next start the mysql instance separate (in the first terminal) from the phabricator instance with

Then after the database is up and running yo ucan start the webserver with
```bash
docker compose -f docker-compose-phabricator.yml up mysql
```

`docker compose -f docker-compose-phabricator.yml up phabricator`
Then after the database is up and running you can start the webserver with (in a second terminal)

This startup will take some time to setup the demo instance. Once completed you can access your instance in your browser at `http://phabricator.domain.tld/`. On first use you need to setup your admin account. Most development for phabfive requires an API token, create one here `http://phabricator.domain.tld/settings/user/<username>/page/apitokens/`
```bash
docker compose -f docker-compose-phabricator.yml up phabricator
```

Note there is no persistance disks so if the container is shutdown any data will be lost and you have to restart
This startup will take some time to setup the demo instance. Once completed you can access your instance in your browser at `http://phabricator.domain.tld/`. On first use you need to setup your admin account. Most development for phabfive requires an API token, create one here `http://phabricator.domain.tld/settings/user/<username>/page/apitokens/`.

Note there is no persistence disks so if the container is shutdown any data will be lost and you have to restart.

## Building a release

For version schema we follow basic SemVer versioning schema system with the extensions that is defined by python in this PEP440 https://peps.python.org/pep-0440/ It allows for some post and dev releases if we need to, but in general we should only publish stable regular semver releases.

Instructions how to build a release and upload it to PyPi can be found here in the official build tools documentation site https://packaging.python.org/en/latest/tutorials/packaging-projects/
For version schema we follow basic [SemVer](https://semver.org/) versioning schema system with the extensions that is defined by python in this [PEP 440](https://peps.python.org/pep-0440/). It allows for some post and dev releases if we need to, but in general we should only publish stable regular semver releases.

In order to be allowed to upload a new release for phabfive, you need to be a Owner or maintainer for this project inside PyPi. Currently only Johan and Henrik is owners. Ask them for assistance if you need upload permissions for a new release.
Instructions how to build a release and upload it to PyPi can be found in the official [packaging documentation at Python.org](https://packaging.python.org/en/latest/tutorials/packaging-projects/).

In order to be allowed to upload a new release for phabfive, you need to be a *owner* or *maintainer* for this project inside PyPi. Currently only Johan and Henrik are owners. Ask them for assistance if you need permissions to upload a new release.

## LICENSE

Copyright (c) 2017-2023 Dynamist AB
Copyright (c) 2017-2024 Dynamist AB

See the LICENSE file provided with the source distribution for full details.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
site_name: Phabfive
theme: readthedocs
repo_url: https://github.com/dynamist/phabfive
Expand Down
2 changes: 1 addition & 1 deletion phabfive/diffusion.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ def get_object_identifier(self, repo_name=None, uri_name=None):

if repo_name != name:
continue

# object identifier for uri
if repo_name and uri_name:
uris = repo["attachments"]["uris"]["uris"]
Expand Down
2 changes: 1 addition & 1 deletion phabfive/maniphest.py
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ def recurse_commit_transactions(task_config, parent_task_config):

if transactions_to_commit:
# Parent ticket based on the task hiearchy defined in the config file we parsed is different
# from the explicit "ticket parent" that can be defined
# from the explicit "ticket parent" that can be defined
if parent_task_config and "phid" in parent_task_config:
add_transaction(transactions_to_commit, "parents.add", [parent_task_config["phid"]])

Expand Down
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ ignore = E501
exclude = .git,.venv,.tox

[bdist_wheel]
universal = 1
universal = 1
4 changes: 2 additions & 2 deletions test-template-v2.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Requirements to run this example file is that you create the following things in
# your test phabricator instance before this file will go through
# Requirements to run this example file is that you create the following things
# in your test Phabricator instance before this file will go through
#
# - A user named: hholm
# - A user named: grok
Expand Down

0 comments on commit 987ac34

Please sign in to comment.