Initial statediff plugin #2

Merged
roysc merged 6 commits from wip into main 2023-07-14 06:08:08 +00:00
Member

Minimum viable implementation of statediff plugin.

Running:

  • For building locally, refer to the "dev" targets in the Makefile on this branch.
  • Test with stack-orchestrator using this branch. Note the containers need SSH keys configured to pull the Go dependencies from the Gitea server.

Summary of changes:

  • Main refactors for plugeth integration
    • Rename geth => plugeth types - kept to a minimum in this PR, so geth is still a dependency, more on that below
    • Adds main package as plugin entrypoint
    • Refactors flags to use stdlib flag package, for plugeth compatibility
    • Refactors subscription endpoints to return channels and handle IDs internally
  • When building state diff, store previous node blob to use as parent node
    • Plugeth doesn't expose Node() lookup, so iterator parent path won't work
  • Dropped WithIntermediateStateNodes from builder func names
  • Removed unused metrics, cleaned up log and metrics calls
  • Removes seemingly unused functions
    • ReadStorageReceipts
    • WriteAncientBlock

Changes we definitely need to upstream to plugeth-utils (see dev branch):

  • Expose trie leaf and difference iterator
  • Path encoding funcs
  • Consensus encoding of receipts (MarshalBinary)
  • add receipt EffectiveGasPrice (from geth PR)
  • Expose contract code
  • Fix subscription endpoints (done)
  • Other random fixes

In order to support having (plu)geth itself as a dependency, I had to implement some workarounds in plugeth/plugeth-utils:

  1. The libsecp256k1 C library is present in plugeth-utils as well as geth, causing CGO to find duplicate symbols when linking, so I modified it to just link against geth's definitions instead of building when passed the build tag linkgeth.
    • Still need to verify whether this problem persists when using plugeth-utils/restricted/crypto/secp256k1 even without the geth dependency.
  2. Due to a limitation with Go plugins, building a distributable plugin doesn't work if the main module is a dependency of the plugin, so I forked plugeth and added a nested proxy module (wrapmain) which just imports and runs the plugeth cmd package.

These (or at least 2) won't be needed once we refactor completely to plugeth types.

Next up:

  • Basic CI tests using stack-orchestrator
  • Refactor to completely use plugeth types, which will mean replicating chain generation and possibly upstreaming more changes.
  • Plugeth doesn't register service lifecycles. We can just Start the service when the plugin loads, but shutdown won't be handled cleanly. Should be easy enough to add alongside API registration.
  • Plugeth state methods are rudimentary, and won't allow caching - a new TrieDB object is created with every call. Will need to change this for good performance.
  • The Geth --log.vmodule flag for selective verbosity is not working for plugins, it's nice to have for debugging so we should fix it
