This is a proof of concept that we can experiment with before migrating all of our Kokoro tests to GHA. In addition to the migration, this builds out infrastructure for safe handling of both external and internal contributions. Two of the existing GHA workflows have also been migrated to this system to unify how we handle testing.
To test the new workflow introduced here, you can open PRs to the `gha` branch. This feature branch acts as a staging area for GHA. PRs opened up from this repo will automatically have all tests run on each commit. We will also run them all as post-submits, and continuously on a daily schedule. PRs opened from forked repos will need per-commit approval for each test run, which can be given by adding the `safe for tests` label.
Examples (failures are intentional to show that the PR code is being tested):
- Internal PR: https://github.com/protocolbuffers/protobuf/pull/11679
- Fork PR (approved): https://github.com/protocolbuffers/protobuf/pull/11685
- Fork PR (rejected): https://github.com/protocolbuffers/protobuf/pull/11683
- External PR: https://github.com/protocolbuffers/protobuf/pull/11695Closes#11702
COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/11702 from protocolbuffers:gha f3a2663896
PiperOrigin-RevId: 506169444
This deletes our old branches of internal Abseil code in favor of their newly open-sourced library. Notably, this removes the ability to turn CHECK crashes into exceptions.
PiperOrigin-RevId: 504460562
This will make the CMake workflow easier, where users won't need to either install utf8_range or initialize our submodules. Since this is a relatively small library that's owned by us, we can just bundle it with protobuf as a subtree
Closes#11608
COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/11608 from mkruskal-google:utf8_range_dep 57d5d91b68
PiperOrigin-RevId: 503314822
Add bazel targets to create ruby release artifacts.
Should be run with:
```
bazel run ruby:release
bazel run ruby:jruby_release
```
Closes#11468
COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/11468 from deannagarcia:rubyTargets b7b7eb6865
PiperOrigin-RevId: 503277136
I went ahead and deleted the update_file_list.sh script, because (a)
there was no good reason for it to be in a separate script and (b) we
now need to handle the well-known types in addition to file_lists.cmake.
With this change, we just invoke the staleness tests from the main
script to update everything.
While I was at it I made a couple small fixes:
- Don't skip the update step just because the previous commit was by
"Protobuf Team Bot". Copybara commits use this name and we still want
to do the auto-update step after them.
- Include the CL number in the description if the previous commit came
from a CL.
PiperOrigin-RevId: 487231324
Now that we are syncing all PRs from Piper with Copybara, there isn't a convenient workflow for adding per-language labels to the GitHub PR. (Also even if we required this, Copybara sometimes closes the PR and makes a separate commit, instead of merging the PR).
Long-term we want the release script to bucket by language by automatically detecting which files were modified. In the near-term, the onduty will need to do this manually at release time.
PiperOrigin-RevId: 485730509
* Add bazel php:release target for PECL tgz using generated package.xml
* move targets from php/ext/google/protobuf to php packages since this breaks dist_files and add utf8 license file
* Remove package.xml form Makefile.am
* add files to Makefile.am
* 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>
This GitHub action will run after each pull request merge and will auto-update
the file lists in in src/file_lists.cmake. The action will run as our
bot account.
I realized that if a bug somehow made the file generation
non-idempotent, this could trigger an infinite loop of commits, so I put
in an extra safeguard against that. If the previous commit was by
"Protobuf Team Bot", the GitHub action will revert any local changes to
ensure that no new commit will be made.
* 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
- Run for all Apple configurations/platforms.
- Limit the action to only run when the ObjC source change.
- Document why the CocoaPods doesn't run the tests during the validation.
The kokoro objectivec_cocoapods_integration configuration can likely be retired
by retiring this.