Commit Graph

34 Commits

Author SHA1 Message Date
Esun Kim e510ff89aa [CI] Rebuilt docker images (#36329)
Rebuilt all test docker images to get them up-to-dated, expecting they've got more security fixes.

Closes #36329

PiperOrigin-RevId: 623884120
2024-04-11 11:27:03 -07:00
Chad Wilson 43d2b28e02 [ruby] Build/test ruby 3.3 and build native gems with Ruby 3.3 support (#35399)
Updates ruby-compiler-dock to 1.4.0 which brings Ruby 3.3 final support per https://github.com/rake-compiler/rake-compiler-dock/releases/tag/1.4.0 and starts cross-compiling for ruby 3.3.

I can't find obviously where the test infrastructure configuration is to run the tests under Ruby 3.3, so might need pointers or an accompanying PR for the test infra. (I note #31991 from @apolcyn so perhaps currently they are not run against newer versions)

Fixes #35396

- Backport to `1.60` is desirable since currently the Ruby gems cannot be installed with Ruby 3.3 and have to be built from source.

Closes #35399

PiperOrigin-RevId: 599200628
2024-01-17 09:37:18 -08:00
apolcyn 36af323673
[ruby] create debug symbol packages (#34632)
Introduce `grpc-native-debug` gems containing debug symbol packages that
complement the shared libraries shipped in pre-compiled binary gems.

src/ruby/nativedebug/README.md has details on usage.
2023-10-17 10:45:08 -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
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
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
Jan Tattermusch ed39634fe8
Move docker images from dockerhub to artifact registry. (#31591)
* push_testing_images.sh overhaul

* simplify dockerize scripts

* update run_in_docker.sh script

* add generated .current_version files for docker images

* improvements to push_testing_images.sh

* add local-only check for push_testing_images.sh to sanity tests

* fix sanity check

* add expiration for TRANSFER_FROM_DOCKERHUB

* add a readme file
2022-11-17 10:12:39 +01: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
Johnny Shields 6d33399d1e
Support for prebuilt Ruby binary on x64-mingw-ucrt platform (#29684)
* Add support for prebuilt Ruby binary on x64-mingw-ucrt platform, which is used for Windows RubyInstaller Ruby 3.1+
2022-05-31 08:33:27 -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 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
Mike Dalessio 2530c73d44
ruby: support "arm64-darwin" platform native gem (#25992)
Related to:

- #25755
- #25794
2021-10-28 18:39:39 +02:00
Mike Dalessio 3181f4e530
ruby: build native Darwin gems using rake-compiler-dock (#25794)
* ruby: use squiggly heredoc for rake-compiler-dock commands

* ruby: use `bundler exec` when building native gems

* ruby: clean .{bundle,so} from src/ruby/lib when building native gems

Failing to remove these files between native builds leads
rake-compiler to establish circular dependencies (which may be a bug
in rake-compiler, but this feels like an easy and good thing to do,
anyway).

* ruby: extract linux and darwin RUBY_PLATFORM checks into variables

There were already "windows" and "bsd" flags, so let's improve
consistency and readability, and set a clear pattern for subsequent
flags.

* ruby: rely on rake-compiler-dock v1.1.0 to set no_native correctly

As of v1.1.0 there's no need to set this explicitly anymore; it will
be true whenever the extension is being built in a RCD container.

See https://github.com/rake-compiler/rake-compiler-dock/commit/362890d

* ruby: add "x86_64-darwin" platform gem

Using RCD for this platform unifies the Darwin native gem build
process with the Linux native gems, which should help avoid
inconsistencies in packaging that result in issues like the missing
Ruby 3.0 binaries in #25060.

Please note that this change leaves the "universal-darwin" platform
native gem untouched, but provides a path forward if the project ever
decides to drop "universal" binary support.

Related to:

- #25429
- #25756
2021-10-19 09:20:24 +02:00
Alexander Polcyn 74693fa1d8 Add ruby 3.0 to build matrix; upgrade rake-compiler-docker image to 1.1.0 2020-12-29 15:58:20 -08:00
Alexander Polcyn 1c8e28dcd2 Revert "Manylinux2010-based Ruby images"
This reverts commit bec51c0175.
2020-12-29 15:56:36 -08:00
Esun Kim bec51c0175 Manylinux2010-based Ruby images 2020-07-16 14:37:25 -07:00
Esun Kim bfa1ca968c Add gRPC-specific docker images for Ruby build 2020-07-07 09:54:44 -07:00
Lars Kanis 4c667476a0 Add ruby-2.7 to build process of binary gems for Windows and Linux
With rake-compiler-dock-1.0.1 there's no need to use a derived Dockerfile.
The standard RCD image can be used instead.
The only issue is with conflicting declarations of gettimeofday(), which can be easily worked around by patching win32.h before the build.

Fixes #21514
2020-02-16 21:25:38 +01:00
Esun Kim c4f80b8c87 Update ruby docker image to use pthread for win32 2019-11-27 10:39:31 -08:00
Esun Kim adf862aa5a Updated ruby build docker image 2019-10-23 11:58:40 -07:00
Alexander Polcyn 67f523ce13 Add support for ruby 2.6.0 binary package builds, drop 2.1 and 2.0
binary package builds; pin bundler to 1.17.3 where necessary
2019-01-03 18:08:05 +00:00
Alexander Polcyn 8065a5e73c Use rake-compiler-dock's Dockerfile as a base in grpc's fork of it 2018-01-08 13:27:20 -08:00
Alexander Polcyn c45d672439 remove unnecessary libssl-dev installation 2017-09-09 16:32:49 +02:00
Alexander Polcyn 74a4d5ad58 update mingw gcc on docker file 2017-09-09 16:32:48 +02:00
Ken Payson f8d6fb7a94 Update boringssl 2017-06-15 17:35:58 -07:00
Alexander Polcyn 299fa6ee02 revert update of rake-compiler for lack of effect 2017-01-30 19:27:50 +01:00
Alexander Polcyn a1fa5a3381 fix missing static ruby lib on 2.4.0 2017-01-30 19:27:39 +01:00
Alexander Polcyn 1b587f1705 update rake-compiler Dockerfile to build for ruby 2.4.0 2017-01-30 19:24:02 +01:00
Nicolas "Pixel" Noble ca144fd1e8 Fixing Ruby binary build (again). 2016-02-10 09:28:18 +01:00
Nicolas "Pixel" Noble da46a701c4 2.1.6 doesn't work on MacOS (wheee...) 2016-02-06 01:52:02 +01:00
Nicolas "Pixel" Noble 5219c6d8e8 Properly compiling distributable native gems. 2016-02-05 22:40:59 +01:00
Nicolas "Pixel" Noble 09ac0a46f4 Building the grpc DLLs. 2016-01-31 09:24:11 +01:00
Nicolas "Pixel" Noble 2283ff6638 Fixing dll hell. 2016-01-29 06:49:46 +01:00
Nicolas "Pixel" Noble cb287a11df Allowing for creation of pre-compiled gems, using rack-compiler-dock. 2016-01-28 09:35:41 +01:00