This uses https://github.com/protocolbuffers/rules_ruby to fully Bazelify our ruby runtime code. The Rakefile is left in place for now and is still used by our aarch64 tests. With the current implementation ruby behaves similarly to our python wrapper, which selects whatever version is installed in the system. Future enhancements will allow for more hermetic builds via Bazel flags to pin a specific version
Closes#10525
COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/10525 from mkruskal-google:rules_ruby 97fa1f70ab
PiperOrigin-RevId: 499283908
We would like for upb_Map_Delete() to optionally return the deleted value.
Unfortunately this will require several steps since we are crossing repos.
Step #4: advance the upb version used by protobuf and update PHP/Ruby accordingly.
PiperOrigin-RevId: 498426185
We would like for upb_Map_Delete() to optionally return the deleted value.
Unfortunately this will require several steps since we are crossing repos.
Step #2: Point PHP and Ruby at the new temporary function.
point the protobuf repo at latest upb
regenerate the amalgamation files
PiperOrigin-RevId: 497310441
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
They probably should be hidden on every ELF platform, but for now only do it on Darwin, Linux, and FreeBSD.
This prevents some load-time errors that have been seen in GitLab's gitaly server, and in a few other places.
Closes#10832
COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/10832 from dankm:hide-symbols 4cb59f2691
PiperOrigin-RevId: 490522474
* Force uninstall protobuf in python macos builds
We are seeing failures in brew uninstall protobuf due to no package. Change this to a force install to avoid the error.
* Fix spelling errors (#10717)
* Merge pull request #10200 from tonydnewell/bugfix/protobuf-7474
Fix for grpc.tools #17995 & protobuf #7474 (handle UTF-8 paths in argumentfile)
* Upgrade to kotlin 1.6
* 21.x No longer define no_threadlocal on OpenBSD
* Upgrade kokoro to Xcode 14 (#10732)
* Upgrade kokoro to Xcode 14
* Fix osx errors
* Merge pull request #10770 from protocolbuffers/googleberg-cl-480629524
Mark default instance as immutable first to avoid race during static initialization of default instances.
* Auto capitalize enums name in Ruby (#10454) (#10763)
This closes#1965.
* Edit toolchain to work with absl dep
* Bump upb to latest version after fixes applied (#10783)
* 21.x 202210180838 (#10785)
* Updating version.json and repo version numbers to: 21.8
* Update changelog
Co-authored-by: Protobuf Team Bot <protobuf-team-bot@google.com>
* Update generated protos
Co-authored-by: deannagarcia <69992229+deannagarcia@users.noreply.github.com>
Co-authored-by: Matt Fowles Kulukundis <matt.fowles@gmail.com>
Co-authored-by: Deanna Garcia <deannagarcia@google.com>
Co-authored-by: Brad Smith <brad@comstyle.com>
Co-authored-by: Jerry Berg <107155935+googleberg@users.noreply.github.com>
Co-authored-by: tison <wander4096@gmail.com>
Co-authored-by: Protobuf Team Bot <protobuf-team-bot@google.com>
* 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
* Added staleness test for ruby-upb.{c,h} and updated.
* Removed file comment markers, too much trouble for too little benefit.
* Ran clang-format.
* Updated ruby-upb.{c,h}.
* Added missing table code to amalgamation.
* Updated to latest upb, patch no longer needed.
* Reverted changes to third_party sub-modules.
* Added missing unicode file.
* Removed conformance failures for 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
The only difference between all the `Message` classes is just
their `descriptor` instance variable.
So rather than create an entirely new class from scratch every time
we can simply inherit from an abstract class.
This shink each `Message` class from `1456` bytes to `944` bytes, and
the singleton class of each from `960` to `792`, for a total of
`680` bytes saved per message class, so a ~28% reduction.