Commit decf4513 authored by Adrian Sutton's avatar Adrian Sutton Committed by GitHub

cannon: Build the cannon docker image and publish on cannon release tags (#12100)

* cannon: Build the cannon docker image and publish on cannon release tags.

* ci: Add docker builds as dependencies so they prevent merging if they fail.

* cannon: Include specific implementation builds in final docker image.
parent 56502ddc
......@@ -1673,6 +1673,12 @@ workflows:
- op-e2e-fault-proof-tests
- op-e2e-action-tests
- op-e2e-action-tests-altda
# Not needed for the devnet but we want to make sure they build successfully
- cannon-docker-build
- op-dispute-mon-docker-build
- op-program-docker-build
- op-supervisor-docker-build
- proofs-tools-docker-build
- docker-build:
name: <<matrix.docker_name>>-docker-build
docker_tags: <<pipeline.git.revision>>,<<pipeline.git.branch>>
......@@ -1691,6 +1697,7 @@ workflows:
- da-server
- op-supervisor
- op-deployer
- cannon
- cannon-prestate:
requires:
- go-mod-download
......@@ -1734,7 +1741,7 @@ workflows:
type: approval
filters:
tags:
only: /^(da-server|ci-builder(-rust)?|proofs-tools|ufm-[a-z0-9\-]*|op-[a-z0-9\-]*)\/v.*/
only: /^(da-server|ci-builder(-rust)?|proofs-tools|cannon|ufm-[a-z0-9\-]*|op-[a-z0-9\-]*)\/v.*/
branches:
ignore: /.*/
# Standard (medium) cross-platform docker images go here
......@@ -1752,6 +1759,7 @@ workflows:
- op-ufm
- op-supervisor
- op-deployer
- cannon
name: <<matrix.docker_name>>-docker-release
docker_tags: <<pipeline.git.revision>>
platforms: "linux/amd64,linux/arm64"
......@@ -1781,6 +1789,7 @@ workflows:
- op-ufm
- op-supervisor
- op-deployer
- cannon
name: <<matrix.op_component>>-cross-platform
requires:
- op-node-docker-release
......@@ -1793,6 +1802,7 @@ workflows:
- op-ufm-docker-release
- op-supervisor-docker-release
- op-deployer-docker-release
- cannon-docker-release
# Standard (xlarge) AMD-only docker images go here
- docker-build:
matrix:
......@@ -1922,6 +1932,7 @@ workflows:
- op-dispute-mon
- op-conductor
- op-supervisor
- cannon
name: <<matrix.docker_name>>-docker-publish
docker_tags: <<pipeline.git.revision>>,<<pipeline.git.branch>>
platforms: "linux/amd64,linux/arm64"
......@@ -1941,6 +1952,7 @@ workflows:
- op-dispute-mon
- op-conductor
- op-supervisor
- cannon
name: <<matrix.op_component>>-cross-platform
requires:
- <<matrix.op_component>>-docker-publish
......
......@@ -116,6 +116,7 @@ RUN --mount=type=cache,target=/go/pkg/mod --mount=type=cache,target=/root/.cache
FROM --platform=$TARGETPLATFORM $TARGET_BASE_IMAGE AS cannon-target
COPY --from=cannon-builder /app/cannon/bin/cannon /usr/local/bin/
COPY --from=cannon-builder /app/cannon/multicannon/embeds/* /usr/local/bin/
CMD ["cannon"]
FROM --platform=$TARGETPLATFORM $TARGET_BASE_IMAGE AS op-program-target
......
......@@ -6,7 +6,7 @@ DOCKER_REPO=$1
GIT_TAG=$2
GIT_SHA=$3
IMAGE_NAME=$(echo "$GIT_TAG" | grep -Eow '^(ci-builder(-rust)?|da-server|proofs-tools|ufm-[a-z0-9\-]*|op-[a-z0-9\-]*)' || true)
IMAGE_NAME=$(echo "$GIT_TAG" | grep -Eow '^(ci-builder(-rust)?|da-server|proofs-tools|cannon|ufm-[a-z0-9\-]*|op-[a-z0-9\-]*)' || true)
if [ -z "$IMAGE_NAME" ]; then
echo "image name could not be parsed from git tag '$GIT_TAG'"
exit 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment