Skip to content

Commit 5a26be4

Browse files
committed
close #254 add documentation page
1 parent 0c08c0a commit 5a26be4

File tree

3 files changed

+83
-57
lines changed

3 files changed

+83
-57
lines changed

ci/CHANGELOG.md

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,25 @@
11
## Changelog
2-
2+
Windows and Jira support is here! Feast on the godness and the docs
33

44
#### Features
55

6-
- deliver is updated to support target configuration, and Jira #230 @groenborg
7-
you can now deliver work, with settings from the target configuration.. Hurray
6+
- `phlow web` is updated to support target configuration, and Jira #247 @groenborg
7+
typing web will open your browser on your issue page or repository.
88

9-
- wrapup is now support on windows as well #188 @groenborg
10-
wrapup will now format messages based on GitHub and Jira branches
9+
- `phlow issues` you can now list jira issues and github issues #246 @groenborg
10+
phlow issues fetches the 30 most recent issues and prints them in your terminal. Nice
1111

12-
- workon is now updated to support target configuration, and Jira #224 @groenborg
13-
you can now work on issues located on GitHub and Jira, with settings from the target configuration
12+
- `wrapup` wrapup now support bitbucket smart commits as well #257 @groenborg
1413

14+
- `config` git phlow now builds upon the gitconfig of git #209 @groenborg
15+
The .phlow file have been replaced by .gitconfig and the internal of git.
16+
You can also bootstrap and show your configuration with `git phlow config`
1517

1618
#### Bug Fixes
17-
- fix configuration for windows #236 @groenborg
18-
Turns out the config before did not work on windows, however, it does now.
19-
20-
- auth errors are handled when commands using service API are called #240 @groenborg
21-
a successful bug-hunt resulted in one less error, where the tool basically would explode with errors if commands were executed without authorization
22-
19+
- git phlow web no longer opens a malformed url #252 @groenborg
2320

2421
#### improvements
25-
- We removed the beautiful spinner when running `workon` and `deliver` #241 @groenborg
26-
it might return in future versions, when it no longer messes with the formatting. Never mess with the formatting!
22+
- we did some spring cleaning this fall and removed a lot of bad code #258 @groenborg
23+
such deletion, much improvement!
2724

28-
- Error messages have also been improved, from "something happened" to "your hyper drive core melted a super size hole in you spaceship.. Remember to cool it!"
25+
- we also did some further improvements in the messages that are suppose to help trouble shoot issues!

docs/README.md

Lines changed: 68 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,94 @@
11
# Documentation
2+
### The workflow
3+
The Praqma workflow - often called The Phlow - is a combination of the Git extension and CI server for automation. In this the CI server is concourse with the git-phlow resource installed.
24

5+
![image](/docs/images/phlowmodel.svg)
36

4-
### phlow auth
7+
The top diagram Shows the steps the entire workflow entails.
8+
1. You do `git phlow workon` on an issue which has been groomed and is ready to become a feature in your project.
9+
2. You do `git phlow wrapup` and `git phlow deliver`, to deliver your changes to the remote repository. The branches will be prefixed with `delivery-branch-prefix` from the .gitconfig file.
10+
3. In the concourse Pipeline we are using the git-phlow tollgate resource, that automate the integration if it passes our toll-gate. It integrate branches prefixed with ready, meaning the job will trigger on such branches and merge the changes with the head of the integration.
11+
4. Now the tollgate tests will run in the job and if they pass, the already merged changes will be pushed to the integration branch. The ready branch will be deleted if everything goes well so it leaves things nice and clean.
12+
13+
14+
### phlow workon
515
```
6-
git phlow auth -t <target>
16+
git phlow workon <issue>
717
```
8-
Git phlow auth, authorizes towards a chosen service which can be either `github` or `jira`. Auth is used by git phlow to access and manage issues in your chosen provider.
18+
First step in the workflow is to start work on an issue. Run the command and it will create a local workspace named after the title of the issue.
919

10-
Auth is dependent on a configuration file unless you are using GitHub.com for your issues and Repositories, in that case you can complete omit using the `--target` flag
20+
### phlow wrapup
21+
```
22+
git phlow wrapup
23+
```
24+
Run wrapup to add your changes and make a commit with the `smart commit`syntax that will close an issue when it lands on the master branch.
1125

12-
#### Self hosted services or Jira
13-
To authenticate with your own hosted service or Jira you _must_ provide a valid configuration (see **Configuration** section). Your configuration must contain a base url to where your service is hosted and the name of the service. When authenticating set your `--target` to the name of the configuration e.g.
26+
### phlow deliver
27+
```
28+
git phlow deliver
29+
```
30+
Deliver will pull the latest changes to your branch and try to push it to a ready branch where the CI server is ready to integrate it into the integration branch.
1431

