Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

spring rebrand #51

Merged
merged 1 commit into from
Apr 18, 2024
Merged

spring rebrand #51

merged 1 commit into from
Apr 18, 2024

Conversation

spoonincode
Copy link
Member

Renames almost all occurrences of leap/Leap to spring/Spring. Originally I was planning on only renaming "user facing" usages of leap, but it turns out it's easier to just be more exhaustive instead of trying to make a case-by-case basis judgement call.

CONTRIBUTING.md has been removed; it will be rewritten entirely at some point anyways.

Taking a grep through the repo here are the remaining usages of leap I see,

legacy cmake files

This allows users of libtester to continue finding it via find_package(leap) etc.

spring/CMakeLists.txt

Lines 201 to 204 in 7a5a807

# legacy leap CMake files
configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/leap-config.cmake.in ${CMAKE_BINARY_DIR}/lib/cmake/leap/leap-config.cmake @ONLY)
configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/EosioTesterBuild.cmake.in ${CMAKE_BINARY_DIR}/lib/cmake/leap/EosioTester.cmake @ONLY)
configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/EosioCheckVersion.cmake ${CMAKE_BINARY_DIR}/lib/cmake/leap/EosioCheckVersion.cmake COPYONLY)

spring/CMakeLists.txt

Lines 217 to 221 in 7a5a807

# legacy leap CMake files
configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/leap-config.cmake.in ${CMAKE_BINARY_DIR}/modules/leap-config.cmake @ONLY)
install(FILES ${CMAKE_BINARY_DIR}/modules/leap-config.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/leap COMPONENT dev EXCLUDE_FROM_ALL)
install(FILES ${CMAKE_BINARY_DIR}/modules/EosioTester.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/leap COMPONENT dev EXCLUDE_FROM_ALL)
install(FILES ${CMAKE_SOURCE_DIR}/CMakeModules/EosioCheckVersion.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/leap COMPONENT dev EXCLUDE_FROM_ALL)

list(APPEND CMAKE_MODULE_PATH @EOS_ROOT_DIR@/cmake/leap)
include(EosioTester)
include(EosioCheckVersion)

package conflicts

This allows installing spring.deb "over" a leap.deb

spring/package.cmake

Lines 50 to 51 in 7a5a807

set(CPACK_DEBIAN_PACKAGE_CONFLICTS "eosio, mandel, leap")
set(CPACK_RPM_PACKAGE_CONFLICTS "eosio, mandel, leap")

libtester tests

These are currently using main of reference-contracts which does the find_package(leap) as well as having a cmake knob with LEAP in the name. Eventually we will change this to a find_package(spring) etc and we'll need to update this.

name: Set leap_DIR env var
run: |
echo "leap_DIR=$PWD/build/lib/cmake/leap" >> "$GITHUB_ENV"

cmake -S reference-contracts -B reference-contracts/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=On -DSYSTEM_ENABLE_LEAP_VERSION_CHECK=Off -DSYSTEM_ENABLE_CDT_VERSION_CHECK=Off

performance harness runner

This is just a label for a configured runner that has already been attached to this repo too

runs-on: ["Leap-Perf-Ubuntu-22-16x64x600"]

performance harness backwards compatibility

Clearly this should still download the old version of leap from the old repo. (This is looking outdated already due to the lack of 5.0 support though?)

- name: Download Prev Leap Version
uses: AntelopeIO/asset-artifact-download-action@v3
with:
owner: AntelopeIO
repo: leap
file: '(leap).*${{matrix.platform}}.04.*(x86_64|amd64).deb'
target: '${{matrix.release}}'
- name: Install leap & replace binaries for PH use
run: |
apt-get update
apt-get install -y ./leap*.deb

experimental-binaries container description

The experimental-binaries container name is currently shared by both leap & spring. We might want to change this though as there will be a version conflict. Tracked in #50

LABEL org.opencontainers.image.description="A collection of experimental Leap and Spring binary packages"

some docs

Clarify leap 4/5 is before spring 1.0

