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

txverifier: Increase integration test coverage and simplify Tilt set-up #4280

Open
wants to merge 14 commits into
base: main
Choose a base branch
from
Open
32 changes: 8 additions & 24 deletions Tiltfile
Original file line number Diff line number Diff line change
Expand Up @@ -641,15 +641,11 @@ if ci_tests:
],
)
docker_build(
ref = "tx-verifier-monitor",
context = "./devnet/tx-verifier-monitor/",
dockerfile = "./devnet/tx-verifier-monitor/Dockerfile"
)
docker_build(
ref = "tx-verifier-test",
context = "./devnet/tx-verifier-monitor/",
dockerfile = "./devnet/tx-verifier-monitor/Dockerfile.cast"
ref = "tx-verifier-evm",
context = "./devnet/tx-verifier/",
dockerfile = "./devnet/tx-verifier/Dockerfile.tx-verifier-evm"
)
k8s_yaml_with_ns("devnet/tx-verifier-evm.yaml")

k8s_yaml_with_ns(
encode_yaml_stream(
Expand All @@ -660,11 +656,6 @@ if ci_tests:
"MAX_WORKERS", max_workers))
)

# transfer-verifier -- daemon and log monitoring
k8s_yaml_with_ns("devnet/tx-verifier.yaml")

k8s_yaml_with_ns("devnet/tx-verifier-test.yaml")

# separate resources to parallelize docker builds
k8s_resource(
"sdk-ci-tests",
Expand Down Expand Up @@ -696,19 +687,12 @@ if ci_tests:
trigger_mode = trigger_mode,
resource_deps = [], # testing/querysdk.sh handles waiting for query-server, not having deps gets the build earlier
)
# launches tx-verifier binary and sets up monitoring script
# launches Transfer Verifier binary and sets up monitoring script
k8s_resource(
"tx-verifier-with-monitor",
resource_deps = ["eth-devnet"],
labels = ["tx-verifier"],
trigger_mode = trigger_mode,
)
# triggers the integration tests that will be detected by the monitor
k8s_resource(
"tx-verifier-test",
resource_deps = ["eth-devnet", "tx-verifier-with-monitor"],
labels = ["tx-verifier"],
"tx-verifier-evm",
labels = ["tx-verifier-evm"],
trigger_mode = trigger_mode,
resource_deps = ["eth-devnet"],
)

if terra_classic:
Expand Down
36 changes: 36 additions & 0 deletions devnet/tx-verifier-evm.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
apiVersion: batch/v1
kind: Job
metadata:
name: tx-verifier-evm
spec:
backoffLimit: 0
template:
spec:
restartPolicy: Never
# required, as the guardian cannot run as root
securityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
containers:
- name: tx-verifier-evm
image: tx-verifier-evm
env:
- name: ERROR_PATTERN
value: "invalid receipt: no deposits and no transfers"
- name: ERROR_LOG_PATH
value: "/tmp/error.log"
- name: RPC_URL
value: "ws://eth-devnet:8545"
command:
- /bin/bash
- -c
- "bash /tx-verifier-evm-runner.sh"
readinessProbe:
exec:
command:
- test
- -e
- "/tmp/success"
initialDelaySeconds: 5
periodSeconds: 5
25 changes: 0 additions & 25 deletions devnet/tx-verifier-monitor/monitor.sh

This file was deleted.

120 changes: 0 additions & 120 deletions devnet/tx-verifier-monitor/transfer-verifier-test.sh

This file was deleted.

32 changes: 0 additions & 32 deletions devnet/tx-verifier-test.yaml

This file was deleted.

51 changes: 0 additions & 51 deletions devnet/tx-verifier.yaml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,3 @@ RUN apk add --no-cache inotify-tools

COPY monitor.sh /monitor.sh
RUN chmod +x /monitor.sh

CMD ["/monitor.sh"]
23 changes: 23 additions & 0 deletions devnet/tx-verifier/Dockerfile.tx-verifier-evm
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# We need the built guardiand image
FROM guardiand-image as guardiand

# These versions are pinned to match the Dockerfile in the `ethereum/`
# directory. Otherwise, there is nothing special about them and they can be
# updated alongside the other Dockerfile.
FROM --platform=linux/amd64 ghcr.io/foundry-rs/foundry:nightly-55bf41564f605cae3ca4c95ac5d468b1f14447f9@sha256:8c15d322da81a6deaf827222e173f3f81c653136a3518d5eeb41250a0f2e17ea as foundry

# node is required to install Foundry
FROM node:19.6.1-slim@sha256:a1ba21bf0c92931d02a8416f0a54daad66cb36a85d2b73af9d73b044f5f57cfc

# prepare cast
COPY --from=foundry /usr/local/bin/cast /bin/cast

# prepare guardiand
COPY --from=guardiand /guardiand /bin/guardiand
COPY --from=guardiand /usr/lib/libwasmvm.*.so /usr/lib/

# prepare test scripts
COPY tx-verifier-evm-tests.sh /tx-verifier-evm-tests.sh
COPY tx-verifier-evm-runner.sh /tx-verifier-evm-runner.sh
RUN chmod +x /tx-verifier-evm-tests.sh
RUN chmod +x /tx-verifier-evm-runner.sh
Loading
Loading