diff --git a/.github/workflows/ci_zkevm.yml b/.github/workflows/ci_zkevm.yml index 443ead2bfba..75db11c24f6 100644 --- a/.github/workflows/ci_zkevm.yml +++ b/.github/workflows/ci_zkevm.yml @@ -8,6 +8,7 @@ on: branches: - zkevm - zkevm-2.60 + - stable* types: - opened - reopened @@ -19,9 +20,15 @@ concurrency: group: ${{ github.ref }} cancel-in-progress: true +env: + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} + jobs: tests: strategy: + max-parallel: 2 + fail-fast: true matrix: os: [ ubuntu-22.04, macos-14-xlarge ] # list of os: https://github.com/actions/virtual-environments runs-on: ${{ matrix.os }} @@ -37,7 +44,7 @@ jobs: run: sudo apt update && sudo apt install build-essential - name: Build - run: make BUILD_TAGS=nosqlite,noboltdb,nosilkworm all + run: make BUILD_TAGS=nosqlite,noboltdb,nosilkworm cdk-erigon - name: Reproducible build test run: | @@ -76,6 +83,7 @@ jobs: - name: Setup kurtosis uses: ./.github/actions/setup-kurtosis + - name: Run process with CPU monitoring working-directory: ./cdk-erigon run: | diff --git a/.github/workflows/test-resequence.yml b/.github/workflows/test-resequence.yml index cee0118e0e1..5a5e9532cdf 100644 --- a/.github/workflows/test-resequence.yml +++ b/.github/workflows/test-resequence.yml @@ -12,6 +12,10 @@ on: - synchronize - ready_for_review +env: + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} + jobs: resequence-test: runs-on: ubuntu-latest diff --git a/Dockerfile.lite b/Dockerfile.lite new file mode 100644 index 00000000000..47a2d261888 --- /dev/null +++ b/Dockerfile.lite @@ -0,0 +1,71 @@ +# syntax = docker/dockerfile:1.2 +FROM docker.io/library/golang:1.21-alpine3.17 AS builder + +RUN apk --no-cache add build-base linux-headers git bash ca-certificates libstdc++ + +WORKDIR /app +ADD go.mod go.mod +ADD go.sum go.sum +ADD erigon-lib/go.mod erigon-lib/go.mod +ADD erigon-lib/go.sum erigon-lib/go.sum + +RUN go mod download +ADD . . + +RUN --mount=type=cache,target=/root/.cache \ + --mount=type=cache,target=/tmp/go-build \ + --mount=type=cache,target=/go/pkg/mod \ + make BUILD_TAGS=nosqlite,noboltdb,nosilkworm cdk-erigon + +FROM docker.io/library/alpine:3.17 + +# install required runtime libs, along with some helpers for debugging +RUN apk add --no-cache ca-certificates libstdc++ tzdata +RUN apk add --no-cache curl jq bind-tools + +# Setup user and group +# +# from the perspective of the container, uid=1000, gid=1000 is a sensible choice +# (mimicking Ubuntu Server), but if caller creates a .env (example in repo root), +# these defaults will get overridden when make calls docker-compose +ARG UID=1000 +ARG GID=1000 +RUN adduser -D -u $UID -g $GID erigon +USER erigon +RUN mkdir -p ~/.local/share/erigon +WORKDIR /home/erigon + +## add pre-defined run configs +ADD hermezconfig-mainnet.yaml.example mainnet.yaml +ADD hermezconfig-cardona.yaml.example cardona.yaml +ADD hermezconfig-bali.yaml.example bali.yaml + +## then give each binary its own layer +COPY --from=builder /app/build/bin/cdk-erigon /usr/local/bin/cdk-erigon + +EXPOSE 8545 \ + 8551 \ + 8546 \ + 30303 \ + 30303/udp \ + 42069 \ + 42069/udp \ + 8080 \ + 9090 \ + 6060 + +# https://github.com/opencontainers/image-spec/blob/main/annotations.md +ARG BUILD_DATE +ARG VCS_REF +ARG VERSION +LABEL org.label-schema.build-date=$BUILD_DATE \ + org.label-schema.description="Erigon ZKEVM Client" \ + org.label-schema.name="ZKEVM Erigon" \ + org.label-schema.schema-version="1.0" \ + org.label-schema.url="https://torquem.ch" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/0xPolygonHermez/cdk-erigon.git" \ + org.label-schema.vendor="Torquem" \ + org.label-schema.version=$VERSION + +ENTRYPOINT ["cdk-erigon"] diff --git a/zk/tests/unwinds/unwind.sh b/zk/tests/unwinds/unwind.sh index d1a738becb6..4c27f2b7ed2 100755 --- a/zk/tests/unwinds/unwind.sh +++ b/zk/tests/unwinds/unwind.sh @@ -74,7 +74,6 @@ echo -e '\nRun Erigon to BlockHeight: ' "${firstStop}" '\n' ./build/bin/cdk-erigon \ --datadir="$dataPath/rpc-datadir" \ --config="zk/tests/unwinds/config/dynamic-integration8.yaml" \ - --debug.limit=1 \ --debug.limit="${firstStop}" echo -e '\nDumping data \n'