Starting in Leap 4.0 (a predecessor of Spring 1.0), blocks are propagated after block header validation. This means instead of `BP-A Peer` & `BP-B Peer` taking `m` time to validate and forward a block it only takes a small number of milliseconds to verify the block header and then forward the block.
Starting in Leap 5.0 (a predecessor of Spring 1.0), blocks in a round are started immediately after the completion of the previous block. Before 5.0, blocks were always started on `w` intervals and a node would "sleep" between blocks if needed. In 5.0, the "sleeps" are all moved to the end of the block production round.

net_plugin naming

It feels like usages of "leap" here are referencing a point in time so I think we want to keep the naming

constexpr uint16_t proto_leap_initial = 7; // leap client, needed because none of the 2.1 versions are supported

constexpr uint16_t net_version_max = proto_leap_initial;

// we don't support the 2.1 packed_transaction & signed_block, so tell 2.1 clients we are 2.0
if( protocol_version >= proto_pruned_types && protocol_version < proto_leap_initial ) {

// some clients before leap 5.0 provided microsecond epoch instead of nanosecond epoch

CLI11 leap formatter

This LeapFormatter exists over in the separate CLI11 submodule.. I didn't want to change that for now (or maybe ever).

spring/programs/cleos/main.cpp

Lines 2786 to 2787 in 7a5a807

// custom leap formatter
auto fmt = std::make_shared<CLI::LeapFormatter>();

// custom leap formatter
auto fmt = std::make_shared<CLI::LeapFormatter>();

comment referencing leap issue

This one is self explanatory

# the resulting exception in http-plugin is caught and doesn't cause nodeos to crash (leap issue #1372).

@@ -1 +1 @@
[Net API Reference](https://docs.eosnetwork.com/leap-plugins/latest/net.api/)
Copy link
Member Author

Choose a reason for hiding this comment

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

These links don't work currently

@@ -151,7 +151,6 @@ def configureApiNodes():
if self.apiNodeCount > 0:
configureApiNodes()

assert "v1" not in self.nodeosVers and "v0" not in self.nodeosVers, f"nodeos version {Utils.getNodeosVersion()} is unsupported by performance test"
Copy link
Member Author

Choose a reason for hiding this comment

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

I'm not sure what else to do here at the moment. Tracking in #49

@@ -17,7 +17,7 @@ DMLOG RLIMIT_OP ACCOUNT_USAGE INS {"owner":"eosio.prods","net_usage":{"last_ordi
DMLOG RAM_OP 0 eosio.prods account add newaccount eosio.prods 2656 2656
DMLOG PERM_OP INS 0 7 {"usage_id":6,"parent":6,"owner":"eosio.prods","name":"prod.major","last_updated":"2020-01-01T00:00:00.000","auth":{"threshold":1,"keys":[],"accounts":[{"permission":{"actor":"eosio","permission":"active"},"weight":1}],"waits":[]}}
DMLOG PERM_OP INS 0 8 {"usage_id":7,"parent":7,"owner":"eosio.prods","name":"prod.minor","last_updated":"2020-01-01T00:00:00.000","auth":{"threshold":1,"keys":[],"accounts":[{"permission":{"actor":"eosio","permission":"active"},"weight":1}],"waits":[]}}
DMLOG DEEP_MIND_VERSION leap 13 0
DMLOG DEEP_MIND_VERSION spring 13 0
Copy link
Member

Choose a reason for hiding this comment

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

We should probably ask EOS Nation if this should be spring 1 0 instead. Ok, for now.

Copy link
Member Author

Choose a reason for hiding this comment

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

one way or another we should probably touch the version number before release since new messages are being added I think? It seems even in savanna branch the version remains 13 0

Copy link
Member

Choose a reason for hiding this comment

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

Yes, this #29 needs to change that version. I'll make the change there.

@spoonincode spoonincode linked an issue Apr 18, 2024 that may be closed by this pull request
@spoonincode spoonincode merged commit f365ac4 into main Apr 18, 2024
36 checks passed
@spoonincode spoonincode deleted the rebrand branch April 18, 2024 17:30
@ericpassmore
Copy link
Contributor

Note:start
group: IF
category: CHORE
summary: Rebrand to Spring.
Note:end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

do rebrand
5 participants