Skip to content

Commit

Permalink
feat(README): Updated to include that this project is now sponsored b…
Browse files Browse the repository at this point in the history
…y Digital Ocean and to include better docs about local development and how it is hosted
  • Loading branch information
stilliard committed Oct 27, 2023
1 parent af14ebb commit ffd8ab8
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 33 deletions.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2017 Bex Warner
Copyright (c) 2023 Andrew Stilliard

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
103 changes: 75 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,13 @@ Also when viewing all Pull Requests, you'll see the green tick when all complete

Find out more about GitHub task lists: https://help.github.com/en/articles/about-task-lists

<br>
<a href="https://m.do.co/c/60c76a17a70d">
<img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/PoweredByDO/DO_Powered_by_Badge_blue.svg" alt="Powered By DO" width="201px">
</a>

<small>This project is supported by & hosted on Digital Ocean, thanks!</small>

## Docs

Install & add to the repos you want.
Expand All @@ -63,47 +70,87 @@ This was inspired by [another project here](https://github.com/Shopify/task-list

Tasks that contain "OPTIONAL" in all caps are also skipped unless checked, they are also added to an "(+X optional)" text in the check. This is useful for tasks that are not required to be completed before the PR can be merged.

## TODO
## Contributing / Development

- [x] ~~unit tests & travis CI~~
- [ ] Submit to https://github.com/probot/probot.github.io/blob/master/.github/app-review-process.md
- [ ] Add config to allow changing from in_progress to completed but with a failure or neutral conclsion if needed -> https://probot.github.io/api/latest/classes/context.html#config
- [ ] Finish docs, e.g. about using a .github/task-list.yml for above
Code previous ran on Glitch, now it's hosted on Digital Ocean.
Hosting is via multiple droplets, one configured as a load balancer & then additional worker nodes/droplets for the actual checks to run on.

## Contributing
*For previous glitch deployments, on the glitch page, click tools > console and then run `git pull origin master && refresh`.
Permission changes would need to be changed in the app on github.*

For now, on Glitch you can click to "remix to edit" and then work on your own forked version.
Then if you have ideas to bring over, you can submit an issue to discuss them or a pull request with the code changes.
Thank you.
### Local development

You can also help support the hosting and development of this project with coffee power:
<a href="https://www.buymeacoffee.com/stilliard" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;" ></a>
Using node v18+ & npm 10+ (older versions may also work, your mileage may vary).

Local development can be done by cloning this repo:
```bash
git clone https://github.com/stilliard/github-task-list-completed.git
cd github-task-list-completed
```

Setup up an App inside GitHub:
https://github.com/settings/apps/

Install & run:

```bash
npm install
npm run dev
```

Load up http://localhost:3000/probot and follow intructions to set up the app.
On first run, it will create your `.env` with an initial `WEBHOOK_PROXY_URL=xxxxx`.
After following the set up, make sure you have `APP_ID`, `PRIVATE_KEY`, `WEBHOOK_SECRET` all set.
You can change the port it runs on with `PORT=3001` for example and set a `NODE_ENV=production` for production logs, [more details about logs here](https://probot.github.io/docs/logging/).

<a href="https://probot.github.io/docs/">
View full Probot docs here.
<br>
<img src="https://probot.github.io/assets/img/logo.png" width="80">
</a>

<br>

Testing:
```bash
npm test
```

For production:
```bash
npm install --omit=dev
npm start
```

Instead of `npm start`, typically in production you'll use a [service file to run via systemd](https://www.freedesktop.org/software/systemd/man/latest/systemd.syntax.html) or similar.
e.g.
```systemd
[Service]
ExecStart=npm start
WorkingDirectory=/srv/github-task-list-completed
Restart=always
## Development for main repo
[Install]
WantedBy=multi-user.target
```

You can also help support the hosting and development of this project with coffee power:

Code previous ran on Glitch, now it's self hosted.

For glitch deployments, on the glitch page, click tools > console and then run `git pull origin master && refresh`.
Permission changes would need to be changed in the app on github.
<a href="https://www.buymeacoffee.com/stilliard" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;" ></a>

## Security

The code is all here to see & available on the Glitch link below which is also where the service runs.
No data about your user or repo is logged.
All code is Open source, [MIT license](./LICENSE). Production checks currently log repo name & PR ID for debug purposes only and logs are removed after a max of 7 days.
No logs are recorded about your repos themselves nor the pull request contents.

Hosted check is on DO's [SFO3](https://www.digitalocean.com/blog/introducing-a-new-datacenter-in-the-san-francisco-region-sfo3).

If you discover a security issue please email it to myself at andrew@stapps.io and I will get back to you asap. For all other issues or help you can create an issue on this project - Thank you.

## Credits

- [Probot](https://github.com/probot/probot) - Used to build this project
- [Glitch](https://glitch.com/) - Used as an online editor & to host the service
- [Glitch](https://glitch.com/) - Previously used to start this project
- [WIP](https://github.com/wip/app) - Inspiration for this project
- [Juliia Osadcha / iconfinder](https://www.iconfinder.com/icons/1790658/checklist_checkmark_clipboard_document_list_tracklist_icon) Icon used for this project

#### About Glitch

This repo was started on Glitch: https://glitch.com/edit/#!/task-list-completed

**Glitch** is the friendly commmunity where you'll build the app of your dreams. Glitch lets you instantly create, remix, edit, and host an app, bot or site, and you can invite collaborators or helpers to simultaneously edit code with you.

Find out more [about Glitch](https://glitch.com/about).
\ ゜o゜)ノ
- [DigitalOcean](https://m.do.co/c/60c76a17a70d) - Hosting of the live app check
4 changes: 0 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,5 @@
"devDependencies": {
"jest": "^29.7.0",
"smee-client": "1.2"
},
"engines": {
"node": "8.9",
"npm": "5.6"
}
}

0 comments on commit ffd8ab8

Please sign in to comment.