Disable bazel build for gcc 4.8, upgrade versions for grpc and bazel, document bazel support (#953)

* increment bazel

* fix bazel

* bazel macos fix

* revert to old bazel

* bazel 4.2.0

* fix

* fix

* fix

* add doc

* fix

* add newline

* remove commented workflow
This commit is contained in:
Lalit Kumar Bhasin 2021-08-20 03:13:16 +05:30 коммит произвёл GitHub
Родитель 5e4962daca
Коммит 205a3dd8f0
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
9 изменённых файлов: 32 добавлений и 39 удалений

Просмотреть файл

@ -22,3 +22,4 @@ common:tsan --cc_output_directory_tag=tsan
# This is needed to address false positive problem with abseil.The same setting as gRPC
# https://github.com/google/sanitizers/issues/953
common:tsan --test_env=TSAN_OPTIONS=report_atomic_races=0

Просмотреть файл

@ -1 +1 @@
3.7.2
4.2.0

26
.github/workflows/ci.yml поставляемый
Просмотреть файл

@ -128,30 +128,6 @@ jobs:
- name: run tests
run: ./ci/do_ci.sh cmake.test_example_plugin
bazel_gcc_48_test:
name: Bazel gcc 4.8
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Mount Bazel Cache
uses: actions/cache@v2
env:
cache-name: bazel_cache
with:
path: /home/runner/.cache/bazel
key: bazel_gcc_48_test
- name: setup
run: |
sudo ./ci/setup_ci_environment.sh
sudo ./ci/install_bazelisk.sh
sudo ./ci/install_gcc48.sh
- name: run tests
run: ./ci/do_ci.sh bazel.legacy.test
env:
CC: /usr/bin/gcc-4.8
bazel_test:
name: Bazel
runs-on: ubuntu-latest
@ -272,7 +248,7 @@ jobs:
path: /Users/runner/.cache/bazel
key: bazel_osx
- name: run tests
run: ./ci/do_ci.sh bazel.test
run: ./ci/do_ci.sh bazel.macos.test
benchmark:
name: Benchmark

Просмотреть файл

@ -133,6 +133,8 @@ target_link_libraries(foo PRIVATE ${OPENTELEMETRY_CPP_LIBRARIES})
## Build instructions using Bazel
NOTE: Experimental, and not supported for all the components.
### Prerequisites for Bazel
- A supported platform (e.g. Windows, macOS or Linux).

Просмотреть файл

@ -47,11 +47,16 @@ of the current project.
Our CI pipeline builds and tests on following `x86-64` platforms:
* ubuntu-18.04 (Default GCC Compiler - 7.5.0)
* ubuntu-18.04 (GCC 4.8 with -std=c++11 flag)
* ubuntu-20.04 (Default GCC Compiler - 9.3.0 with -std=c++20 flags)
* macOS 10.15 (Xcode 12.2)
* Windows Server 2019 (Visual Studio Enterprise 2019)
| Platform | Build type |
|---------------------------------------------------------------------|---------------|
| ubuntu-18.04 (Default GCC Compiler - 7.5.0) | CMake, Bazel |
| ubuntu-18.04 (GCC 4.8 with -std=c++11 flag) | CMake [1] |
| ubuntu-20.04 (Default GCC Compiler - 9.3.0 with -std=c++20 flags) | CMake, Bazel |
| macOS 10.15 (Xcode 12.2) | Bazel |
| Windows Server 2019 (Visual Studio Enterprise 2019) | CMake, Bazel |
[1]: Bazel build is disabled for GCC 4.8, as GRPC library ( required by OTLP expoter)
doesn't build with this compiler. CMake build won't build OTLP exporter with GCC 4.8.
In general, the code shipped from this repository should build on all platforms
having C++ compiler with [supported C++ standards](#supported-c-versions).

Просмотреть файл

@ -32,20 +32,20 @@ def opentelemetry_cpp_deps():
maybe(
http_archive,
name = "com_github_grpc_grpc_legacy",
sha256 = "2060769f2d4b0d3535ba594b2ab614d7f68a492f786ab94b4318788d45e3278a",
strip_prefix = "grpc-1.33.2",
sha256 = "024118069912358e60722a2b7e507e9c3b51eeaeee06e2dd9d95d9c16f6639ec",
strip_prefix = "grpc-1.39.1",
urls = [
"https://github.com/grpc/grpc/archive/v1.33.2.tar.gz",
"https://github.com/grpc/grpc/archive/v1.39.1.tar.gz",
],
)
maybe(
http_archive,
name = "com_github_grpc_grpc",
sha256 = "2060769f2d4b0d3535ba594b2ab614d7f68a492f786ab94b4318788d45e3278a",
strip_prefix = "grpc-1.33.2",
sha256 = "024118069912358e60722a2b7e507e9c3b51eeaeee06e2dd9d95d9c16f6639ec",
strip_prefix = "grpc-1.39.1",
urls = [
"https://github.com/grpc/grpc/archive/v1.33.2.tar.gz",
"https://github.com/grpc/grpc/archive/v1.39.1.tar.gz",
],
)

Просмотреть файл

@ -25,6 +25,11 @@ mkdir -p "${PLUGIN_DIR}"
BAZEL_OPTIONS="--copt=-DENABLE_METRICS_PREVIEW --copt=-DENABLE_LOGS_PREVIEW"
BAZEL_TEST_OPTIONS="$BAZEL_OPTIONS --test_output=errors"
# https://github.com/bazelbuild/bazel/issues/4341
BAZEL_MACOS_OPTIONS="$BAZEL_OPRIONS --features=-supports_dynamic_linker"
BAZEL_MACOS_TEST_OPTIONS="$BAZEL_MACOS_OPTIONS --test_output=errors"
BAZEL_STARTUP_OPTIONS="--output_user_root=$HOME/.cache/bazel"
export CTEST_OUTPUT_ON_FAILURE=1
@ -158,6 +163,10 @@ elif [[ "$1" == "bazel.test" ]]; then
bazel $BAZEL_STARTUP_OPTIONS build $BAZEL_OPTIONS //...
bazel $BAZEL_STARTUP_OPTIONS test $BAZEL_TEST_OPTIONS //...
exit 0
elif [[ "$1" == "bazel.macos.test" ]]; then
bazel $BAZEL_STARTUP_OPTIONS build $BAZEL_MACOS_OPTIONS //...
bazel $BAZEL_STARTUP_OPTIONS test $BAZEL_MACOS_TEST_OPTIONS //...
exit 0
elif [[ "$1" == "bazel.legacy.test" ]]; then
# we uses C++ future and async() function to test the Prometheus Exporter functionality,
# that make this test always fail. ignore Prometheus exporter here.

Просмотреть файл

@ -5,7 +5,7 @@
set -e
BAZELISK_VERSION=v1.7.4
BAZELISK_VERSION=v1.10.1
wget -O /usr/local/bin/bazel https://github.com/bazelbuild/bazelisk/releases/download/$BAZELISK_VERSION/bazelisk-linux-amd64
chmod +x /usr/local/bin/bazel

Просмотреть файл

@ -6,7 +6,7 @@
set -e
export DEBIAN_FRONTEND=noninteractive
old_grpc_version='v1.33.2'
new_grpc_version='v1.39.0'
new_grpc_version='v1.39.1'
gcc_version_for_new_grpc='5.1'
install_grpc_version=${new_grpc_version}
grpc_version='v1.39.0'