eosnetworkfoundation / chicken-dance

Chicken Dance distributed replay of transactions
MIT License
0 stars 0 forks source link

Support Spring Pre-Release Package Downloads #99

Closed kj4ezj closed 3 months ago

kj4ezj commented 3 months ago

From engineering issue 100, this pull request adds support for running "chicken dance" full-chain replays against Spring pre-release binaries.

Previously, the script looked for a LEAP_VERSION string beginning with 4, then downloaded a Leap v4.x package using that nomenclature. Anything else was assumed to be Leap v5.x.

The new behavior uses the same pattern to look for a 4 or a 5, which causes the previous behavior. Anything else is assumed to be a reference to Spring, in which case it will pull from that repo.

I have also added a dry-run function that prints the inputs and the constructed URI if DRY_RUN is set to true, or if the second argument matches ^DRY(-_)?RUN$ (case-insensitive), for debugging.

The script now also permits the leaving v in version strings, such as v0.0.0 instead of 0.0.0, as this is how I would expect a system to expect version strings.

Finally, this pull request includes changes to this install-nodeos.sh file to comply with bashate (essentially pep8, but for BASH)...

bashate -i E006 install-nodeos.sh

...and ShellCheck.

shellcheck -x -f gcc install-nodeos.sh
kj4ezj commented 3 months ago

There is no existing pre-release in Spring for me to use to verify the constructed URI is correct, and I wasn't sure if I should create one.

ericpassmore commented 3 months ago

Approved these updates. We need another option to pull a Deb release Before it is publicly available. Is there another update to this script coming?

With the current code we'll have to wait until Sep 9th for the first public release. Ideally we could create a pre-public version we could pull from a file we posted.

kj4ezj commented 3 months ago

Sorry, I took your statement in the issue...

Need to update chicken-dance to handle pre-released packages.

...literally, in the sense that you want to pull packages from a GitHub Pre-Release. I was hoping to add support for pulling arbitrary CI artifacts next anyways.