Merge pull request #3573 from parithosh/remove-docker-test
Removing docker CI test and add docker tutorial
This commit is contained in:
commit
3749caad74
|
@ -66,37 +66,6 @@ jobs:
|
||||||
- name: Run linter for test generators
|
- name: Run linter for test generators
|
||||||
run: make lint_generators
|
run: make lint_generators
|
||||||
|
|
||||||
dockerfile-test:
|
|
||||||
runs-on: self-hosted
|
|
||||||
needs: preclear
|
|
||||||
services:
|
|
||||||
registry:
|
|
||||||
image: registry:2
|
|
||||||
ports:
|
|
||||||
- 5000:5000
|
|
||||||
steps:
|
|
||||||
- name: Checkout this repo
|
|
||||||
uses: actions/checkout@v3.2.0
|
|
||||||
- name: get git commit hash
|
|
||||||
id: git_commit_hash
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
echo "git_commit_hash=$(echo $(git log --pretty=format:'%h' -n 1))" >> $GITHUB_OUTPUT
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v2
|
|
||||||
with:
|
|
||||||
driver-opts: network=host
|
|
||||||
- name: Build and push to local registry
|
|
||||||
uses: docker/build-push-action@v4
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
file: ./docker/Dockerfile
|
|
||||||
push: true
|
|
||||||
tags: localhost:5000/consensus-specs-dockerfile-test:${{ steps.git_commit_hash.outputs.git_commit_hash }}
|
|
||||||
- name: Test the image by running the linter
|
|
||||||
run: |
|
|
||||||
docker run localhost:5000/consensus-specs-dockerfile-test:${{ steps.git_commit_hash.outputs.git_commit_hash }} make lint
|
|
||||||
|
|
||||||
pyspec-tests:
|
pyspec-tests:
|
||||||
runs-on: self-hosted
|
runs-on: self-hosted
|
||||||
needs: [preclear,lint,codespell,table_of_contents]
|
needs: [preclear,lint,codespell,table_of_contents]
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
## Docker related information
|
||||||
|
|
||||||
|
This dockerfile sets up the dependencies required to run consensus-spec tests. The docker image can be locally built with:
|
||||||
|
- `docker build ./ -t $IMAGE_NAME -f ./docker/Dockerfile`
|
||||||
|
|
||||||
|
|
||||||
|
Handy commands:
|
||||||
|
- `docker run -it $IMAGE_NAME /bin/sh` will give you a shell inside the docker container to manually run any tests
|
||||||
|
- `docker run $IMAGE_NAME make citest` will run the make citest command inside the docker container
|
||||||
|
|
||||||
|
Ideally manual running of docker containers is for advanced users, we recommend the script based approach described below for most users.
|
||||||
|
|
||||||
|
The `scripts/build_run_docker_tests.sh` script will cover most usecases. The script allows the user to configure the fork(altair/bellatrix/capella..), `$IMAGE_NAME` (specifies the container to use), number of cores, preset type (mainnet/minimal), and test all forks flags. Ideally, this is the main way that users interact with the spec tests instead of running it locally with varying versions of dependencies.
|
||||||
|
|
||||||
|
E.g:
|
||||||
|
- `./build_run_test.sh --p mainnet --n 16` will run the mainnet preset tests with 16 threads
|
||||||
|
- `./build_run_test.sh --a` will run all the tests across all the forks
|
||||||
|
- `./build_run_test.sh --f deneb --n 16` will only run deneb tests on 16 threads
|
||||||
|
|
||||||
|
Results are always placed in a folder called `./testResults`. The results are `.xml` files and contain the fork they represent and the date/time they were run at.
|
Loading…
Reference in New Issue