Before running or contribute to this project, you need to have the following packages setup in your environment
- node
- npm
- git (for
contribution) - gatsby-cli (npm install -g gatsby-cli)
Moreover, having these extensions will help you to speed up the development process and adhere to the best practices
- Prettier: setup in your editor https://prettier.io/ (or you can run
npm run format) - Stylelint: setup in your editor https://stylelint.io/ (or you can run
npm run stylelint) - Eslint: setup in your editor https://eslint.org/ (or you can run
npm run eslint)
-
Install your dependencies:
npm ci
-
To start developing:
npm start
-
Open the source code and start editing!
Your site is now running at
http://localhost:8000!Note: You'll also see a second link:
http://localhost:8000/___graphql. This is a tool you can use to experiment with querying your data. Learn more about using this tool in the Gatsby tutorial.
We have two types of PR (Pull request):
PR will be based on master branch if the commits are not having text changes
-
Create branch from latest master branch
git checkout master git pull upstream master git checkout -b [_your_branch_name]
-
MAKE YOUR CHANGES
-
Make pull request
-
Push your changes to your origin
git push -u origin [_your_branch_name]
-
Click on the autogenerated link from terminal to open the PR
-
Make sure to change the PR base to
masterbranch
PR will be based on crowdin branch if the commits are having text changes
- Create branch from latest crowdin branch
-
if you dont have crowdin branch
git fetch upstream crowdin git checkout crowdin git checkout -b [_your_branch_name]
-
if you have crowdin branch
git checkout crowdin git pull upstream crowdin git checkout -b [_your_branch_name]
-
MAKE YOUR CHANGES
-
Extract translation
-
Make sure you have the latest crowdin changes, resolve conflicts if any
git pull upstream crowdin
-
Extract translation text to update
messages.jsoncd scripts/ node extract-translations.js -
Commit your changes
- Make pull request
-
Push your changes to your origin, add
-uflag for the first time pushgit push -u origin [_your_branch_name]
-
Click on the autogenerated link from terminal to open the PR
-
Make sure to change the PR base to
crowdinbranch
There are 2 types of releases:
- Release to staging:
Merging to master (squash and merge) will automatically release last commit to staging server https://staging.deriv.com
- Release to production:
Releasing to production require a tag using the following format:
production_VYYYYMMDD_${Integer} --- Integer is the release version
Example of release steps
-
Create the tag following todays date
git tag production_V20200806_0 -m 'release to production' -
Push tag to main repository
git push upstream production_V20200806_0
There are two types of test link deployment preview:
- Automatic deployment
Upon creating PR, vercel (https://vercel.com/) will auto-generate test link inside the PR. you can use that to preview test link for the changes you have made.
- Manual deployment
If preferrable to use manual deployment, you can use gh-pages functionality to create test link. here are ways to do it:
-
Basic name.github.io/deriv-com/
npm run deploy-dev
⚠️ This will remove your branch deployments -
To a specific branch:
branch_name=fix_all_the_bugs npm run deploy-branch
This will be deployed to name.github.io/deriv-com/br/fix_all_the_bugs