Contributing
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
Python 3 and Node.js installed on your machine.
If you do not have Python installed on your machine you can follow this guide
If you do not have Node.js installed on your machine you can follow this guide
Installation
This guide is for Mac OSX, Linux or Windows.
Get the source code from the GitHub repository
$ git clone https://github.com/CenterForTheBuiltEnvironment/comfort-tool.git $ cd comfort_tool
Create a virtual environment using pipenv to install the dependencies (recommended):
Install Node.js dependencies
npm install
Run CBE Thermal Comfort Tool locally
Now you should be ready to run the tool locally.
python3 comfort.py
Visit http://localhost:5000 in your browser to check it out. Note that whenever you want to run the tool, you have to activate the virtual environment first.
Testing
We are using Jest to test the JavaScript functions.
If you want to find out more please read their official documentation or look at how we are testing the ERF functions (file name erf.js) using the test file erf.test.js
.
Finally, run npm run test
. You should write tests for all the new functions you add and ensure that you get positive results from the tests. Also run tests before deploying a new version of the CBE Thermal Comfort Tool.
Versioning
When you release a new version of the tool you should first use bumpversion
to update the version of the tool. You can use the following command:
bumpversion patch # alternatively, you can use minor or major instead of patch
Secondly, you should describe the changes in docs/changelog/changelog.md
Deploying
We are deploying the tool using Google Cloud Run. The project is automatically deployed when you push to master
the commit message that includes the word bump version
. Check the GitHub action in the folder ./.github/workflows/deploy.yml
for more information about how we build and deploy the application.
Alternatively, you can deploy a new version of the tool to Google Cloud Run using the following command. Please note that you must set a valid account before running the command and add your email in the code below.
# Test version
```bash
gcloud components update --quiet
pipenv requirements > requirements.txt
gcloud config set account <your-email>
gcloud builds submit --project=comfort-327718 \
--substitutions=_REPO_NAME="comfort-tool-test",_PROJ_NAME="comfort-327718",_IMG_NAME="comfort-tool-test"
```
# Public facing version
```bash
gcloud components update --quiet
pipenv requirements > requirements.txt
gcloud config set account <your-email>
gcloud builds submit --project=comfort-327718 \
--substitutions=_REPO_NAME="comfort-tool",_PROJ_NAME="comfort-327718",_IMG_NAME="comfort-tool-main"
```
Last updated
Was this helpful?