Skip to content

How tos

Gareth Fuller edited this page May 5, 2022 · 33 revisions

A collection of guides for specific types of contributions.

Hotfix release

A hotfix release is a release straight to the master branch and therefore an immediate deployment to the production apps. Hotfixes are for when something needs to go live before the next weekly release cycle which happens every week on a Monday.

To perform a hotfix, follow this process:

  1. Branch off master: git checkout master && git pull
  2. Make your changes locally.
  3. Stage & commit your changes: git add -A && git commit -m "Describe your change"
  4. Increase the app's patch version in package.json. e.g. If the version is x.x.1 then change to x.x.2
  5. Run npm install: npm install
  6. Stage & commit the version update: git add -A && git commit -m "Bump version"
  7. Push your branch to github and create a PR.
  8. Once approved, merge your PR with master.
  9. Create a new PR with your hotfix branch but now set the base (the branch you want to merge into) to develop.
  10. After approvals, merge your hotfix into develop.
  11. Draft a new release setting the release version and title of the release to the version number you set in step 4.
  12. Add a description for your hotfix that is similar in structure to previous hotfix releases.
  13. Publish your release.

Add Stable pool to allowlist

  1. If you're not a core repo contributor, create a pull request from a fork. If you are a core contributor follow the hotfix release process.
  2. Add your pool ID to the relevant network allowlist: Mainnet, Polygon or Arbitrum
  3. Stage & commit that change: git commit -m "Add my stable pool to allowlist"
  4. Increase the app's patch version in package.json. e.g. If the version is x.x.1 then change to x.x.2
  5. Run npm install: npm install
  6. Stage & commit the version update: git commit -m "Bump version"
  7. Push your branch to github and create a PR.
  8. Request a review from a couple of core team members.

If the PR looks good, a core team member will merge with the master branch and run through the hotfix release process.

Add a new voting gauge to veBAL voting list

  1. If you're not a core repo contributor, create a pull request from a fork. If you are a core contributor follow the hotfix release process.
  2. Add the pool ID and network to the appropriate array in voting-gauge-pools.ts (Mainnet, Arbitrum & Polygon)
  3. Add a POOLS_API_URL variable to .env.development (ask a core member for this URL).
  4. Run the voting gauge generation script: npm run generate:voting-gauges
  5. Add the pool ID to the relevant stakable allowlist array: Mainnet, Polygon or Arbitrum
  6. Stage & commit these changes: git commit -m "Update voting gauge list" (please avoid staging your change to .env.development)
  7. Increase the app's patch version in package.json. e.g. If the version is x.x.1 then change to x.x.2
  8. Run npm install: npm install
  9. Stage & commit the version update: git commit -m "Bump version"
  10. Push your branch to github and create a PR.
  11. Request a review from a couple of core team member.

If the PR looks good, a core team member will merge with the master branch and run through the hotfix release process.

Clone this wiki locally