Skip to content

Commit

Permalink
Merge pull request #24 from NicoG96/feature/cleanup
Browse files Browse the repository at this point in the history
Feature/cleanup
  • Loading branch information
Nico Gonzalez authored May 22, 2020
2 parents 2ceef14 + 06e9984 commit c920a60
Show file tree
Hide file tree
Showing 9 changed files with 559 additions and 567 deletions.
38 changes: 0 additions & 38 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

20 changes: 0 additions & 20 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

30 changes: 13 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,43 +17,43 @@
* [License](#license)
* [Contact](#contact)



<!-- ABOUT THE PROJECT -->
## About the Project

This application serves to streamline the deployment process for projects hosted on GitHub and BitBucket.
This application serves to streamline the deployment process for projects hosted on GitHub and BitBucket.

Demeter helps developers cherry-pick certain pull requests from issue tickets that are slated for release by automating the branch creation and then incorporating the commits from these pull requests into the branch.

In an ideal scenario, the pull requests that have already been merged into the development branch should all go into the next release, however, this is often not the case. This is where Demeter comes into play -- it allows the developer to specify which resolved issue tickets they would like to include in the new release and effectively saves them the time spent time manually referencing each PR and cherry-picking chronologically.


<!-- INSTALLATION -->
## Installation

1.) Download the latest version of Demeter from the Releases tab

2.) Unzip the archive

3.) In a terminal, navigate to the unzipped directory and type:
`python3 setup.py install`
3.) Setup a python virtual environment

4.) Activate the virtual environment

4.) Once installed, simply run the command: `python3 demeter/demeter_gh.py` for GitHub or `python3 demeter/demeter_bb.py` for BitBucket
5.) Install the project dependencies by running `pip install -r requirements.txt`

6.) Once installed, invoke Demeter by typing `python3 Demeter.py [service]` where `service` denotes either GitHub (`--github` or `-g`) or BitBucket (`--bitbucket` or `-b`)

<!-- REQUIREMENTS -->
## Requirements
1. Python 3.7.2+
2. GitHub access token and/or BitBucket consumer keys
3. Structured pull request system that includes ticket number in title

1. Python 3+
2. GitHub access token and/or BitBucket consumer keys
3. **Structured pull request system that includes ticket number in title**

<!-- USAGE EXAMPLES -->
## Usage

Usage is fairly straightforward. If you are running Demeter for the first time, you will be prompted for GitHub/BitBucket credentials that will only need to be entered once to setup the configuration file. **Note**: You will need to create a personal access token for Demeter to use prior to running the application (GitHub profile -> Settings -> Developer Settings -> Personal Access Tokens).
Usage is fairly straightforward. If you are running Demeter for the first time, you will be prompted for GitHub/BitBucket credentials that will only need to be entered once to setup the configuration file. **Note**: You will need to create a personal access token for Demeter to use prior to running the application (GitHub profile -> Settings -> Developer Settings -> Personal Access Tokens) or (BitBucket profile -> All workspaces -> Click 'Manage' on desired repository -> OAuth consumers -> Add consumer).

<img src="https://i.imgur.com/bpMbYWz.png"></a>
<img src="https://i.imgur.com/j6HQeLW.png"></a>

Once configured, you will then be prompted to enter the tickets you'd like to include in the next release. (***Disclaimer***: Pull requests **MUST** include the ticket number somewhere in its title, otherwise the application will be unable to parse any pull request associated with these tickets).

Expand All @@ -63,14 +63,12 @@ From there, Demeter will then search for the associated pull request for these t

<img src="https://i.imgur.com/XPOt7ZB.png"></a>


If the user approves of the report, Demeter will then prompt the user which branch should be the target for the pending release branch. The user will enter a valid branch name and then the name of the release branch they are currently making. Demeter will create a new branch from the head of the specified base branch and begin cherry-picking the merge commits.

<img src="https://i.imgur.com/3XLHBGc.png"></a>

If all cherry-picks were successful, Demeter will output such in the log and then push the changes to the remote repository. If everything completed without errors, you should then see your newly-created release branch on your repo!


<!-- CONTRIBUTING -->
## Contributing

Expand All @@ -82,14 +80,12 @@ Contributions are what make the open source community such an amazing place to b
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request


<!-- LICENSE -->
## License

Distributed under the MIT License. See `LICENSE` for more information.


<!-- CONTACT -->
## Contact

Nico Gonzalez - NicoG96@gmail.com
Nico Gonzalez - NicoG96@gmail.com
Loading

0 comments on commit c920a60

Please sign in to comment.