Update README.md and remove unused files

This commit is contained in:
Jannik Vogel 2016-11-25 14:00:54 +01:00
parent 85542e8494
commit 6bc5cfc953
2 changed files with 21 additions and 141 deletions

View File

@ -1,67 +1,34 @@
# lemonbot
Citra bot used for bleeding edge builds
People with admin access can just edit the merge_list.yml to update
what branches are going to be built on the next run. Currently without webhooks
this bot just checks every 5 minutes for updates.
Bot used for merging Citra bleeding-edge builds.
At the moment, it uses the GitHub API to find builds to merge.
## Use in Citra bleeding-edge build process
The actual bot is ran on a server administrated by Flame Sage.
It is ran on a daily cron-job and updates from this repo before trying to merge builds.
Pull requests to fix issues with the bot are more than welcome.
## What does it do?
The bot essentially runs the following git commands to build a merge of the branches
After doing the self-update, the bot will visit each of the listed `PULL_REPOS`.
It will look for PRs on GitHub labelled with `LABEL_TO_FETCH` and merge those onto the `MAIN_REPO`/master branch.
If a PR fails to merge it will be ignored.
Once everything has been merged the bot will push the resulting files to the `PUSH_REPO`/`self.branch_name` branch.
```
TODO: Fill this out. Theres a list of commands that runs at the end of build py but its a little old
```
In the event of a failed merge, that branch is marked as failed merge and left out of the final build.
The path `self.tracking_path` is used as a working directory for the git merge operations.
Branches can be marked as required to signify that if this branch fails to merge than the build should fail/
The status will be logged via the `logger` object.
The default configuration is to log to *debug.log*, *error.log* and stdout.
Branches are merged in order from top to bottom. Because of this, you should put the most important branches first
in order to increase their priority.
## Installation
## Example merge_list.yml
Clone this repo and configure lemonbot by modifying the configuration in *tag_build.py*.
You can then run the script.
Note that the script depends on being part of a git repo.
The script uses `git pull origin master` to update itself.
``` yaml
# changes to these require a restart to take effect.
tracking_repository: "https://github.com/foo/bar"
push_repository: "https://github.com/whoknows/beta"
## License
tracking_remotes:
- name: baz
url: "https://github.com/baz/bar"
# use the scheduled checkup instead of webhook
web_hook: false
- name: contributor
url: "https://github.com/contributor/bar"
merge_list:
- pr_id: 1234
branch: prerequiste-changes
required: true
- pr_id: 2468
branch: cool-feature-but-not-necessary
- pr_id: 1567
branch: fails-to-merge-build-will-continue
- pr_id: 1492
branch: fails-to-merge-build-fails-too
required: true
- pr_id: 2001
branch: a-space-odyssey
- remote: baz
branch: too-cool-to-pr-this
# Someday I would like to have these option as well
enable_trusted_prs: true
auto_remove_merged: true
```
## Future goals
* Webhook support. Need to get a webhook setup first though.
* Trusted PRs. Auto add prs submitted by members of the repositories organization
* Auto remove PRs that were merged into master since the last build
* Remove the need for branch names in the yaml. They can be swapped out for the commit hash I bet if they are left blank.
* Add different tracking remotes that can be pulled from
lemonbot is licensed under the GPLv3 (or any later version). Refer to the license.txt file included.

View File

@ -1,87 +0,0 @@
tracking_repository:
- name: "tracking"
url: "https://github.com/citra-emu/citra"
push_repository:
- name: "push"
url: "git@github.com:citra-emu/citra-bleeding-edge"
other_remotes:
- name: JamePeng
url: "https://github.com/JamePeng/citra"
- name: JayFoxRox
url: "https://github.com/JayFoxRox/citra"
- name: jroweboy
url: "https://github.com/jroweboy/citra"
- name: lemon
url: "https://github.com/jroweboy/lemon"
- name: mailwl
url: "https://github.com/mailwl/citra"
- name: MerryMage
url: "https://github.com/MerryMage/citra"
merge_list:
# MANDOTORY
- remote: jroweboy
branch: rebased-installer-mingw
required: true
- remote: jroweboy
branch: inputcore-framelayouts
required: true
# ADD-ON
# [JamePeng]
- pr_id: 1748
branch: contorl-archieve
- pr_id: 1567
branch: kernelsetstate
- pr_id: 1668
branch: update-apt-func2
- pr_id: 2024
branch: update-boss-code
- remote: JamePeng
branch: errdisp
# [JayFoxRox]
- remote: JayFoxRox
branch: fix-batching
- remote: JayFoxRox
branch: gs-new-refactor-format
# [jroweboy]
- remote: jroweboy
branch: lemon-tweaks
# [j-selby]
- pr_id: 2057
branch: invalid-texture-check
# [Lectem]
- pr_id: 2027
branch: ipcrefactor
# [linkmauve]
- pr_id: 2064
branch: remove-readdir_r
- pr_id: 2065
branch: likely-unlikely
# [mailwl]
- remote: mailwl
branch: service-ver
# [makotech222]
- pr_id: 2063
branch: CheatsModule
# [MerryMage]
- remote: MerryMage
branch: pipe3
# [ObsidianX]
- pr_id: 1696
branch: soc-getaddrinfo
# [wwylele]
- pr_id: 1951
branch: motion-sensor