mirror of
https://github.com/status-im/eth2.0-specs.git
synced 2025-02-09 09:14:32 +00:00
Add gen-collect-only CI check
This commit is contained in:
parent
96b1d312a9
commit
991ccd233f
21
.github/workflows/run-tests.yml
vendored
21
.github/workflows/run-tests.yml
vendored
@ -24,7 +24,7 @@ on:
|
|||||||
- cron: '0 0 * * *'
|
- cron: '0 0 * * *'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
table_of_contents:
|
table-of-contents:
|
||||||
runs-on: [self-hosted-ghr-custom, size-s-x64, profile-consensusSpecs]
|
runs-on: [self-hosted-ghr-custom, size-s-x64, profile-consensusSpecs]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
@ -71,7 +71,7 @@ jobs:
|
|||||||
|
|
||||||
pyspec-tests:
|
pyspec-tests:
|
||||||
runs-on: [self-hosted-ghr-custom, size-xl-x64, profile-consensusSpecs]
|
runs-on: [self-hosted-ghr-custom, size-xl-x64, profile-consensusSpecs]
|
||||||
needs: [lint,codespell,table_of_contents]
|
needs: [lint, codespell, table-of-contents]
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version: ["phase0", "altair", "bellatrix", "capella", "deneb", "electra", "whisk", "eip7594"]
|
version: ["phase0", "altair", "bellatrix", "capella", "deneb", "electra", "whisk", "eip7594"]
|
||||||
@ -104,9 +104,24 @@ jobs:
|
|||||||
- name: Install pyspec requirements
|
- name: Install pyspec requirements
|
||||||
run: make install_test
|
run: make install_test
|
||||||
- name: test-${{ matrix.version }}
|
- name: test-${{ matrix.version }}
|
||||||
run: make citest fork=${{ matrix.version }} TEST_PRESET_TYPE=${{env.spec_test_preset_type}}
|
run: make citest fork=${{ matrix.version }} TEST_PRESET_TYPE=${{ env.spec_test_preset_type }}
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
if: always()
|
if: always()
|
||||||
with:
|
with:
|
||||||
name: test-reports-${{ matrix.version }}
|
name: test-reports-${{ matrix.version }}
|
||||||
path: tests/core/pyspec/test-reports
|
path: tests/core/pyspec/test-reports
|
||||||
|
|
||||||
|
gen-collect-only:
|
||||||
|
runs-on: [self-hosted-ghr-custom, size-s-x64, profile-consensusSpecs]
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Setup Python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.12.4'
|
||||||
|
cache: ''
|
||||||
|
- name: Install pyspec requirements
|
||||||
|
run: make install_test
|
||||||
|
- name: Run generators with --collect-only
|
||||||
|
run: make generate_tests collect_only=true
|
||||||
|
5
Makefile
5
Makefile
@ -159,6 +159,9 @@ lint_generators: pyspec
|
|||||||
. venv/bin/activate; cd $(TEST_GENERATORS_DIR); \
|
. venv/bin/activate; cd $(TEST_GENERATORS_DIR); \
|
||||||
flake8 --config $(LINTER_CONFIG_FILE)
|
flake8 --config $(LINTER_CONFIG_FILE)
|
||||||
|
|
||||||
|
# If set to true, it will not run generator tests.
|
||||||
|
collect_only ?= false
|
||||||
|
|
||||||
# Runs a generator, identified by param 1
|
# Runs a generator, identified by param 1
|
||||||
define run_generator
|
define run_generator
|
||||||
# Started!
|
# Started!
|
||||||
@ -177,7 +180,7 @@ define run_generator
|
|||||||
. venv/bin/activate; \
|
. venv/bin/activate; \
|
||||||
pip3 install ../../../dist/eth2spec-*.whl; \
|
pip3 install ../../../dist/eth2spec-*.whl; \
|
||||||
pip3 install 'eth2spec[generator]'; \
|
pip3 install 'eth2spec[generator]'; \
|
||||||
python3 main.py -o $(CURRENT_DIR)/$(TEST_VECTOR_DIR); \
|
python3 main.py -o $(CURRENT_DIR)/$(TEST_VECTOR_DIR) $(if $(filter true,$(collect_only)),--collect-only); \
|
||||||
echo "generator $(1) finished"
|
echo "generator $(1) finished"
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -248,6 +248,10 @@ def run_generator(generator_name, test_providers: Iterable[TestProvider]):
|
|||||||
print(f"Collected test at: {case_dir}")
|
print(f"Collected test at: {case_dir}")
|
||||||
diagnostics_obj.collected_test_count += 1
|
diagnostics_obj.collected_test_count += 1
|
||||||
|
|
||||||
|
# Bail here if we do not want to generate.
|
||||||
|
if collect_only:
|
||||||
|
continue
|
||||||
|
|
||||||
is_skip, diagnostics_obj = should_skip_case_dir(case_dir, args.force, diagnostics_obj)
|
is_skip, diagnostics_obj = should_skip_case_dir(case_dir, args.force, diagnostics_obj)
|
||||||
if is_skip:
|
if is_skip:
|
||||||
continue
|
continue
|
||||||
|
Loading…
x
Reference in New Issue
Block a user