如何为 algorand 沙箱项目设置 circleci 测试?
How to setup circleci tests for algorand sandbox project?
我正在使用 NodeJS 脚本开发一个 algorand 项目,并使用沙箱进行开发。
注意:我们也在使用 algorand 索引器和沙箱,但没有合同。
出于开发目的,我们可以使用 jest 轻松进行测试,但是当我尝试使用 circle CI 使其自动化时,它在测试阶段失败了。
这是我的 .circleci/config.yml 文件::
version: 2.1
orbs:
node: circleci/node@5.0.0
jobs:
build:
docker:
- image: cimg/node:17.5.0
steps:
- checkout
- run: echo "build project"
- run: npm install
- run: npm run build
linting:
docker:
- image: cimg/node:17.5.0
steps:
- checkout
- run: echo "Linting project"
- run: npm install
- run: npm run lint
test:
docker:
- image: cimg/node:17.5.0
steps:
- checkout
- run: echo "Running tests"
- run: npm install
- run: npm run test
workflows:
test_build:
jobs:
- linting
- build
- test:
requires:
- build
我该如何解决这个问题?
Algorand 沙箱 (https://github.com/algorand/sandbox) 本身使用 Docker 和 docker-compose。因此,它不能轻易地直接用于另一个 docker 容器。
你可以在那里看到一个讨论:
https://github.com/algorand/sandbox/issues/84
从那里你有两个选择:
- 在 Circle CI 中使用机器执行器而不是 docker 执行器:https://circleci.com/docs/2.0/executor-types/ / https://circleci.com/docs/2.0/docker-to-machine/。这允许您访问 docker 和 运行 沙箱。
- 由于沙箱只是 https://github.com/algorand/go-algorand and https://github.com/algorand/indexer 的包装器,您可以手动提取这部分和 运行 一个没有沙箱的节点用于测试。
PS:一般来说,我建议在https://forum.algorand.org上问Algorand-related个问题,这样的问题比Whosebug更活跃。
我正在使用 NodeJS 脚本开发一个 algorand 项目,并使用沙箱进行开发。
注意:我们也在使用 algorand 索引器和沙箱,但没有合同。
出于开发目的,我们可以使用 jest 轻松进行测试,但是当我尝试使用 circle CI 使其自动化时,它在测试阶段失败了。
这是我的 .circleci/config.yml 文件::
version: 2.1
orbs:
node: circleci/node@5.0.0
jobs:
build:
docker:
- image: cimg/node:17.5.0
steps:
- checkout
- run: echo "build project"
- run: npm install
- run: npm run build
linting:
docker:
- image: cimg/node:17.5.0
steps:
- checkout
- run: echo "Linting project"
- run: npm install
- run: npm run lint
test:
docker:
- image: cimg/node:17.5.0
steps:
- checkout
- run: echo "Running tests"
- run: npm install
- run: npm run test
workflows:
test_build:
jobs:
- linting
- build
- test:
requires:
- build
我该如何解决这个问题?
Algorand 沙箱 (https://github.com/algorand/sandbox) 本身使用 Docker 和 docker-compose。因此,它不能轻易地直接用于另一个 docker 容器。
你可以在那里看到一个讨论: https://github.com/algorand/sandbox/issues/84
从那里你有两个选择:
- 在 Circle CI 中使用机器执行器而不是 docker 执行器:https://circleci.com/docs/2.0/executor-types/ / https://circleci.com/docs/2.0/docker-to-machine/。这允许您访问 docker 和 运行 沙箱。
- 由于沙箱只是 https://github.com/algorand/go-algorand and https://github.com/algorand/indexer 的包装器,您可以手动提取这部分和 运行 一个没有沙箱的节点用于测试。
PS:一般来说,我建议在https://forum.algorand.org上问Algorand-related个问题,这样的问题比Whosebug更活跃。