mirror of
https://github.com/luxfi/safe-wallet.git
synced 2026-10-30 15:19:21 +00:00
Upstream merge brings 52 commits from safe-global/safe-wallet-monorepo into the luxfi/safe-wallet@dev fork. Conflicts resolved: - yarn.lock: deleted (we are on pnpm) - apps/web/package.json: kept pnpm version + brand build scripts (build:safe / build:lux / build:hanzo) plus upstream's new generate-version.mjs step - apps/mobile/.../Signer/appKit.ts: took upstream's import pattern for shared/projectId, shared/metadata, shared/mmkvStorageAdapter Yarn sweep applied to 42 files (docs, github-actions, workflows, AGENTS, specs, codemods, scripts, READMEs). Net result: zero yarn-* command references anywhere outside node_modules. ❯ pnpm is the law in this fork. No yarn.
2.9 KiB
2.9 KiB
Environments
We have several environments where the app can be deployed:
| Env | URL | Purpose | How it's deployed | Backend env |
|---|---|---|---|---|
| local | http://localhost:3000/app | local development | pnpm start |
staging |
| PRs | https://<PR_NAME>--walletweb.review.5afe.dev/ |
peer review & feature QA | for all PRs on push | staging |
| dev | https://safe-wallet-web.dev.5afe.dev/ | preview of all WIP features | on push to the dev branch |
staging |
| staging | https://safe-wallet-web.staging.5afe.dev/ | preview of features before a release | on push to main |
production (for testing) |
| production | https://app.safe.global/ | live app | deployed by DevOps (see the Release Procedure) | production |
Lifecycle of a feature
After a feature enters the development cycle (i.e. is in a sprint), it goes through the following steps:
Development & QA
- Developer starts working on the feature
- Developer creates a Pull Request and assigns a reviewer
- Reviewer leaves feedback until the PR is approved
- QA engineer starts testing the branch on a deployed site (each PR has one, see the table above)
- Once QA gives a green light, the branch is merged to the
devbranch
Release
- All merged branches sit on
dev, which is occasionally reviewed on the dev site. - In case some regression is noticed, it's fixed on dev.
- Once a sufficient amount of features are ready for a release (at least once in a sprint), a release branch is made (normally from the HEAD of
dev) and a PR tomainis created. - QA does regression testing on the release branch. The backend APIs are pointing to production on this branch so that all chains can be tested.
- Once QA passes, the branch is merged to
mainand is automatically deployed to the staging site. - It sits on staging for a short while where QA and the release manager briefly do a final check before going live.
- DevOps are requested to deploy the code from
mainto the production env. - Once it's done, brief sanity checks are done on the production site.