Subsquid mono-repo is managed by rush. The setup is pretty standard for rush projects. All information from rush docs is applicable here.
Subsquid repository contains a number of large test data files, which are stored as git LFS objects.
It can make sense to skip downloading those files by setting
GIT_LFS_SKIP_SMUDGE
environment variable.
GIT_LFS_SKIP_SMUDGE=1 git clone [email protected]:subsquid/squid.git
Install rush(1)
globally from npm.
npm install -g @microsoft/rush
Alternatively one can use a provided starter script instead of rush(1)
.
node common/scripts/install-run-rush.js <regular rush command>
rush install
rush build
Running tests requires a recent version of docker.
# Run unit tests
rush test
# Run tests requiring git-lfs files
rush data-test
# Run end to end test suite
rush e2e
All pull requests should be made from a fork. To create a pull request
# 1. Create a new branch to incorporate your changes
git checkout -b new_awesome_feature
# 2. Make and commit your changes
# 3. Create and commit a change file describing your modifications
rush change -b <the target branch you are basing your changes on>
git add common/changes
git commit -m "changes"
After that send a PR from new_awesome_feature
to the target branch.