This repository has been archived by the owner on Aug 2, 2022. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Change Description
This introduces the
eosio-resume-from-state
pipeline, which tests that a current version of EOSIO is able to resume from state files generated by previous versions of EOSIO. The versions of EOSIO to test resuming from are declared in thepipeline.jsonc
file by git branch, tag, or commit. For example,For each test object, the pipeline upload step in
eosio-resume-from-state
will query for volume snapshots containing state files generated by the given version ofnodeos
. If it does not find any volume snapshots for any individual test, the pipeline upload step will fail with a useful message so an engineer can review the test and Automation can make the missing snapshot available. Tooling to take these snapshot automatically will be created in the coming weeks. Otherwise, the pipeline upload step finds snapshots for one or more chains and generates a test step for each available chain.The test steps create volumes from the snapshots and stand up sync nodes using the version of nodeos under test, with no peers. The test passes when the LIB is observed to be greater than or equal to
HEIGHT
(currently 1 million). The test fails if the LIB does not reflect the state files, nodeos exits, nodeos crashes, or nodeos hangs and the test times out.The sync nodes and ephemeral volumes are deleted at both the end of the test, and the end of the build. Builds which are cancelled while the sync node is up are the only case where resources are left behind, and we will be creating a reaper in the coming weeks to catch this rare edge case.
Docker Double Delete
This pull request also introduces a fix for the issue we ran into last night with build 19721 trying to delete the same docker container twice.
Tested
eos:develop
eos:release/2.0.x
eos:release/1.8.x
See Also
develop
release/2.0.x
release/1.8.x
Consensus Changes
None.
API Changes
None.
Documentation Additions
None.