docker_build.sh 876 B

1234567891011121314151617181920212223242526
  1. #!/usr/bin/env bash
  2. set -e
  3. # To build sim and docs, you can run the following to mount the scons cache to the same place as in CI:
  4. # mkdir -p .ci_cache/scons_cache
  5. # sudo mount --bind /tmp/scons_cache/ .ci_cache/scons_cache
  6. SCRIPT_DIR=$(dirname "$0")
  7. OPENPILOT_DIR=$SCRIPT_DIR/../../
  8. if [ -n "$TARGET_ARCHITECTURE" ]; then
  9. PLATFORM="linux/$TARGET_ARCHITECTURE"
  10. TAG_SUFFIX="-$TARGET_ARCHITECTURE"
  11. else
  12. PLATFORM="linux/$(uname -m)"
  13. TAG_SUFFIX=""
  14. fi
  15. source $SCRIPT_DIR/docker_common.sh $1 "$TAG_SUFFIX"
  16. DOCKER_BUILDKIT=1 docker buildx build --provenance false --pull --platform $PLATFORM --load --cache-to type=inline --cache-from type=registry,ref=$REMOTE_TAG -t $REMOTE_TAG -t $LOCAL_TAG -f $OPENPILOT_DIR/$DOCKER_FILE $OPENPILOT_DIR
  17. if [ -n "$PUSH_IMAGE" ]; then
  18. docker push $REMOTE_TAG
  19. docker tag $REMOTE_TAG $REMOTE_SHA_TAG
  20. docker push $REMOTE_SHA_TAG
  21. fi