Compare commits

...

4 Commits

Author SHA1 Message Date
ce5314bfb2 run blob tx system tests
and skip system tests that use blob indexer
2024-07-27 14:20:48 +08:00
a7f41b323a fix RPC for blob tx receipt 2024-07-26 18:58:18 +08:00
662a52c5c3 [dev] fetch images 2024-07-25 21:22:37 +08:00
cecb7bf16c CI python linux arm install
All checks were successful
Test the stack. / Run unit tests (pull_request) Successful in 5m55s
Test the stack. / Run integration tests (pull_request) Successful in 53m49s
2024-07-25 21:22:37 +08:00
4 changed files with 29 additions and 9 deletions

View File

@ -12,9 +12,9 @@ on:
- ci-test - ci-test
env: env:
SO_VERSION: v1.1.0-36d4969-202407091537 SO_VERSION: roysc/fetch-from-insecure-registry
FIXTURENET_ETH_STACKS_REF: roysc/set-validator-creds FIXTURENET_ETH_STACKS_REF: roysc/set-validator-creds
SYSTEM_TESTS_REF: roysc/test-withdrawals SYSTEM_TESTS_REF: roysc/test-blob-tx
jobs: jobs:
test: test:
@ -51,7 +51,15 @@ jobs:
env: env:
DEBIAN_FRONTEND: noninteractive DEBIAN_FRONTEND: noninteractive
run: apt-get update && apt-get install -y jq run: apt-get update && apt-get install -y jq
- name: Install Python # At present the stock setup-python action fails on Linux/aarch64
# Conditional steps below workaroud this by using deadsnakes for that case only
- name: "Install Python for ARM on Linux"
if: ${{ runner.arch == 'arm64' && runner.os == 'Linux' }}
uses: deadsnakes/action@v3.0.1
with:
python-version: 3.11
- name: "Install Python cases other than ARM on Linux"
if: ${{ ! (runner.arch == 'arm64' && runner.os == 'Linux') }}
uses: actions/setup-python@v4 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
@ -73,6 +81,7 @@ jobs:
- name: Run testnet stack - name: Run testnet stack
env: env:
CERC_GO_AUTH_TOKEN: ${{ secrets.CICD_REPO_TOKEN }} CERC_GO_AUTH_TOKEN: ${{ secrets.CICD_REPO_TOKEN }}
SKIP_BUILD: fetch
run: ./scripts/run-test-stack.sh ./fixturenet-eth-stacks/stack-orchestrator/stacks/fixturenet-plugeth run: ./scripts/run-test-stack.sh ./fixturenet-eth-stacks/stack-orchestrator/stacks/fixturenet-plugeth
- name: Run server - name: Run server
env: env:
@ -97,12 +106,12 @@ jobs:
run: | run: |
pip install pytest pip install pytest
pip install -r requirements.txt pip install -r requirements.txt
pytest -vv pytest -vv -m "not blob_data"
- name: Run testnet stack without statediff - name: Run testnet stack without statediff
env: env:
CERC_RUN_STATEDIFF: false CERC_RUN_STATEDIFF: false
SKIP_BUILD: 1 SKIP_BUILD: fetch
run: ./scripts/run-test-stack.sh ./fixturenet-eth-stacks/stack-orchestrator/stacks/fixturenet-plugeth run: ./scripts/run-test-stack.sh ./fixturenet-eth-stacks/stack-orchestrator/stacks/fixturenet-plugeth
- name: Run server with call forwarding - name: Run server with call forwarding
env: env:

View File

@ -660,6 +660,12 @@ func (pea *PublicEthAPI) localGetTransactionReceipt(ctx context.Context, hash co
if receipt.Logs == nil { if receipt.Logs == nil {
fields["logs"] = []*types.Log{} fields["logs"] = []*types.Log{}
} }
if tx.Type() == types.BlobTxType {
fields["blobGasUsed"] = hexutil.Uint64(receipt.BlobGasUsed)
fields["blobGasPrice"] = (*hexutil.Big)(receipt.BlobGasPrice)
}
// If the ContractAddress is 20 0x0 bytes, assume it is not a contract creation // If the ContractAddress is 20 0x0 bytes, assume it is not a contract creation
if receipt.ContractAddress != (common.Address{}) { if receipt.ContractAddress != (common.Address{}) {
fields["contractAddress"] = receipt.ContractAddress fields["contractAddress"] = receipt.ContractAddress

View File

@ -1,21 +1,22 @@
#!/bin/bash #!/bin/bash
set -ex set -e
stack_dir=$(readlink -f "$1") stack_dir=$(readlink -f "$1")
[[ -d "$stack_dir" ]] [[ -d "$stack_dir" ]]
laconic_so="laconic-so --verbose --stack $stack_dir"
CONFIG_DIR=$(readlink -f "${CONFIG_DIR:-$(mktemp -d)}") CONFIG_DIR=$(readlink -f "${CONFIG_DIR:-$(mktemp -d)}")
# By default assume we are running in the project root. # By default assume we are running in the project root.
export CERC_REPO_BASE_DIR="${CERC_REPO_BASE_DIR:-$(git rev-parse --show-toplevel)/..}" export CERC_REPO_BASE_DIR="${CERC_REPO_BASE_DIR:-$(git rev-parse --show-toplevel)/..}"
laconic_so="laconic-so --verbose --stack $stack_dir"
# Don't run geth/plugeth in the debugger, it will swallow error backtraces # Don't run geth/plugeth in the debugger, it will swallow error backtraces
echo CERC_REMOTE_DEBUG=false >> $CONFIG_DIR/stack.env echo CERC_REMOTE_DEBUG=false >> $CONFIG_DIR/stack.env
# Passing this lets us run eth_call forwarding tests without running ipld-eth-db # Passing this lets us run eth_call forwarding tests without running ipld-eth-db
echo CERC_RUN_STATEDIFF=${CERC_RUN_STATEDIFF:-true} >> $CONFIG_DIR/stack.env echo CERC_RUN_STATEDIFF=${CERC_RUN_STATEDIFF:-true} >> $CONFIG_DIR/stack.env
set -x
if [[ -z $SKIP_BUILD ]]; then if [[ -z $SKIP_BUILD ]]; then
# Prevent conflicting tty output # Prevent conflicting tty output
@ -23,6 +24,8 @@ if [[ -z $SKIP_BUILD ]]; then
$laconic_so setup-repositories $laconic_so setup-repositories
$laconic_so build-containers $laconic_so build-containers
elif [[ $SKIP_BUILD = fetch ]]; then
$laconic_so fetch-containers --image-registry gitea.local:5555
fi fi
if ! $laconic_so deploy \ if ! $laconic_so deploy \
@ -35,7 +38,7 @@ fi
set +x set +x
# Get IPv4 endpoint of geth file server # Get IPv4 endpoint of geth bootnode file server
bootnode_endpoint=$(docker port test-fixturenet-eth-bootnode-geth-1 9898 | head -1) bootnode_endpoint=$(docker port test-fixturenet-eth-bootnode-geth-1 9898 | head -1)
# Extract the chain config and ID from genesis file # Extract the chain config and ID from genesis file

View File

@ -4,6 +4,8 @@ services:
ipld-eth-server: ipld-eth-server:
restart: unless-stopped restart: unless-stopped
image: cerc/ipld-eth-server:local image: cerc/ipld-eth-server:local
build:
context: ..
networks: networks:
- test_default - test_default
environment: environment: