Add protoc release script for Linux build.

pull/4924/head
Feng Xiao 6 years ago
parent 4d0fbd1737
commit 9209a41f82
  1. 30
      kokoro/release/protoc/linux/build.sh
  2. 7
      kokoro/release/protoc/linux/release.cfg
  3. 4
      protoc-artifacts/build-protoc.sh

@ -0,0 +1,30 @@
#!/bin/bash
set -x
# Change to repo root.
cd $(dirname $0)/../../../..
# Use docker image to build linux artifacts.
DOCKER_IMAGE_NAME=protobuf/protoc_$(sha1sum protoc-artifacts/Dockerfile | cut -f1 -d " ")
docker pull $DOCKER_IMAGE_NAME
docker run -v $(pwd):/var/local/protobuf --rm $DOCKER_IMAGE_NAME \
bash -l /var/local/protobuf/protoc-artifacts/build-protoc.sh \
linux x86_64 protoc || {
echo "Failed to build protoc for linux + x86_64."
exit 1
}
docker run -v $(pwd):/var/local/protobuf --rm $DOCKER_IMAGE_NAME \
bash -l /var/local/protobuf/protoc-artifacts/build-protoc.sh \
linux x86_32 protoc || {
echo "Failed to build protoc for linux + x86_32."
exit 1
}
# Cross-build for some architectures.
sudo apt install g++-aarch64-linux-gnu
# TODO(xiaofeng): It currently fails with "machine `aarch64' not recognized"
# error.
# protoc-artifacts/build-protoc.sh linux aarch_64 protoc

@ -0,0 +1,7 @@
build_file: "protobuf/kokoro/release/protoc/linux/build.sh"
action {
define_artifacts {
regex: "**/protoc.exe"
}
}

@ -38,7 +38,7 @@ case $MAKE_TARGET in
protoc) protoc)
;; ;;
*) *)
echo "Target ""$TARGET"" invalid." echo "Target ""$MAKE_TARGET"" invalid."
exit 1 exit 1
esac esac
@ -174,7 +174,7 @@ checkDependencies ()
} }
############################################################################ ############################################################################
echo "Building protoc, OS=$OS ARCH=$ARCH TARGET=$TARGET" echo "Building protoc, OS=$OS ARCH=$ARCH TARGET=$MAKE_TARGET"
CONFIGURE_ARGS="--disable-shared" CONFIGURE_ARGS="--disable-shared"

Loading…
Cancel
Save