prysm-pulse/hack/build_and_upload_docker.sh
Preston Van Loon 02ee6897bb
Multiarch docker containers (#12428)
* Add bazel-zig-cc for a hermetic cc toolchain

* gazelle

* Remove llvm

* remove wl

* Add new URLs for renamed repo

* gazelle

* Update to v2.0.0-rc1

* bump to rc2

* Proof of concept multi-arch containers for beacon-chain

* TODO and gaz

* Refactor to starlark macro. Use a version of bash that actually works

* progress

* gaz

* multirun to use multiple repositories, but doesn't work with tag stamping

* Revert "multirun to use multiple repositories, but doesn't work with tag stamping"

This reverts commit 93afa76f65daeba9426c3d714dabf94410fa3a0c.

* Add targets for all supported docker images and temporarily set the repository to prysm-dev for testing

* use a temporary fix to see if it works on buildkite

* Revert "use a temporary fix to see if it works on buildkite"

This reverts commit ddc79283caa6b39c8aff4c62772728832d0dfe64.

* testing a cURL fix

* try fix with my fix

* Revert "try fix with my fix"

This reverts commit bb7521bf4712abb6779bbf3132e64911b751db65.

* Revert "testing a cURL fix"

This reverts commit 8a4782110f8853cb7278baf507621bd6684572b1.

* try tip of main branch for rules_oci

* update to 1.2.0

* Update rules_oci to v1.3.0

* Update rule_oci to 1.3.4

* Disable experimental_remote_downloader

* Remove extra zig bazelrc

* Move image deps to its own file

* PR feedback

---------

Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2023-09-28 15:24:16 +00:00

40 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# -----------------------------------------------------------------------------
# This script builds and uploads the docker images to the registries.
#
# This script is intended to be a workaround until the rules_oci project supports
# targets with multiple repositories like rules_docker does. See: https://github.com/bazel-contrib/rules_oci/issues/248
# -----------------------------------------------------------------------------
# Validate that the tag argument exists.
if [ "$1" = "" ]
then
echo "Usage: $0 <tag>"
exit
fi
TAG=$1
# Sanity check that all targets can build before running them.
bazel build --config=release \
//cmd/beacon-chain:push_oci_image \
//cmd/validator:push_oci_image \
//cmd/prysmctl:push_oci_image
# Push the images to the registry.
### Beacon chain
bazel run --config=release \
//cmd/beacon-chain:push_oci_image -- --tag=$TAG
### Beacon chain (blst portable image)
bazel run --config=release --define=blst_modern=false \
//cmd/beacon-chain:push_oci_image -- --tag=$TAG-portable
### Validator
bazel run --config=release \
//cmd/validator:push_oci_image -- --tag=$TAG
### Prysmctl
bazel run --config=release \
//cmd/prysmctl:push_oci_image -- --tag=$TAG