Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Add Sync from Genesis Test #8358

Merged
merged 12 commits into from
Dec 20, 2019
Merged

Add Sync from Genesis Test #8358

merged 12 commits into from
Dec 20, 2019

Conversation

kj4ezj
Copy link
Contributor

@kj4ezj kj4ezj commented Dec 19, 2019

Change Description

This reintroduces the EOSIO sync-from-genesis test, which takes 3-5 minutes and is configured to run on every commit like the other tests. It simply starts EOSIO on each major chain, waits for LIB to advance, then passes or fails accordingly.

I have also changed how the Docker container (previously called the "Contracts Builder" or the "Contracts Base Image") is built. Previously, it was built with the package builder steps only on builds against major branches or tags. It extended build time by about 7 minutes, as the package builders run in under 3 minutes and this step runs in about 10. Now I build and install EOSIO into the Ubuntu 18.04 Docker container with the other build steps, pushing it to Docker Hub tagged with ONLY the git commit. This takes about the same amount of time as the other build steps. Later in the build, once all tests have passed, the container is retroactively tagged with the git branch and git tag, if one exists. This means the container is available for use in tests (like the sync-from-genesis test) in under 10 minutes, but still guarantees that any container pulled by branch or tag contains working software.

Tested

Some example builds:

  • Main Pipeline
  • Sync Tests
  • Edge Cases
    • Build 11 -- sync test started manually before EOSIO build pushed base-image
    • Build 12 -- failed sync test step retried
    • Build 13 -- manually triggered sync test
    • Build 16 -- the build which triggered this one was cancelled
  • Contracts
    • Build 957 -- eosio.contracts pipeline pulls these images by branch
    • Build 958 -- eosio.contracts pipeline pulls these images by commit

See Also

This pull request is part of a set:

Consensus Changes

  • Consensus Changes
    None.

API Changes

  • API Changes
    None.

Documentation Additions

  • Documentation Additions
    None.

@kj4ezj kj4ezj mentioned this pull request Dec 20, 2019
3 tasks
@kj4ezj kj4ezj marked this pull request as ready for review December 20, 2019 15:43
@kj4ezj kj4ezj mentioned this pull request Dec 20, 2019
3 tasks
Copy link
Contributor

@scottarnette scottarnette left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❄️

@kj4ezj kj4ezj merged commit 8084285 into develop Dec 20, 2019
@kj4ezj kj4ezj deleted the zach-sync-test branch December 20, 2019 16:44
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants