- Clone this repository
git clone git@github.com:OSU-CS/automod.git
- Install python3.7 and pip
- Create base venv (virtual environment)
pip install virtualenv virtualenv -p `which python3.7` venv - Activate venv
source venv/bin/activate - Rebuild venv with dependencies
pip install -Ur requirements.txt
- The app runs on port 3000 by default. You can also override the port it runs on by running
export PORT=50000
- The app runs on port 3000 by default. You can also override the port it runs on by running
- Run app (after activating venv). API key should be the "Bot User OAuth Token" under the Oauth &
Permissions tab and signing secret should be the "Signing Secret" under the Basic Information tab.
export SLACK_BOT_TOKEN=<app_bot_user_oath_token> export SLACK_SIGNING_SECRET=<app_signing_secret> python app.py
Alternatively, most of these steps are set up in the makefile. For more info on how to use a makefile, read this.
Before submitting a PR please submit an issue that accurately describes the feature you are requesting or bug you'd like to fix. If one exists, skip ahead to "Submitting a Pull Request". When you are writing an issue, please include as many details as possible. Fill in the template provided for either a bug fix or a feature request.
- Pick a descriptive name for your branch (this README update was done on
contribution-guide).git checkout -b your-branch-name
- Add all the commits related to this change.
- Push your changes
git push --set-upstream origin your-branch-name
- Navigate to https://github.com/OSU-CS/automod/pull/new/your-branch-name
- Fill out the information requested in the template
- Press submit, tag with any relevant labels, and ensure all tests pass before requesting a review
- Once your PR passes reviews, hit the "Squash and merge" button
- Checkout the branch you will be reviewing
- Run the app locally and test changes in the integration testing workspace
SLACK_BOT_TOKEN=<integration_testing_api_key> export SLACK_BOT_TOKEN python app.py
- Add comments or suggestions
- Ensure all of the acceptance criteria are hit, manual testing succeeds, and all linting and tests pass before approving
- Notify the PR author that their PR is approved to let them merge into master
NOTE: We deploy from master, so do not merge anything that has not been thoroughly tested.
- After merging an approved PR, deploy master to our integration testing instance
- Run all tests again in our integration testing workspace - osu-cs-int.slack.com and confirm nothing has broken and all acceptance criteria has been met
- After testing thoroughly, deploy master to our production instance
- Pray the above steps were enough to not break the real slack workspace