Minimum viable implementation of statediff plugin. #### Running: * For building locally, refer to the "dev" targets in the Makefile on [this branch](https://git.vdb.to/cerc-io/plugeth-statediff/src/branch/dev-local-build). * This uses a fork of plugeth, [see below](#plugeth-fork). * Test with stack-orchestrator using [this branch](https://git.vdb.to/roysc/stack-orchestrator/src/branch/plugeth-testing). Note the containers need SSH keys configured to pull the Go dependencies from the Gitea server. #### Summary of changes: * Main refactors for plugeth integration * Rename geth => plugeth types - kept to a minimum in this PR, so geth is still a dependency, more on that below * Adds `main` package as plugin entrypoint * Refactors flags to use stdlib `flag` package, for plugeth compatibility * Refactors subscription endpoints to return channels and handle IDs internally * When building state diff, store previous node blob to use as parent node * Plugeth doesn't expose `Node()` lookup, so iterator parent path won't work * Dropped `WithIntermediateStateNodes` from builder func names * Removed unused metrics, cleaned up log and metrics calls * Removes seemingly unused functions * `ReadStorageReceipts` * `WriteAncientBlock` Changes we definitely need to upstream to `plugeth-utils` (see [dev branch](https://git.vdb.to/cerc-io/plugeth-utils/src/branch/statediff-additions)): * Expose trie leaf and difference iterator * Path encoding funcs * Consensus encoding of receipts (`MarshalBinary`) * add receipt EffectiveGasPrice (from [geth PR](https://github.com/ethereum/go-ethereum/issues/26713)) * Expose contract code * Fix subscription endpoints ([done](https://github.com/openrelayxyz/plugeth/pull/78)) * Other random fixes In order to support having (plu)geth itself as a dependency, I had to implement some workarounds in plugeth/plugeth-utils: 1. The `libsecp256k1` C library is present in plugeth-utils as well as geth, causing CGO to find duplicate symbols when linking, so I modified it to just link against geth's definitions instead of building when passed the build tag `linkgeth`. * Still need to verify whether this problem persists when using `plugeth-utils/restricted/crypto/secp256k1` even without the geth dependency. 2. <a id="plugeth-fork"></a> Due to a [limitation with Go plugins](https://github.com/golang/go/issues/31354), building a distributable plugin doesn't work if the main module is a dependency of the plugin, so I [forked plugeth](https://git.vdb.to/cerc-io/plugeth/src/branch/statediff-wip) and added a nested proxy module (`wrapmain`) which just imports and runs the plugeth `cmd` package. These (or at least 2) won't be needed once we refactor completely to plugeth types. #### Next up: * Basic CI tests using stack-orchestrator * Refactor to completely use plugeth types, which will mean replicating chain generation and possibly upstreaming more changes. * Plugeth doesn't register service lifecycles. We can just `Start` the service when the plugin loads, but shutdown won't be handled cleanly. Should be easy enough to add alongside API registration. * Plugeth state methods are rudimentary, and won't allow caching - a new TrieDB object is created with every call. Will need to change this for good performance. * The Geth `--log.vmodule` flag for selective verbosity is not working for plugins, it's nice to have for debugging so we should fix it
i-norden was assigned by roysc 2023-06-23 14:00:07 +00:00
roysc added 18 commits 2023-06-23 14:00:08 +00:00
roysc force-pushed wip from 5214213cd6 to 60472965df 2023-06-24 05:04:47 +00:00 Compare
i-norden reviewed 2023-06-27 12:40:26 +00:00
i-norden left a comment
Member

Looks great! A few comments but nothing major. Glad to see the overall structure of the code hasn't changed much despite the size of the diff.

Looks great! A few comments but nothing major. Glad to see the overall structure of the code hasn't changed much despite the size of the diff.
README.md Outdated
@ -258,0 +251,4 @@
Our Postgres schemas are built around a single IPFS backing Postgres IPLD blockstore table
(`ipld.blocks`) that conforms with
[go-ds-sql](https://github.com/ipfs/go-ds-sql/blob/master/postgres/postgres.go). All IPLD objects
are stored in this table, where `key` is the blockstore-prefixed multihash key for the IPLD object
Member

nitpick: in v5 key is a full CID, not a blockstore-prefixed multihash

nitpick: in v5 `key` is a full CID, not a blockstore-prefixed multihash
roysc marked this conversation as resolved
api.go Outdated
@ -30,3 +29,4 @@
const APIName = "statediff"
// APIVersion is the version of the state diffing service API
// TODO: match package version?
Member

Not sure this makes sense since the package can be updated and version changed without affecting the API

Not sure this makes sense since the package can be updated and version changed without affecting the API
roysc marked this conversation as resolved
api.go Outdated
@ -57,2 +49,2 @@
// create subscription and start waiting for events
rpcSub := notifier.CreateSubscription()
// Stream subscribes to statediff payloads as they are created.
func (api *PublicAPI) Stream(ctx context.Context, params Params) (<-chan Payload, error) {
Member

Nice that they did away with the *rpc.Subscription, returning a channel makes it much simpler

Nice that they did away with the `*rpc.Subscription`, returning a channel makes it much simpler
roysc marked this conversation as resolved
api.go Outdated
@ -113,2 +91,2 @@
// create subscription and start waiting for events
rpcSub := notifier.CreateSubscription()
// StreamCodeAndCodeHash writes all of the codehash=>code pairs at a given block to a websocket channel.
func (api *PublicAPI) StreamCodeAndCodeHash(ctx context.Context, blockNumber uint64) (<-chan types.CodeAndCodeHash, error) {
Member

We haven't ever actually used this endpoint, should consider getting rid of it.

We haven't ever actually used this endpoint, should consider getting rid of it.
Author
Member

In that case, I vote for dropping it for now, pending a use case

In that case, I vote for dropping it for now, pending a use case
Member

That sounds good to me.

That sounds good to me.
i-norden marked this conversation as resolved
blockchain.go Outdated
@ -0,0 +25,4 @@
GetBlockByNumber(number uint64) *types.Block
GetReceiptsByHash(hash common.Hash) types.Receipts
GetTd(hash common.Hash, number uint64) *big.Int
// TODO LockTrie is never used
Member

We had this previously because the statediffing process would fall/lag far enough behind head, below the pruning threshold of a full node, such that the full node would sometimes prune away the state before the statediffing service had used it. This shouldn't be a problem anymore after the multitude of improvements made to performance.

We had this previously because the statediffing process would fall/lag far enough behind head, below the pruning threshold of a full node, such that the full node would sometimes prune away the state before the statediffing service had used it. This shouldn't be a problem anymore after the multitude of improvements made to performance.
roysc marked this conversation as resolved
blockchain.go Outdated
@ -0,0 +50,4 @@
for event := range bufferChan {
block := utils.MustDecode[types.Block](event.Block)
// TODO: apparently we ignore the logs
// logs := utils.MustDecode[types.Log](chainEvent.Logs)
Member

We should get the logs when we lookup the Receipts and pack them into the statediff payload.

We should get the logs when we lookup the Receipts and pack them into the statediff payload.
roysc marked this conversation as resolved
builder.go Outdated
@ -286,3 +266,2 @@
func (sdb *StateDiffBuilder) processStateValueNode(it trie.NodeIterator, parentBlob []byte) (*sdtypes.AccountWrapper, error) {
var account types.StateAccount
accountRLP := make([]byte, len(it.LeafBlob()))
copy(accountRLP, it.LeafBlob())
Member

Nice, removing these unneccesary/redundant allocations and copys could have a noticeable impact on performance considering the number of times these operations are performed per block/statediff

Nice, removing these unneccesary/redundant allocations and `copy`s could have a noticeable impact on performance considering the number of times these operations are performed per block/statediff
roysc marked this conversation as resolved
@ -81,6 +81,31 @@ func processReceiptsAndLogs(rcts []*types.Receipt) ([]*EthReceipt, [][]*EthLog,
return ethRctNodes, ethLogNodes, nil
}
// // processReceiptsAndLogs will take in receipts
Member

What's this commented out stuff for?

What's this commented out stuff for?
Author
Member

for disposal, just left over from checking something

for disposal, just left over from checking something
roysc marked this conversation as resolved
main/main.go Outdated
@ -0,0 +25,4 @@
func Initialize(ctx core.Context, pl core.PluginLoader, logger core.Logger) {
log.SetDefaultLogger(logger)
// lvl, err := strconv.ParseInt(ctx.String("verbosity"), 10, 8)
Member

Is this from geth upstream or here for future use? If not, lets remove the commented out stuff.

Is this from geth upstream or here for future use? If not, lets remove the commented out stuff.
Author
Member

no, just left over from debugging logging

no, just left over from debugging logging
roysc marked this conversation as resolved
roysc added 1 commit 2023-06-30 05:51:42 +00:00
roysc force-pushed wip from 969f9c3b14 to 52debaa758 2023-07-03 04:59:00 +00:00 Compare
roysc force-pushed wip from 52debaa758 to 9b937d9071 2023-07-05 10:16:38 +00:00 Compare
roysc force-pushed wip from 2d6cb835e2 to 76b8359bea 2023-07-05 14:19:33 +00:00 Compare
roysc force-pushed wip from b02435eee9 to 0b9637b4e9 2023-07-05 17:21:53 +00:00 Compare
roysc added 1 commit 2023-07-06 04:29:02 +00:00
CI patch
Some checks failed
Test / Run unit tests (pull_request) Failing after 48s
Test / Run integration tests (pull_request) Failing after 53s
4a2619a04a
roysc added 2 commits 2023-07-06 08:57:12 +00:00
CI image builds
Some checks failed
Test / Run unit tests (pull_request) Failing after 52s
Test / Run integration tests (pull_request) Failing after 54s
df905aabfc
roysc added 2 commits 2023-07-06 09:30:54 +00:00
CI wip
Some checks failed
Test / Run unit tests (pull_request) Failing after 55s
Test / Run integration tests (pull_request) Failing after 25s
8bc7d62d4f
roysc added 1 commit 2023-07-06 09:36:26 +00:00
CI
Some checks failed
Test / Run unit tests (pull_request) Failing after 53s
Test / Run integration tests (pull_request) Failing after 24s
26ac972f7a
roysc added 1 commit 2023-07-06 09:49:26 +00:00
ci
Some checks failed
Test / Run integration tests (pull_request) Failing after 1m7s
Test / Run unit tests (pull_request) Failing after 57s
8f55d2f298
roysc added 1 commit 2023-07-06 10:01:15 +00:00
ci
Some checks failed
Test / Run unit tests (pull_request) Failing after 55s
Test / Run integration tests (pull_request) Failing after 57s
cb301a9429
roysc added 1 commit 2023-07-06 10:06:44 +00:00
ci
Some checks failed
Test / Run unit tests (pull_request) Failing after 51s
Test / Run integration tests (pull_request) Failing after 11m25s
9e72979aeb
roysc added 1 commit 2023-07-06 10:30:19 +00:00
ci
Some checks failed
Test / Run unit tests (pull_request) Failing after 53s
Test / Run integration tests (pull_request) Failing after 9m1s
f7f91717f0
roysc added 2 commits 2023-07-06 11:18:04 +00:00
ci debug
Some checks failed
Test / Run unit tests (pull_request) Failing after 52s
Test / Run integration tests (pull_request) Failing after 17s
62c4e66cd9
roysc added 1 commit 2023-07-06 16:12:53 +00:00
roysc force-pushed wip from 16c7b262c5 to dee59f4e76 2023-07-06 16:14:07 +00:00 Compare
roysc added 2 commits 2023-07-06 17:50:38 +00:00
update plugeth
Some checks failed
Test / Run unit tests (pull_request) Failing after 56s
Test / Run integration tests (pull_request) Failing after 17s
394c5c3fbf
roysc added 1 commit 2023-07-06 17:58:28 +00:00
ci build with access tokens
Some checks failed
Test / Run unit tests (pull_request) Failing after 50s
Test / Run integration tests (pull_request) Failing after 31s
4b916f6848
roysc added 1 commit 2023-07-07 04:36:33 +00:00
49: Use a Personal Access Token to access private modules. (#4)
Some checks failed
Test / Run unit tests (pull_request) Failing after 49s
Test / Run integration tests (pull_request) Failing after 20s
2bd312f0d0
I left it unchanged in the PR, but I would recommend a variable name other than `GITEA_TOKEN`, as I suspect that will be used by Gitea at some future date--like Github use `GITHUB_TOKEN`--and cause confusion since this is not the same token.

Something like `GIT_VDB_TO_TOKEN` might do, since we could follow the `HOST_NAME_TOKEN` pattern for other repos if needed.

Co-authored-by: Thomas E Lackey <telackey@bozemanpass.com>
Reviewed-on: #4
Co-authored-by: Thomas E Lackey <telackey@noreply.git.vdb.to>
Co-committed-by: Thomas E Lackey <telackey@noreply.git.vdb.to>
roysc added 3 commits 2023-07-07 05:31:35 +00:00
try github_token
Some checks failed
Test / Run unit tests (pull_request) Failing after 47s
Test / Run integration tests (pull_request) Failing after 29s
49c0ce8d5d
Member

Hey @roysc are we waiting for the integration testing to be complete before merging this?

Hey @roysc are we waiting for the integration testing to be complete before merging this?
Author
Member

Right, and the tests are waiting on a way to provision access tokens on the runners so that image builds can access the Gitea server (@telackey is currently working on a solution).

Right, and the tests are waiting on a way to provision access tokens on the runners so that image builds can access the Gitea server (@telackey is currently working on a solution).
Owner

Right, and the tests are waiting on a way to provision access tokens on the runners so that image builds can access the Gitea server (@telackey is currently working on a solution).

I thought that problem was resolved?
(see: https://github.com/cerc-io/hosting/issues/49)

> Right, and the tests are waiting on a way to provision access tokens on the runners so that image builds can access the Gitea server (@telackey is currently working on a solution). I thought that problem was resolved? (see: https://github.com/cerc-io/hosting/issues/49)
Author
Member

That lets us use a token to pull packages into the image, but it was my understanding that there is still no token available to use on the runner (?)

That lets us use a token to pull packages into the image, but it was my understanding that there is still no token available to use on the runner (?)
Member

Might have been a miscommunication, as I wasn't attempting to create the token for use in CI as well (though I did test manually with a token created on my own account), since I do not have admin access to the organization or access to the cerccicd account.

That said, I am happy to do it. I just need the proper access.

Might have been a miscommunication, as I wasn't attempting to create the token for use in CI as well (though I did test manually with a token created on my own account), since I do not have admin access to the organization or access to the `cerccicd` account. That said, I am happy to do it. I just need the proper access.
Member

I made the token, ${{ secrets.CICD_REPO_TOKEN }} , and tweaked the plugeth and plugeth-statediff Dockerfiles / workflows to make use of it. More details are here: https://github.com/cerc-io/hosting/issues/49

While the actions still have other failures, they are getting past the Docker build.

image

I made the token, `${{ secrets.CICD_REPO_TOKEN }}` , and tweaked the plugeth and plugeth-statediff Dockerfiles / workflows to make use of it. More details are here: https://github.com/cerc-io/hosting/issues/49 While the actions still have other failures, they are getting past the Docker build. ![image](/attachments/b80a4b3b-3733-48b7-923e-e10dbff7dcb6)
roysc added 1 commit 2023-07-10 22:40:15 +00:00
Use new CI/CD access token for build. (#5)
Some checks failed
Test / Run unit tests (pull_request) Failing after 49s
Test / Run integration tests (pull_request) Failing after 3m8s
a1729e1add
Co-authored-by: Thomas E Lackey <telackey@bozemanpass.com>
Reviewed-on: #5
Co-authored-by: Thomas E Lackey <telackey@noreply.git.vdb.to>
Co-committed-by: Thomas E Lackey <telackey@noreply.git.vdb.to>
roysc added 1 commit 2023-07-10 22:45:11 +00:00
rm unused
Some checks failed
Test / Run unit tests (pull_request) Failing after 48s
Test / Run integration tests (pull_request) Failing after 5m6s
b249404b47
roysc added 2 commits 2023-07-10 22:57:48 +00:00
skip failing step
Some checks failed
Test / Run unit tests (pull_request) Failing after 1m1s
Test / Run integration tests (pull_request) Failing after 5m4s
a7329717d5
roysc added 2 commits 2023-07-10 23:06:35 +00:00
update plugeth
Some checks failed
Test / Run unit tests (pull_request) Failing after 1m1s
Test / Run integration tests (pull_request) Failing after 5m8s
52902d6493
roysc added 1 commit 2023-07-10 23:50:21 +00:00
exclude tested repos
Some checks failed
Test / Run unit tests (pull_request) Failing after 57s
Test / Run integration tests (pull_request) Failing after 5m4s
08b9a9783a
roysc force-pushed wip from 08b9a9783a to 413d6afd38 2023-07-10 23:54:08 +00:00 Compare
roysc added 2 commits 2023-07-11 02:32:12 +00:00
fix dockerfile
Some checks failed
Test / Run unit tests (pull_request) Failing after 2m13s
Test / Run integration tests (pull_request) Failing after 12m19s
52efd4b56b
roysc added 1 commit 2023-07-11 02:44:00 +00:00
try to debug compose failure
Some checks failed
Test / Run unit tests (pull_request) Failing after 2m13s
Test / Run integration tests (pull_request) Failing after 12m50s
b6ad84a191
roysc added 1 commit 2023-07-11 02:56:30 +00:00
debug token
Some checks failed
Test / Run unit tests (pull_request) Failing after 2m20s
Test / Run integration tests (pull_request) Failing after 17s
2050d75754
roysc added 1 commit 2023-07-11 03:02:36 +00:00
compose exit code was fine
Some checks reported warnings
Test / Run unit tests (pull_request) Has started running
Test / Run integration tests (pull_request) Has been cancelled
ffe02843ac
roysc added 2 commits 2023-07-11 08:43:30 +00:00
debug compose issue
Some checks failed
Test / Run unit tests (pull_request) Failing after 2m22s
Test / Run integration tests (pull_request) Failing after 13m24s
3c85637436
roysc added 2 commits 2023-07-11 09:08:11 +00:00
clean up
Some checks failed
Test / Run unit tests (pull_request) Failing after 2m16s
Test / Run integration tests (pull_request) Failing after 13m1s
524fbb13fb
roysc added 2 commits 2023-07-11 10:29:12 +00:00
try dind hostname
Some checks failed
Test / Run unit tests (pull_request) Failing after 2m7s
Test / Run integration tests (pull_request) Failing after 12m24s
b7ec75238e
roysc added 1 commit 2023-07-11 11:27:36 +00:00
try gitea.local hostname
Some checks failed
Test / Run unit tests (pull_request) Failing after 2m12s
Test / Run integration tests (pull_request) Has started running
cd74e16abf
roysc added 1 commit 2023-07-11 11:32:14 +00:00
don't rebuild plugin images
Some checks failed
Test / Run unit tests (pull_request) Failing after 2m7s
Test / Run integration tests (pull_request) Failing after 13m31s
d4eca6a287
roysc added 1 commit 2023-07-11 11:37:35 +00:00
debug compose failure
Some checks failed
Test / Run unit tests (pull_request) Failing after 47s
Test / Run integration tests (pull_request) Failing after 13m24s
52b5c47135
roysc added 1 commit 2023-07-11 12:38:17 +00:00
debug compose
Some checks failed
Test / Run unit tests (pull_request) Failing after 2m17s
Test / Run integration tests (pull_request) Failing after 13m6s
e2ee181782
roysc added 1 commit 2023-07-11 12:53:13 +00:00
debug compose
Some checks failed
Test / Run unit tests (pull_request) Failing after 2m20s
Test / Run integration tests (pull_request) Failing after 21m32s
760f780da2
roysc added 2 commits 2023-07-11 14:24:55 +00:00
debug compose
Some checks failed
Test / Run unit tests (pull_request) Failing after 3m21s
Test / Run integration tests (pull_request) Failing after 15m52s
c1f5689b15
roysc added 1 commit 2023-07-12 07:51:15 +00:00
debug compose host
Some checks failed
Test / Run unit tests (pull_request) Failing after 1m51s
Test / Run integration tests (pull_request) Has started running
df0e68abb2
roysc added 1 commit 2023-07-12 08:04:11 +00:00
debug compose host
Some checks failed
Test / Run unit tests (pull_request) Failing after 2m1s
Test / Run integration tests (pull_request) Failing after 16m40s
ab1c43e34f
roysc added 1 commit 2023-07-12 08:51:19 +00:00
too noisy
Some checks failed
Test / Run unit tests (pull_request) Failing after 2m9s
Test / Run integration tests (pull_request) Failing after 1h14m13s
ae951a0843
roysc added 3 commits 2023-07-12 09:57:07 +00:00
update plugeth-utils
Some checks failed
Test / Run unit tests (pull_request) Failing after 2m0s
Test / Run integration tests (pull_request) Failing after 16m56s
74db5052fa
roysc added 1 commit 2023-07-12 11:53:52 +00:00
try using docker hostnames
Some checks failed
Test / Run unit tests (pull_request) Failing after 1m54s
Test / Run integration tests (pull_request) Failing after 1h10m42s
84b2a0874e
roysc added 2 commits 2023-07-13 17:00:31 +00:00
log begin/end messages as trace

clean up comments

quiet test logs
CI wip
Some checks reported warnings
Test / Run unit tests (pull_request) Has started running
Test / Run integration tests (pull_request) Has been cancelled
fd83bb6b3e
roysc added 1 commit 2023-07-13 17:01:12 +00:00
enable image builds
Some checks reported warnings
Test / Run unit tests (pull_request) Has been cancelled
Test / Run integration tests (pull_request) Has been cancelled
617b847be0
roysc added 2 commits 2023-07-13 17:06:03 +00:00
rm debug sleep
Some checks reported warnings
Test / Run unit tests (pull_request) Has been cancelled
Test / Run integration tests (pull_request) Has been cancelled
ad8583dddd
roysc added 1 commit 2023-07-13 17:46:08 +00:00
run docker in docker
Some checks reported warnings
Test / Run unit tests (pull_request) Has been cancelled
Test / Run integration tests (pull_request) Has been cancelled
05a27e8fa9
roysc added 1 commit 2023-07-13 17:49:13 +00:00
use main branch of system-tests
Some checks failed
Test / Run unit tests (pull_request) Failing after 55s
Test / Run integration tests (pull_request) Failing after 49s
0b4fc2e38f
roysc added 1 commit 2023-07-14 03:31:06 +00:00
enable image build
Some checks failed
Test / Run unit tests (pull_request) Failing after 9m0s
Test / Run integration tests (pull_request) Failing after 9m38s
c191be4f0b
roysc added 1 commit 2023-07-14 03:53:11 +00:00
stack-orchestrator repo
Some checks failed
Test / Run unit tests (pull_request) Failing after 6m23s
Test / Run integration tests (pull_request) Failing after 6m59s
4cc5eef23e
roysc force-pushed wip from 4cc5eef23e to edde732a1c 2023-07-14 04:03:41 +00:00 Compare
roysc changed target branch from dev to main 2023-07-14 04:37:26 +00:00
roysc force-pushed wip from edde732a1c to 03f5622bea 2023-07-14 05:20:15 +00:00 Compare
Author
Member

The CI build now reaches the actual testing step (unit tests still have some edge cases that were already failing on the geth fork), so I will go ahead and merge this.

The CI build now reaches the actual testing step (unit tests still have some edge cases that were already failing on the geth fork), so I will go ahead and merge this.
roysc merged commit 03f5622bea into main 2023-07-14 06:08:08 +00:00
roysc deleted branch wip 2023-07-14 06:08:08 +00:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: cerc-io/plugeth-statediff#2
No description provided.