Commit graph

25 commits

Author SHA1 Message Date
Stan Hu
cf8a8a3ceb
Add Ruby 3.1.5 patch for older libffi versions
Due to https://bugs.ruby-lang.org/issues/20451, Ruby 3.1.5 does
not compile on systems with older versions of libffi.

This patch brings in https://github.com/ruby/ruby/pull/10696.
2024-05-08 11:39:14 -07:00
Stan Hu
b9cd110ec0
Update to Ruby 3.1.5 and 3.2.4
This fixes a number of CVEs a bugs:

* https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-1-5-released/
* https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/

This will also enable us to update to Puma 6.4.2
since https://bugs.ruby-lang.org/issues/19837 has been resolved
in Ruby 3.1.5.

This drops the `fix-ruby-xfree-for-libxml2.patch` patch for Ruby 3.1.5
since the change has been merged upstream.
2024-05-08 08:35:47 -07:00
Stan Hu
d44e49909a
Update to Ruby 3.2.3
Drop `fix-ruby-xfree-for-libxml2.patch` since this now ships with
Ruby 3.2.3. This matches the change in
https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/7364.

This is needed to make Omnibus builds work:
https://gitlab.com/gitlab-org/gitlab/-/issues/438816
2024-03-07 09:46:55 -08:00
Stan Hu
d95e4efae8
Add Ruby patch for https://bugs.ruby-lang.org/issues/19580
This fixes seg faults seen after tests finish running. This pulls in
an upstream fix for Nokogiri/libxml2:
https://github.com/ruby/ruby/pull/7663.

These patches can be dropped once Nokogiri v1.15 is available and
`NOKOGIRI_LIBXML_MEMORY_MANAGEMENT=default` is set in CI.

See https://gitlab.com/gitlab-org/gitlab/-/issues/390313#note_1342807685
for more details.
2023-04-13 12:05:02 -07:00
DJ Mountney
e48a60a78d Add exiftool as a component tool for workhorse 2023-04-07 01:02:09 +00:00
Stan Hu
a8f2113955
Add Ruby 3.1 to build
Ruby 3.2 contains a number of kwargs fixes, and Rails 7 may be a
prerequisite for Ruby 3.2. We'll want to test and deploy Ruby 3.1
before jumping to 3.2.

Ruby 3.1 requires at least rubygems v3.1.3. Let's just bump
everything to 3.4, and consolidate the Ruby 3.2 build.
2023-03-08 14:12:00 -08:00
Stan Hu
bc3223ac21
Add Ruby 3.2.0 images
This will be used to see how much effort it would be to
jump to Ruby 3.2.0 and to see what performance improvements
we might see with YJIT.
2023-01-18 14:01:53 -08:00
Matthias Käppler
b9bddb9b12 Verify mandatory Ruby patches exist 2022-11-30 16:44:38 +00:00
Stan Hu
88901ea9ff
Consolidated Ruby patches using major and minor versions
Previously we had to remember to apply specific patches for each
version of Ruby, and it was easy to forget. Let's just simplify this
by applying patches for the major and minor versions (e.g. 2.7, 3.0,
etc.).
2022-11-29 14:49:23 -08:00
Thong Kuah
6aa8b6f048 Apply 2.7.7 patches 2022-11-30 09:43:43 +13:00
Stan Hu
1cbdc1dc24 Add patches for Ruby 2.7.6 2022-05-19 20:57:43 +00:00
Matthias Käppler
842598cb63 Bump Ruby 3 images to 3.0.4 2022-05-13 16:50:13 +00:00
Matthias Käppler
aa5be09409 Revert "Apply object tracing mark patch from upstream Ruby" 2022-01-25 09:09:57 +00:00
Matthias Käppler
5c40e913a9 Apply object tracing mark patch from upstream Ruby 2022-01-24 08:22:19 +00:00
Stan Hu
012bc5654a
Add Ruby patch to test GC issues with object tracing enabled
It's possible we just need a `RB_GC_GUARD` to prevent `obj` from being
prematurely freed by the garbage collector. This is test out
https://github.com/ruby/ruby/pull/5470/files.

Part of https://gitlab.com/gitlab-org/gitlab/-/issues/350296
2022-01-19 11:37:36 -08:00
Stan Hu
b90f2f9d79
Fix gsutil rsync supported args
This fixes a problem with -x <args> no longer worked. Seen in
https://gitlab.com/gitlab-com/www-gitlab-com/-/jobs/1946099171.
2022-01-05 20:20:54 -08:00
Stan Hu
519554013c
Add custom www-gitlab-com image with patched gsutil rsync command
Currently the `gsutil rsync` command does not support the `-z` or `-Z`
options available in `gsutil cp` to compress files locally via gzip
before uploading
(https://github.com/GoogleCloudPlatform/gsutil/issues/579). As
https://cloud.google.com/storage/docs/gsutil/commands/cp states:

When you specify the -z option, the data from your files is
compressed before it is uploaded, but your actual files are left
uncompressed on the local disk. The uploaded objects retain the
Content-Type and name of the original files, but have their
Content-Encoding metadata set to gzip to indicate that the object data
stored are compressed on the Cloud Storage servers and have their
Cache-Control metadata set to no-transform.

about.gitlab.com is currently serving uncompressed HTML files because
`Cache-Control: max-age=0` is set (see
https://gitlab.com/gitlab-com/www-gitlab-com/-/merge_requests/87045),
and Fastly has a custom rule to skip HTML files and therefore won't
cache them.

This patches the `rsync.py` using
https://github.com/GoogleCloudPlatform/gsutil/pull/1430 to support these
command-line options so local gzip compression can be performed.

Relates to
https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/14852
2022-01-05 08:37:26 -08:00
Stan Hu
ef05340775
Add Ruby 2.7.5 patches 2021-12-04 08:11:19 -08:00
Matthias Käppler
88d8ef2879 Update Ruby 3 images to 3.0.3 2021-11-25 08:21:32 +00:00
Matthias Kaeppler
19cbe92aa9 Pin ruby-2.7.2 image, add ruby-2.7
The ruby-2.7 tags will always contain the latest
patch released for that minor version.

This allows us to ship patches more easily but
retains backwards compatibility with existing
repos asking for 2.7.2.
2021-08-18 11:46:43 +02:00
Matthias Kaeppler
c87c1d58bf Add Ruby 3.0.2 patches to fix method override bug
These patches are necessary to fix https://bugs.ruby-lang.org/issues/17725
which is unreleased.

This is currently breaking our Ruby 3 build, so until 3.0.3 is out
let's apply these independently.
2021-08-12 15:31:46 +02:00
Matthias Kaeppler
ee30123fab Fix patches not applied to Ruby 3 build image
Since RUBY_VERSION expands to 3.0.2, and since
we look for patches in a director of the same
name, no patches were applied from the 3.0.0
directory.
2021-08-06 14:11:25 +02:00
Stan Hu
8c7986e6af
Add patch to debug seg faults
This is a temporary patch to investigate
https://gitlab.com/gitlab-org/gitlab/-/issues/326348.
2021-04-20 16:23:40 -07:00
Kamil Trzciński
f0bf9d8f0c Fix support for Ruby versions 2021-02-01 17:45:17 +01:00
Kamil Trzciński
0b0a3b745a Add missing patch 2021-02-01 14:20:17 +01:00