https://github.com/carbonfive/funnel
little ci server for git hygiene
https://github.com/carbonfive/funnel
ci elixir git git-hygiene github rebase squash
Last synced: 3 months ago
JSON representation
little ci server for git hygiene
- Host: GitHub
- URL: https://github.com/carbonfive/funnel
- Owner: carbonfive
- Created: 2017-09-19T21:54:55.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-10-26T22:40:25.000Z (about 2 years ago)
- Last Synced: 2025-07-28T21:50:33.457Z (4 months ago)
- Topics: ci, elixir, git, git-hygiene, github, rebase, squash
- Language: Elixir
- Homepage: https://funnel-c5.herokuapp.com/
- Size: 1.51 MB
- Stars: 7
- Watchers: 34
- Forks: 1
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Funnel
**A little CI service that makes sure your pull request is ready according to the git practices of your team.**

## Using funnel on a project
1. Visit the Funnel app listing: [https://github.com/apps/funnel](https://github.com/apps/funnel)
2. Click `Configure`
3. Select the organization and project(s) you want to use Funnel on
4. Go to [https://funnel-c5.herokuapp.com/repositories](https://funnel-c5.herokuapp.com/repositories) to configure your repositories.
That's it! 😄 Now, funnel will check and watch open pull requests to see if they are ready for merging. It can check to see if your PR is squashed into a single commit, rebased on the base branch, or both!
## Developing
### Local Setup
To start your Phoenix server:
* Install dependencies with `mix deps.get`
* Create and migrate your database with `mix ecto.create && mix ecto.migrate`
* Install Node.js dependencies with `cd assets && npm install`
Now you can visit [`localhost:4000`](http://localhost:4000) from your browser.
#### Environment
See `.envrc-sample` for en example.
```bash
source .envrc
```
#### Running
Start Phoenix server with `mix phx.server`
### Testing
```bash
mix test
```
### Deploying
```bash
git push heroku master
```
See it live at [https://funnel-c5.herokuapp.com](https://funnel-c5.herokuapp.com).
## References
### GitHub API
* [GitHub App Auth Strategy](https://developer.github.com/apps/building-integrations/setting-up-and-registering-github-apps/about-authentication-options-for-github-apps/#about-authentication-options-for-github-apps)
* [GitHub App API](https://developer.github.com/v3/apps/)
* [GitHub App Installations API](https://developer.github.com/v3/apps/installations/)