• Matthew Slipper's avatar
    ops: Build cleanups · 0fb3050f
    Matthew Slipper authored
    Cleans up a bunch of configuration in `ops/`, in preparation for switching most of our build configuration to CircleCI. Changes include:
    
    1. Removing the "builder image" concept in favor of a single multi-target Dockerfile. Once this goes live on CircleCI, we'll be able to leverage Docker Layer caching more effectively.
    2. Fixes the nightly build, which is currently failing on the legacy batch submitter.
    3. Removes the legacy rpc-proxy since it isn't used anywhere anymore.
    4. Re-enables CODEOWNERS.
    5. Removes the `docker-compose-nobuild.yml` file, since the main `docker-compose.yml` file now supports images and builds.
    
    Meta:
    
    - Fixes ENG-1838
    0fb3050f
build-ci.sh 1.03 KB
# Builds an image using Buildx. Usage:
# build <name> <tag> <dockerfile> <context>
function build() {
    echo "Building $1."
    echo "Tag: $2"
    echo "Dockerfile: $3"
    echo "Context: $4"
    docker buildx build \
        --tag "$2" \
        --cache-from "type=local,src=/tmp/.buildx-cache/$1" \
        --cache-to="type=local,dest=/tmp/.buildx-cache-new/$1" \
        --file "$3" \
        --load "$4" \
        &
}

mkdir -p /tmp/.buildx-cache-new
build l2geth "ethereumoptimism/l2geth:latest" "./ops/docker/Dockerfile.geth" .
build l1chain "ethereumoptimism/hardhat:latest" "./ops/docker/hardhat/Dockerfile" ./ops/docker/hardhat

wait

build deployer "ethereumoptimism/deployer:latest" "./ops/docker/Dockerfile.deployer" .
build dtl "ethereumoptimism/data-transport-layer:latest" "./ops/docker/Dockerfile.data-transport-layer" .
build relayer "ethereumoptimism/message-relayer:latest" "./ops/docker/Dockerfile.message-relayer" .
build integration-tests "ethereumoptimism/integration-tests:latest" "./ops/docker/Dockerfile.integration-tests" .

wait