* 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.
* 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
* 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
* 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
* 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
* Bazelfying conformance tests
Adding infrastructure to "Bazelify" languages other than Java and C++
* Delete benchmarks for languages supported by other repositories
* Bazelfying benchmark tests
* Bazelfying python
Use upb's system python rule instead of branching tensorflow
* Bazelfying Ruby
* Bazelfying C#
* Bazelfying Objective-c
* Bazelfying Kokoro mac builds
* Bazelfying Kokoro linux builds
* Deleting all deprecated files from autotools cleanup
This boils down to Makefile.am and tests.sh and all of their remaining references
* Cleanup after PR reorganizing
- Enable 32 bit tests
- Move conformance tests back
- Use select statements to select alternate runtimes
- Add internal prefixes to proto library macros
* Updating READMEs to use bazel instead of autotools.
* Bazelfying Kokoro release builds
* First round of review fixes
* Second round of review fixes
* Third round of review fixes
* Filtering out conformance tests from Bazel on Windows (b/241484899)
* Add version metadata that was previously scraped from configure.ac
* fixing typo from previous fix
* Adding ruby version tests
* Bumping pinned upb version, and adding tests to python CI
These tests verify that various things can be built/installed/tested
using our published distribution archives, but starting with 22.0 we
will no longer be publishing those.
* Initial implementation of cmake tests for linux
* Reverting accidental distcheck changes
* Updating gitignore file to include cmake generated files
* Updating existing cmake tests to use newer docker image
* Adding CMake build that uses Ninja as the generator
* Updating CMake documentation to cover Linux support
* Updating to latest cmake image
* Initial implementation of cmake tests for linux
* Reverting accidental distcheck changes
* Deleting extract_includes.bat now that it's been replaced with the generated file_lists.cmake
* Removing unnecessary endif conditions
Some of the continuous aarch64 builds started failing yesterday because
the autotools -> CMake change caused the protoc binary to end up in an
unexpected location. This change fixes the problem by putting a symlink
in the src/ directory.
This is somewhat of a rough cut, since it doesn't split apart the lite and full targets, or unit tests. However, it does split sources under src/google/protobuf into a separate package, which is a fairly impactful change.
This change creates packages under src/google/protobuf/{io,stubs,testing} and moves build definitions there. Future changes will handle .../util and .../compiler, and finally src/google/protobuf.
The cmake tests are expected to fail for now due to Abseil sources missing from the distribution artifact. The tests are structured as expected failures.
These are all "toolchain-y" things, like copts, link_opts, and config_settings. These are very different from what is in //toolchain, though, so I chose the somewhat common name build_defs for the package. For now, I am only using this package for purely internal things. (Most public "defs"-type things should come from rules_proto/rules_cc, anyhow.)