Commit Graph

338 Commits

Author SHA1 Message Date
github-actions[bot] dde1291a97
Automated fix for refs/heads/master (#33546)
PanCakes to the rescue!

We noticed that our 'sanity' test was going to fail, but we think we can
fix that automatically, so we put together this PR to do just that!

If you'd like to opt-out of these PR's, add yourself to NO_AUTOFIX_USERS
in .github/workflows/pr-auto-fix.yaml

Co-authored-by: HannahShiSFB <HannahShiSFB@users.noreply.github.com>
2023-06-26 12:46:19 -07:00
alto-ruby 059144abd6
[Ruby] add aarch64 linux build (#33079)
This adds pre-built library for aarch64 linux, will help improve the
install speed and avoid building environment issues at customer side.

@apolcyn @jtattermusch Can you help build and push the new rake compiler
image?
Will update the tag and hash after the image is available

Manually tested locally:
```
uname -a
Linux u20 5.15.49-linuxkit #1 SMP PREEMPT Tue Sep 13 07:51:32 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
```
```
time gem install /work/ruby/grpc/pkg/grpc-1.56.0.dev-aarch64-linux.gem
Successfully installed grpc-1.56.0.dev-aarch64-linux
Parsing documentation for grpc-1.56.0.dev-aarch64-linux
Installing ri documentation for grpc-1.56.0.dev-aarch64-linux
Done installing documentation for grpc after 0 seconds
1 gem installed

real	0m22.794s
user	0m17.268s
sys	0m5.156s
```
```
ruby greeter_server.rb &
[1] 319
ruby greeter_client.rb
"Greeting: Hello world"
```

Fixes:
https://github.com/grpc/grpc/issues/31855
https://github.com/grpc/grpc/issues/29489
2023-06-25 13:00:40 -07:00
Sergii Tkachenko de6ed9ba9f
[Python] Migrate from yapf to black (#33138)
- Switched  from yapf to black
- Reconfigure isort for black
- Resolve black/pylint idiosyncrasies 

Note: I used `--experimental-string-processing` because black was
producing "implicit string concatenation", similar to what described
here: https://github.com/psf/black/issues/1837. While currently this
feature is experimental, it will be enabled by default:
https://github.com/psf/black/issues/2188. After running black with the
new string processing so that the generated code merges these `"hello" "
world"` strings concatenations, then I removed
`--experimental-string-processing` for stability, and regenerated the
code again.

To the reviewer: don't even try to open "Files Changed" tab 😄 It's
better to review commit-by-commit, and ignore `run black and isort`.
2023-06-09 15:08:55 -07:00
Jan Tattermusch 43c3d1f932
Switch all VS2017 builds to VS2019 (#32662)
(part of removing support for VS2017)

Also see https://github.com/grpc/grpc/pull/32649
Also see https://github.com/grpc/grpc/pull/32615

The switch to grpc-win2019 windows workers has already happened:
(cl/517400022).

Once this PR lands, I'll backport to 1.53.x branch as well (since that
release removes the VS2017 support).
2023-03-23 16:44:39 +01:00
Jan Tattermusch 84c091315b
increase timeout for windows C++ distribtests (#32669)
After switching to grpc-win2019 kokoro image, the windows C++
distribtest got slightly slower (from about ~1500sec to ~1650sec), which
got us too close to the 1800sec time limit and thus we've seen the
windows distribtests occasionally time out.

I'd still like to look into speeding up the distribtests, but for now we
don't want frequest test timeouts in the CI.

example failure: 

https://fusion2.corp.google.com/ci;ids=1923284992/kokoro/prod:grpc%2Fcore%2Fmaster%2Fwindows%2Fgrpc_distribtests_standalone/activity/996fd2cf-bef3-4490-85da-a52765d84127/log

```
2023-03-20 23:43:44,740 TIMEOUT: distribtest.cpp_windows_x86_cmake_as_externalproject [pid=5984, time=1800.1sec]
```
2023-03-22 08:51:26 +01:00
Jan Tattermusch 5873ba96dc
Ensure compatibility with the new custom kokoro win2019 image (#32649)
Fix incompatibilities identified when running adhoc runs on the new
custom win2019 image.
After merging this, it should be possible to switch to the new image
without breaking any tests.

- for most fixes I added a comment that explains why they're necessary.
- the new image won't have VS2015 installed, so I'm switching the protoc
artifact build to VS2017

This PR will need to be backported to older release branches to ensure
the windows tests continue working on those branches as well (IMHO I
haven't made any changes that would be difficult to backport and I tried
to keeps the diff as small as possible to avoid issues when
backporting).

After we switch to the new image (and all the windows tests are green),
we can incrementally move the builds that are still using VS2017 to
VS2019.
2023-03-20 16:03:50 +01:00
Mickaël Guérin 56ad4d964a
Support python 3.11 on aarch64 (#32270)
* Support python 3.11 on aarch64

Fixes https://github.com/grpc/grpc/issues/30927

* Change base tag to something more specific

* Update current version

---------

Co-authored-by: Richard Belleville <rbellevi@google.com>
2023-02-06 12:21:59 -08:00
Esun Kim 564a46291b
Update all Debian:9 to Debian:10 (#31917) 2023-01-23 10:50:41 -08:00
apolcyn 86d314a4cb
Undrop ruby 2.6 (#32160) 2023-01-20 09:36:59 -08:00
apolcyn c1a4b526fb
[ruby]: add pre-compiled binaries for ruby 3.2; drop them for ruby 2.6 (#32089)
[ruby]: add pre-compiled binaries for ruby 3.2; drop them for ruby 2.6
2023-01-19 15:32:26 -08:00
Richard Belleville 5933b52e11
Build native MacOS arm64 artifacts (universal2) (#31747)
* Attempt to build universal2 artifacts

* Whoops

* Reverse the hack

* Turn off boringssl assembly optimizations

* Whoopsie
2022-12-01 09:57:02 -08:00
Jan Tattermusch 7ab2a95979
More cleanup after moving testing docker images to artifact registry. (#31689)
* remove DOCKERHUB_ORGANIZATION from prepare_build_interop_rc

* switch rubys rake-compiler-dock to .current_version files

* remove DOCKERHUB_ORGANIZATION from prepare_build_linux_rc

* fix .current_version files for third_party/rake-compiler-dock

* fix: avoid .current_version files named */.current_version

* fix: avoid pushing in local only mode
2022-11-24 14:09:16 +01:00
Esun Kim 5fb4c2364d
Clean-up pkgconfig (#31660)
* Clean-up pkgconfig

* Removed run_distrib_test_cmake_module_install_pkgconfig.sh

* Proper re2

* Clean up pkgconfig.sh test script
2022-11-22 10:51:17 -08:00
Jan Tattermusch 3cf3ed7d59
Revert "Revert "Add back C# distribtests for Grpc.Tools"" (#31436)
* Revert "Revert "Add back C# distribtests for Grpc.Tools (#31399)" (#31412)"

This reverts commit dbc45208e2.

* avoid clash with internal protos
2022-10-27 09:59:06 +02:00
Alisha Nanda dbc45208e2
Revert "Add back C# distribtests for Grpc.Tools (#31399)" (#31412)
This reverts commit 50bad293c9.
2022-10-20 12:08:29 -07:00
Jan Tattermusch 50bad293c9
Add back C# distribtests for Grpc.Tools (#31399)
* remove remains of grpc_csharp_ext artifact build completely

* add back part of C# distribtests

* redirect C# linux distribtests

* comment out some distribtests

* switch updateversion to Grpc.tools

* fix .proto

* fix distribtest complile

* temporarily comment out service in .proto

* cleanup

* improvements

* reenable mac distribtests

* fixes
2022-10-20 16:42:29 +02:00
Jan Tattermusch 108444e9f7
Fix python tests on kokoro macos monterey (#31126)
* fix python build on kokoro macos monterey

* avoid using realpath

* fix grpc_distribtests_python on macos monterey

* try upgrade setuptools
2022-10-10 17:45:31 +02:00
Richard Belleville 2297249e47
Support Python 3.11 (#30818)
* Support Python 3.11

* Update build images for 3.11

* Whoopsie

* The architecture of this thing is garbage

* Silence ownership warning

* Account for change in git behavior

* Fix directory

* I am in great pain

* Update Windows and arm linux

* Agh

* Clean up
2022-09-12 11:53:44 -07:00
Jan Tattermusch 2d7ebdb5fd
avoid frequent PHP mac distribtest timeouts (#30847) 2022-09-06 19:59:11 +02:00
apolcyn 8b941bb648
Drop support for ruby 2.5 (#30699)
* Drop ruby 2.5 support
2022-08-25 21:39:31 -07:00
Richard Belleville 4472304d63
Drop Python 3.6 From Distribtests (#30562)
* First attempt at fixing distribtest

* Add dev ubuntu 20.04 image

* Plase the copyright overlords
2022-08-12 15:05:16 -07:00
Yash Tibrewal 41ec08c69a
Update third_party/protobuf to 3.21.4 (#30377)
* Update third_party/protobuf

* run tools/distrib/python/make_grpcio_tools.py

* regenerate protos for ruby, php

* update build_handwritten.yaml

* regenerate projects

* Build - Use :well_known_type_protos instead of :well_known_protos

* Fix target

* Update upb

* Update Python for Protobuf 4.21 (#140)

* Update protobuf dependency on grpcio-tools

* Off by one

* Drop python 3.6 support

* Try upgrading pip

* And in the other script

* Try to figure out if we're compatible with abi3

* See what we've already got installed

* Update the requirements.txt file I didn't know existed

* And here too

* See what's installed

* Let's try that again

* Remove

* Try to confirm version

* Let me see the generated code

* Fix non-Bazel test runner

* Work for all test directories

* Regenerate example protos

* Clean up

* Generate .pyi files

* Fix type checking and linting

* Exclude pyi files from isort

* Upgrade to 3.21.4

* Update iwyu to get around messy protobuf IWYU rules

Co-authored-by: Richard Belleville <gnossen@gmail.com>
2022-08-04 09:39:49 -07:00
Johnny Shields 34a66d9496
Ruby: Fixes for x64-mingw-ucrt (PR to master) (#30081)
* Fix Ruby Windows 3.1 (x64-mingw-ucrt) build:
- Pass-in CPPFLAG "GPR_WINDOWS_UCRT" to pickup correct shared object file.
- Rename intermediate legacy SO file from 'grpc_c.64.ruby' to 'grpc_c.64-msvcrt.ruby' for clarity.
- Add artifact target for Ruby x64-mingw-ucrt

* Change CPP flag name
2022-07-14 12:45:40 -07:00
Richard Belleville 0b4f95b352
Set Correct Platform Tag in Wheels on Mac OS with Python 3.10 (#29857)
* Attempt to set correct platform on Mac OS

* Add some debug

* Make it fail

* Print more

* Try again

* Maybe it's an ordering issue?

* Get logs back

* Try copying distutils to see exactly what is being used

* Actually export the variable

* I just love debugging with CI

* One directory higher this time

* Try with an upgraded Python install

* Fix version

* Rebreak

* Try setting it even earlier?

* Unbreak

* Try explicitly renaming the artifacts

* Fix

* I am about ready to start NAT hole punching for SSH

* Break things for logs

* Whoops

* Clean up

* Shellcheck
2022-06-15 14:35:49 -07:00
Esun Kim fd744e081d
Removed manylinux2010 python artifacts (#29734)
* Removed manylinux2010 python artifacts

* Fix

* Fix2

* Added cp37 to presubmit test for distribtest relying on cp37 artifacts
2022-05-20 08:54:33 -07:00
Esun Kim 03e9ac6f1f
Requiring C++14 (#29589) 2022-05-12 21:17:32 -07:00
apolcyn 409db4dd0f
Upgrade ruby rake-compiler-dock images (#29304)
* Upgrade rake-compiler-dock images
2022-05-11 13:58:45 -07:00
Jan Tattermusch e8404698d5
Remove C# implementation (individual packages will continue to be maintained through v2.46.x patches or moved to grpc-dotnet) (#29225)
* remove examples/csharp

* remove reference to examples/csharp

* remove C# references from doc/

* remove src/csharp

* update test_creds locations

* remove C# distribtests

* remove buildgen templates for files under src/csharp

* remove grpc_csharp_ext C build target

* regenerate projects

* update tools/run_tests/README.md

* change many C# test/build scripts to noop

* unbreak run_tests.py -l csharp

* unbreak C# build_package targets

* unbreak C# distribtests

* remove C# pre-build steps from prepare_build_windows.bat

* remove src/csharp from clang_format

* remove csharp and csharpcoreclr from run_interop_tests.py

* remove C# interop test docker images

* Revert "remove src/csharp"

This reverts commit 97f2b6d707.

* remove src/csharp, but keep Grpc.Tools

* add back templates/src/csharp/build/dependencies.props.template

* remove everything but Grpc.Tools and Grpc.Tools.Tests from sln

* Revert "unbreak run_tests.py -l csharp"

This reverts commit 529b5e2ec1.

* revive Grpc.Tools.Tests through run_tests.py

* Revert "unbreak C# build_package targets"

This reverts commit 79d8d83c8b.

* experiment with build_nuget.sh fixes

* simplify create_fake_native_artifacts.sh

* building of Grpc.Tools in package_targets.py

* move shared files from Grpc.Core to Grpc.Tools

* yapf format: distribtest_targets.py

* Revert "remove C# pre-build steps from prepare_build_windows.bat"

This reverts commit bd38956a2b.

* update C# README.md

* disable C# in gke OSS benchmarks
2022-04-28 12:00:34 +02:00
Jan Tattermusch 1bf8414630
build_and_run_docker.sh cleanup and simplification (#29468)
* unify DOCKER_TTY_ARGS in docker scripts

* improvements and cleanup in build_and_run_docker.sh

* fix shellcheck

* make sure python sdist artifact is readable
2022-04-22 06:02:18 +02:00
Lidi Zheng d76397480c
Remove Windows Python27 build support (#29364) 2022-04-11 12:55:59 -07:00
Lidi Zheng 997aae5cc4
Fix "twine"'s dependency "packaging" missing issue (#29360)
* Fix "twine"'s dependency "packaging" missing issue

* Use twine==3.8.0
2022-04-08 16:36:40 -07:00
Richard Belleville e53ea89bca
Add Python GCF Distribtest (#29303)
* Initial GCF distribtest

* Tenatively hook up to CI

* Try again

* Allow dev0 artifacts

* Fix invocation path

* Update gcloud

* Add a 3.8 artifact for presubmits

* And 3.9 too

* Put test files back to normal

* Formatting/linting

* Copyright

* That copyright script doesn't work with shebangs

* Review comments

* Try to create latest-manylinux label

* Accidentally a letter

* Add Python 3.7 manylinux 2014 to presubmit

* Revert CI config file used for test

* Review comments

* Yapf

* Re-add presubmit wheel

* Review comments
2022-04-07 11:51:07 -07:00
Jan Tattermusch 69bf041e9b
Try fix csharp macos distribtests (#29156)
* try fix csharp macos distribtests

* another attempt

* another fix attempt
2022-03-19 20:03:39 +01:00
Jan Tattermusch 409c732813
C# windows single-job distribtest (#29152)
* add windows grpc_distribtest_csharp

* add kokoro cfg files
2022-03-18 16:34:31 +01:00
Jan Tattermusch 83ccb0deed
add C# macos distribtest in a single job (#28614) 2022-03-18 06:26:38 +01:00
Jan Tattermusch a3be072605
Switch .py shebang to python3 (#28963)
* switch shebang to python3

* prepare_build_macos: install latest available patch for each python
2022-03-14 10:41:30 +01:00
Esun Kim 2a699b9a09
Removed jessie-based distribtest (#29029)
* Removed jessie-based distribtest

* Update by review
2022-03-08 08:13:13 -08:00
Lidi Zheng 33135abbee
Pin twine to 3.8.0 for Windows (#28991) 2022-03-01 15:38:37 -08:00
Jan Tattermusch 3c824b65a8
make protoc artifacts on windows with ninja (#28854) 2022-02-15 19:41:42 +01:00
Jan Tattermusch 9d73b3e85a
Use ninja for all grpc_csharp_ext builds on windows (#28841)
* cleanup C# win artifact build

* build C# basictests on win with ninja

* specify default parallelism for C# win artifact

* honor GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS in build_artifact_python.bat

* set --inner_jobs for windows grpc_build_artifact job

* fixup C# build picking env variables from C core build

* get rid of no longer needed NativeDependenciesConfiguration C# setting
2022-02-11 18:58:04 +01:00
Lidi Zheng cd4261b946
Support musllinux binary wheels on x64 and x86 (#28092)
* Support musllinux binary wheels

* Skip aarach64 for now
* Consolidate the difference of mktemp
* Extend linux artifact building time && install bash for distribtest
* Stop using grpc.tools, use grpc_tools
* Update the README to use grpc_tools
* Force static link libc++ for alpine binaries
* Rebase recent build script changes

* Install ccache for musllinux distribtest images

* Revert timeout change to grpc_build_artifacts
2022-02-10 14:14:56 -08:00
Jan Tattermusch c8c1774ec4
Revert "Revert "Cleanup run docker machinery in run_tests.py, task_runner.py and elsewhere (#28704)" (#28741)" (#28748)
* Revert "Revert "Cleanup run docker machinery in run_tests.py, task_runner.py and elsewhere (#28704)" (#28741)"

This reverts commit 9a79d44e9b.

* fix python distribtest failure on fedora34
2022-02-01 11:33:56 +01:00
Yash Tibrewal 9a79d44e9b
Revert "Cleanup run docker machinery in run_tests.py, task_runner.py and elsewhere (#28704)" (#28741)
This reverts commit be723121fc.
2022-01-28 11:42:12 -08:00
Jan Tattermusch be723121fc
Cleanup run docker machinery in run_tests.py, task_runner.py and elsewhere (#28704)
* attempt

* slim down build_docker_and_run_tests.sh

* HOST_GIT_ROOT is unused

* config and arch variable no need to propagate to run_tests.py

* unify unused LOCAL_GIT_ROOT to EXTERNAL_GIT_ROOT

* mounting gcloud config seems useless

* reorder docker args

* cleanup

* allow passing args to build_docker_and_run_tests.sh

* converge build_docker_and_run_tests.sh and build_and_run_docker.sh

* more convergence

* convergence of docker runners

* finalize convergence of run_docker scripts

* GRPC_TEST_REPORT_BASE_DIR might not exist

* adjust report copying

* make report_dir and output_dir readable

* alpine linux does not support cp -t
2022-01-28 11:46:36 +01:00
Jan Tattermusch 1289cdae2e
Upgrade PHP docker images to debian11 (#28701)
* upgrade PHP docker images to debian11

* regenerate dockerfiles

* adjust testrunners to php debian11 images
2022-01-27 06:45:52 +01:00
Jan Tattermusch ac139598f0
Upmerge 1.44.x branch into master (#28700)
* xDS: Rbac filter updates (#28568) (#28608)

* Bump version to v1.44.0-pre1 (on the release branch) (#28593)

* bump version to 1.44.0-pre1

* regenerate projects

* only apply "singleplatform" nuget suffix when actually needed (#28677)

* Bump version to 1.44.0-pre2 (#28681)

* bump version to 1.44.0-pre2

* regenerate projects

Co-authored-by: Yash Tibrewal <yashkt@google.com>
2022-01-26 18:13:48 +01:00
Jan Tattermusch 1cf6b085f2
Enable ccache in more builds (#28665)
* upgrade ruby docker images to debian 11

* upgrade C# docker images to debian11

* update sanity dockerimage to debian11

* upgrade cxx interop to debian11

* add ccache to python interop images

* enable use of ccache for interop tests

* adjust run_tests.py to new docker images

* add ccache to rake-compiler-dock docker images

* improve prepare_ccache_symlinks_rc

* enable use of ccache in rake-compiler-dock docker containers

* add ccache support for python_manylinux2014_aarch64

* add ccache support for python_linux_armv7

* deduplicate python3.9 install

* ccache for crosscompiled darwin gems is broken

* fix bash -l resetting of PATH in grpc_artifact_python_linux_armv7
2022-01-25 20:37:04 +01:00
Jan Tattermusch f23f1bb51f
Use ccache for selected C++ and python builds (with redis server as cache) (#28661)
* add cmake support for ccache

* cleanup: use --env-file for docker run invocations

* make python build compatible with using ccache

* enable building using ccache in selected kokoro jobs

* print ccache stats and the end of run_tests.py
2022-01-25 19:18:58 +01:00
Jan Tattermusch fda6158600
Build ruby artifacts in parallel (#28243)
* build ruby artifacts in parallel

* fine tune grpc_distribtests_ruby.sh parallelism

* fine tune linux/grpc_build_artifacts.sh parallelism

* cleanup in bundle_install_wrapper

* address review comments
2022-01-19 18:28:27 +01:00
Jan Tattermusch 7924a5fde7
add task_runner.py --inner_jobs support for C++ distribtests (#28594)
* add support for task_runner.py --inner_jobs for C++ distribtests

* fine tune linux c++ distribtests parallelism

* yapf code
2022-01-18 18:45:13 +01:00