dwylbot
v1.0.0
Published
Automating our GitHub Workflow to improve team communication/collaboration
Downloads
4
Readme
dwylbot = "GitHub Workflow Automation, Hints & Tips"
Automating our GitHub workflow to .reduce
the number of clicks
the people need to perform
to get their work done
and help people communicate better
with their co-workers.
Why?
Learning a (new) Workflow is never instantaneous. We the people who already know the steps in our Workflow
What?
We use GitHub as our "single source of truth" (place to keep all our information so we don't lose anything important!). We also use GitHub to discuss ideas/features/improvements/questions, estimate the effort required to implement an idea (or "fix" an existing feature that is not working as expected) and then to track how much time a person spent on the task/feature.
We refer to this as our "Workflow".
The "job" of dwylbot
is to help the humans learn & follow the Workflow.
If you have not yet read the following guides:
- https://github.com/dwyl/github-reference
- https://github.com/dwyl/contributing
The purpose of dwylbot
will not be clear to you.
How?
This project is written in Elixir
and uses a Phoenix
web server
tested by Travis
and running on Heroku
.
If you are new to any of these tools/technologies
you won't understand some of the code
in this repo, so, please read/learn:
- Elixir: https://github.com/dwyl/learn-elixir
- Phoenix: https://github.com/dwyl/learn-phoenix-framework
- Travis https://github.com/dwyl/learn-travis
- Heroku: https://github.com/dwyl/heroku
Run The Project Locally!
The "production" version of dwylbot
runs on Heroku,
but we develop it locally and you can easily run it on your computer.
Note: only try to run this on your computer once you've understood Elixir & Phoenix.
Clone the Repository (to your personal computer)
git clone [email protected]:dwyl/dwylbot.git && cd dwylbot
Define Local Environment Variables
If you are new to "Environment Variables", please read: github.com/dwyl/learn-environment-variables
To run the application on your localhost (personal computer)
create an .env
file where you can define your environment variables.
dwylbot/.env
:
export GITHUB_ACCESS_TOKEN=******
export DATABASE_URL=****
Then execute the command source .env
which will create your environment variables
Note: This method only adds the environment variables locally and temporarily so you need to start your server in the same terminal where you ran the
source
command.
Install Dependencies
mix deps.get
npm install
Confirm Everything is working
Run the tests:
mix test
Creat the Database (if it does not already exist)
mix do ecto.create
Run the Server
mix phoenix.server
You should see:
[info] Running Dwylbot.Endpoint with Cowboy using http://localhost:4000
View the Project in your Web Browser
Open http://localhost:4000 in your web browser.
That's nice, but what does it actually do...?
Understanding The Project
Given your Phoenix knowledge, you know that the first place to look
when you want to understand a Phoenix project is:
web/router.ex