CI: introduce tezt greedy tests
Context
This MR adds two new tezt tags "memory_3k" and "memory_4k" to tezt jobs that respectively ~4 and ~3 Gb of memory to execute. The mesures are taken from !9593 (closed)
subsequently we exclude these jobs to the main tezt job list and we run two additional separate jobs for these memory hungry tests. The longest test now takes 11minutes.
I introduce a new makefile target test-tezt-greedy to run memory hungry tezt jobs and a minor code refactor to allow to
specify the value of the tezt option -j from a env variable TEZT_PARALLEL ( default 3 )
Manually testing the MR
Run the CI, make sure the memory expensive jobs are run separately and do not fail.
$ tezt --list-tsv memory_4k
qcheck random seed: 278916017
tezt/tests/p2p.ml p2p-maintenance-init-expected_connections p2p node maintenance memory_4k
tezt/tests/p2p.ml p2p-swap-disable p2p node swap memory_4k
tezt/tests/storage_snapshots.ml Nairobi: storage snapshot export and import nairobi storage snapshot export import memory_4k
tezt/tests/storage_snapshots.ml Oxford: storage snapshot export and import oxford storage snapshot export import memory_4k
tezt/tests/storage_snapshots.ml Alpha: storage snapshot export and import alpha storage snapshot export import memory_4k
tezt/tests/synchronisation_heuristic.ml Nairobi: bootstrap: many nodes bootstrap nairobi synchronisation_threshold bootstrap threshold memory_4k
tezt/tests/synchronisation_heuristic.ml Oxford: bootstrap: many nodes bootstrap oxford synchronisation_threshold bootstrap threshold memory_4k
tezt/tests/synchronisation_heuristic.ml Alpha: bootstrap: many nodes bootstrap alpha synchronisation_threshold bootstrap threshold memory_4k
qcheck random seed: 947557524
tezt/tests/p2p.ml Test [octez-admin-client p2p stat] p2p connections p2p_stat memory_3k
tezt/tests/nonce_seed_revelation.ml Nairobi: Nonce seed revelation nairobi nonce seed revelation memory_3k
tezt/tests/nonce_seed_revelation.ml Oxford: Nonce seed revelation oxford nonce seed revelation memory_3k
tezt/tests/nonce_seed_revelation.ml Alpha: Nonce seed revelation alpha nonce seed revelation memory_3k
tezt/tests/precheck.ml Nairobi: forge fake block nairobi precheck fake_block propagation memory_3k
tezt/tests/precheck.ml Oxford: forge fake block oxford precheck fake_block propagation memory_3k
tezt/tests/precheck.ml Alpha: forge fake block alpha precheck fake_block propagation memory_3k
tezt/tests/precheck.ml Nairobi: forge block with wrong payload nairobi precheck fake_block propagation payload memory_3k
tezt/tests/precheck.ml Oxford: forge block with wrong payload oxford precheck fake_block propagation payload memory_3k
tezt/tests/precheck.ml Alpha: forge block with wrong payload alpha precheck fake_block propagation payload memory_3k
tezt/tests/synchronisation_heuristic.ml Nairobi: check synchronization state nairobi synchronisation_threshold bootstrap node sync memory_3k
tezt/tests/synchronisation_heuristic.ml Oxford: check synchronization state oxford synchronisation_threshold bootstrap node sync memory_3k
tezt/tests/synchronisation_heuristic.ml Alpha: check synchronization state alpha synchronisation_threshold bootstrap node sync memory_3k
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by pietro