This bumps us to gcc 6 (rather than 4.8), which fully supports C++14, and migrates the Python tests to our Bazel-based system. C#, PHP, and Ruby will remain on CMake + alternate build system for now.
PiperOrigin-RevId: 495501807
This was silently breaking because we didn't fail on errors in the test script. The upb version is also bumped to pull in improvements for system_python that fix the underlying issue (python 3.5 doesn't work with our pip dependencies).
PiperOrigin-RevId: 492526855
This pulls in updates to system_python, which allows for better handling of our non-hermetic setup. Specifically, our python tests are marked incompatible on systems without a python installation. This will cause them to get skipped by wildcard expansions (which is why we add 1 explicit target to the kokoro builds).
PiperOrigin-RevId: 492286518
When homebrew automatically updates packages we have less control over what version of packages we are running, this will make the script more deterministic. In addition, it will fix errors relating to updating irrelevant packages.
* Add remote cache to linux builds
* Remove BES flags
* Remove BES flags from the right file
* Migrate all Bazel kokoro builds to use remote caching
* Remove BES logic
* Fix mac ruby tests
* Give mac/windows builds GCP access
* Adding quotes to prevent issues with common flags
* Adding command echoing in windows builds
* Try enabling command echoing again
* Adding invocation id for windows bazel build
* Third try
* Adding credentials to windows build
* Adding build configs for sanitization
* Update bazel runner to accept configs to loop over
* Fix Bazel query from to googletest upgrade
* Fix pre-existing ODR violation
* Clean up bazel configs
* Fix UBSAN issues in tests
* Upgrade zlib to pull in UBSAN fix
* Fix conformance test UB
* Add *san builds to Bazel tests
* Add dbg to *san builds
* Extend timeout for Bazel build
* Enable ODR checks again by using static linkage in ASAN
* Cleanup kokoro setup
* Disable MSAN for now
* Enable MSAN in kokoro build
* Fix msan failure
* Remove broken bazel clean
* Cleanup
* Fix false leaks
* Fix cap-add argument
* Fix asan config name
* Remove LSAN verbosity
* Expand size of big test, add verbose failures
* Skip slow test in TSAN
* Workaround for bazel issue with ubsan
This job is not really a "release", but it has to be a release job so
that it can run on a schedule without running presubmit or postsubmit.
Generated files will be quickly updated automatically after each PR is
merged, but we want to run this staleness check nightly as an extra
safeguard.
* Using glob to remove headers instead of cyclic file_lists
* Simplify CMake config and include missing files
* Don't remove generated proto headers
* Fix broken CMake proto dependencies instead of opting out pb.h files.
* Fixing cyclic dependency
* Adding full build to 32 bit tests
* Running C++ tests in 32 bit builds
* Patching static assert test failure
* Test fixes for 32-bit architectures
* Cleanup after CMake build
* Save protoc before cleanup
* Route protoc better
* Attempt to dedupe Bazel test
* Intentionally break a test to make sure presubmits still run
* Moving some shared configs to higher directories
* Adding root common.cfg
* Adding action cfgs at root directory
* Adding empty presubmit/continuous
* Going back to leaf directories
* Adding empty presubmit/continuous
* Unify continuous and presubmit configs
* Consolidate all presubmit/continuous into a common config file
* Revert "Intentionally break a test to make sure presubmits still run"
This reverts commit 978eb19f80ea46f4a0e07789f86e791c5f9790ac.
* Fixing POC config files
* Manually run brew cleanup and initialize php
* Add debug loggin for visibility
* Allow underscores in php folder name
* Add logging to php tests
* Add tracing
* Only use the latest installation of php
* Disabling broken mac php tests
* Fix ruby permissions after Monterey upgrade
* Install m4 via Homebrew
* Adding ruby/python fixes to presubmits
* Adding homebrew prefix command
* More fixes for objc, python, and benchmark build
* Properly disabling C++ benchmark warning
* Use python 2 for testing
* Splitting venv and python 2
* Setup tox-pyenv
* Silencing more warnings
* Cleanup
* Upgrade python tests to 3.7 on mac
* Switch to python 2 by default (googletest requires it)
* Remove venv for python tests, use python 3.7
* Disable all compiler warnings for benchmark builds
* Enable benchmark LTO to silence warnings
* Fix locale issues in cocoapods
* Remove benchmark build from C++ tests
* Removing deprecated use_bazel command
Removing python 3.6 mac build, since Monterey doesn't support it
* Downgrade a presubmit to Bazel 4.0.0 to reproduce failure
* Add explicit dependency on more recent platforms package
* Upgrade to Bazel 4.2.2, the oldest supported version
* Bumping Abseil version to latest LTS
* Upgrade PHP build to latest docker image
* Deleting php 7.0 kokoro build now that it's not supported
* Putting old PHP test back
* Fix test cases that exceed PHP_INT_MAX
* Fixing typos
* Revert new files that were deleted by sync script
* Fix CMake breakages
* bump upb version
* Sync from Piper @468772608
PROTOBUF_SYNC_PIPER
* Adding abseil to include path for python C++ extension
* Adding abseil linkage for python C++ extension
* Fixing linkage order
* Upgrade third_party/googletest submodule to current main branch
We can finally do this upgrade now that we have dropped our autotools
build. Googletest recommends living at head, so let's go straight to the
most recent commit on main. For some reason the googletest archive is
not present in the Bazel build mirror, so I removed that entry and just
left the GitHub download link in our WORKSPACE file.
Googletest now requires C++14, so I updated all the C++11 flags I could
find to C++14 instead. I added a .bazelrc file to add -std=c++14 for all
our Bazel builds.
* Delete the empty //src/google/protobuf:protobuf_test target
* Avoid building C++ unit tests in aarch64 jobs for Python and Ruby