15-
```ini
16-
[myjiraconfig]
17-
integration_branch = master
18-
remote = origin
19-
service = jira
20-
issue_url = https://my.jira.instance.com
21-
delivery_branch_prefix = ready
32+
If you have no CI server configured to do automatic integration of ready branches you can run a local deliver in stead, and let your local git do the integration
2233
```
23-
```bash
24-
git phlow auth --target myjiraconfig
34+
git phlow deliver --local
2535
```
2636

37+
### phlow auth
38+
```
39+
git phlow auth
40+
```
41+
Git phlow auth, authorizes towards a chosen service which can be either `github` or `jira`. Auth is used by git phlow to access and manage issues in your chosen provider.
42+
43+
#### Self hosted services or Jira
44+
To authenticate with your own hosted service or Jira you _must_ provide a valid configuration (see **Configuration** section). Your configuration must contain a base url to where your service is hosted and the name of the service. When authenticating set your `--target` to the name of the configuration e.g.
45+
2746
### Configuration
28-
git phlow is configured via `.phlow` files, in your local workspace or in the home folder of your computer. The configuration is standard INI files, just like `.gitconfig`.
47+
git phlow is configured via `.gitconfig`, in your local workspace, this means that git phlow usese git own internal config and can therefore be placed anywhere git can read it e.g. global .gitconfig in you home folder.
48+
49+
To get started with a a `.gitconfig` in your local repository you must first let git know that the filepath must be included, run this command to do so:
50+
```sh
51+
git config --local include.path ../.gitconfig
52+
```
2953

30-
#### Config Block
31-
Each configuration is has its own block which can be used by setting the block name to `[default]` or by specifying which configuration you want to use by setting it in the git phlow command.
54+
##### Config Block
55+
Each configuration is its own block. You can have as many configuration blocks as you want, just as long as they all have the necessary fields. To use a specific block you run a command with the `-t or --target` option with the name of the block. git phlow by default looks for a block named `[phlow]`. So if you name your preferred blovk `phlow` you do not need to use the `-t` flag.
3256

3357
A block consists of following fields.
3458

35-
- `integration_branch` The name of your default integration branch. normally it's `master`
59+
- `integration-branch` The name of your default integration branch. normally it's master
3660
- `remote` The name of your remote. By default git sets this to `origin`
3761
- `service` The service you use for issues.
38-
- `issue_url` The url to your service where issues are hosted and managed
39-
- `delivery_branch_prefix` The prefix you want your pretested integration system to look for
62+
- `issue-api` The url to your api where issues are hosted and managed
63+
- `issue-web` The url to your webpage where issues are hosted and managed
64+
- `delivery-branch-prefix` The prefix you want your pretested integration system to look for
4065

41-
#### Supported services
66+
##### Supported services
4267
- `github`
43-
- `jira` - `auth` command only
68+
- `jira`
4469

45-
46-
#### Example Configuration
70+
##### Example Configuration
4771
```ini
48-
[name]
49-
integration_branch = master
50-
remote = origin
51-
service = github
52-
issue_url = https://api.github.com
53-
pipeline_url = http://concourse.bosh.praqma.cloud/teams/main/pipelines/git-phlow #optional
54-
delivery_branch_prefix = ready
72+
[phlow]
73+
remote = myfork
74+
service = github
75+
integration-branch = superintegration
76+
issue-api = https://api.github.com
77+
issue-web = https://github.com
78+
delivery-branch-prefix = integrate-me-please
5579
```
5680

57-
#### Internal Default
58-
If no `.phlow` files are located, git phlow will use an interal default configuration. The internal configuration is the last resort, and it is strongly recommended to use `.phlow` to keep your projects configuration, even though it mimics the default.
81+
**important**: When entering the url of your issue service providers, it is important that only the base url is provided, which means no `www.mygithubinstance.com:8080/` but `www.mygithubinstance.com:8080`
82+
83+
##### Internal Default
84+
If no `[phlow]` blocks are located within the git config, git phlow will use an interal default configuration. The internal configuration is the last resort, and it is strongly recommended to use `.gitconfig` to keep your projects configuration, even though it mimics the default.
5985

6086
```ini
61-
[default]
62-
integration_branch = master
63-
remote = origin
64-
service = github
65-
issue_url = https://api.github.com
66-
delivery_branch_prefix = ready
67-
```
87+
[phlow]
88+
remote = origin
89+
service = github
90+
integration-branch = master
91+
issue-api = https://api.github.com
92+
issue-web = https://github.com
93+
delivery-branch-prefix = ready
94+
```

docs/images/phlowmodel.svg

Lines changed: 2 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)