2. when committing changes, create a new branch and open a pull request
3. ask for review & approval of pull request
4. have the pull request merged
<imgwidth="696"alt="screen shot 2018-11-02 at 11 50 14"src="https://user-images.githubusercontent.com/90316/47911346-7dfc9a00-de95-11e8-9414-71fe63b1577b.png">
The `master` branch is protected from being pushed to, enforcing the following rules:
- every change has to be done in another branch and go through a pull request against `master`
- pull requests need to be reviewed and approved
- pull requests need to pass the CI status checks
- pull requests can be merged by a defined list of members only
- when merged into `master`, pull request changes are deployed automatically to live
This will then initiate an automatic build & deployment process, and your change should be live within a minute or so.
## Development
This repo is a simple page builder utilizing [gulp](https://gulpjs.com) and [Liquid](https://shopify.github.io/liquid/) templating.
```bash
npm i
npm start
```
Will start a live-reloading local server, reachable under [localhost:1337](http://localhost:1337).
## Deployment
Page lives in a S3 bucket and deployment happens automatically via Travis based on the rules described in the [editing workflow](#editing-workflow). For that to work, the following environment variables need to be setup in Travis:
-`AWS_DEFAULT_REGION`
-`AWS_ACCESS_KEY_ID`
-`AWS_SECRET_ACCESS_KEY`
Every `master` Travis build triggers this script which can also be used for manual emergency deployments:
```bash
npm run deploy
# executing ./deploy.sh
```
DNS for `datascience.oceanprotocol.com` is setup via Cloudflare, pointing to the S3 bucket under `datascience.oceanprotocol.com.s3-website-ap-southeast-1.amazonaws.com`