Skip to content

Commit

Permalink
breaking change: dropping support for 32-bit linux
Browse files Browse the repository at this point in the history
As part of #122 and adopting the pypa wheel images, we also must
embrace their support matrix which does not include 32-bit linux as of
manylinux_2_28. See https://github.com/pypa/manylinux for more information.
  • Loading branch information
flavorjones committed Jul 27, 2024
1 parent 7ffb5ed commit e5197f6
Show file tree
Hide file tree
Showing 10 changed files with 16 additions and 55 deletions.
13 changes: 0 additions & 13 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,6 @@ jobs:
static: true
- platform: x64-mingw32
static: true
- platform: x86-linux-gnu
alias: x86-linux
- platform: x86-linux-musl
- platform: x86-mingw32
- platform: x86_64-darwin
- platform: x86_64-linux-gnu
Expand Down Expand Up @@ -207,9 +204,6 @@ jobs:
- arm-linux
- arm-linux-gnu
- arm-linux-musl
- x86-linux
- x86-linux-gnu
- x86-linux-musl
- x86_64-linux
- x86_64-linux-gnu
- x86_64-linux-musl
Expand All @@ -223,7 +217,6 @@ jobs:
# declare docker image for each platform
- { platform: aarch64-linux-musl, docker_tag: "-alpine" }
- { platform: arm-linux-musl, docker_tag: "-alpine" }
- { platform: x86-linux-musl, docker_tag: "-alpine" }
- { platform: x86_64-linux-musl, docker_tag: "-alpine" }
# declare docker platform for each platform
- { platform: aarch64-linux, docker_platform: "--platform=linux/arm64" }
Expand All @@ -232,9 +225,6 @@ jobs:
- { platform: arm-linux, docker_platform: "--platform=linux/arm/v7" }
- { platform: arm-linux-gnu, docker_platform: "--platform=linux/arm/v7" }
- { platform: arm-linux-musl, docker_platform: "--platform=linux/arm/v7" }
- { platform: x86-linux, docker_platform: "--platform=linux/386" }
- { platform: x86-linux-gnu, docker_platform: "--platform=linux/386" }
- { platform: x86-linux-musl, docker_platform: "--platform=linux/386" }
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -390,9 +380,6 @@ jobs:
- from_image: arm64v8/ubuntu
platform: aarch64-linux # arm64v8 ships ruby 3.0, rubygems won't recognize -gnu suffix
dockerfile: debian
- from_image: i386/alpine
platform: x86-linux-musl
dockerfile: alpine
- from_image: arm32v6/alpine
platform: arm-linux-musl
dockerfile: alpine
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/publish-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@ jobs:
- jruby
- x64-mingw-ucrt
- x64-mingw32
- x86-linux-gnu
- x86-linux-musl
- x86-mingw32
- x86_64-darwin
- x86_64-linux-gnu
Expand Down
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
/Dockerfile.mri.arm64-darwin
/Dockerfile.mri.x64-mingw-ucrt
/Dockerfile.mri.x64-mingw32
/Dockerfile.mri.x86-linux-gnu
/Dockerfile.mri.x86-linux-musl
/Dockerfile.mri.x86-mingw32
/Dockerfile.mri.x86_64-darwin
/Dockerfile.mri.x86_64-linux-gnu
Expand Down
7 changes: 0 additions & 7 deletions Dockerfile.mri.erb
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<%
image = case platform
when /x86_64-linux-gnu/ then "quay.io/pypa/manylinux2014_x86_64"
when /x86-linux-gnu/ then "quay.io/pypa/manylinux2014_i686"
else "ubuntu:20.04"
end
manylinux = !!(image =~ /manylinux/)
Expand Down Expand Up @@ -79,12 +78,6 @@ if platform =~ /x64-mingw32/ %> gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 <% e
rm -rf /var/lib/apt/lists/*
<% end %>
<% if manylinux %>
# Create dev tools x86-linux-*
COPY build/mk_i686.rb /root/
RUN /root/mk_i686.rb
<% end %>
<% if platform =~ /darwin/ %>
COPY build/mk_osxcross.sh /tmp
RUN /tmp/mk_osxcross.sh
Expand Down
11 changes: 11 additions & 0 deletions History.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# `rake-compiler/rake-compiler-dock` Changelog

## next / unreleased

### Notable changes

#### Standardizing linux build images around the pypa project

See https://github.com/rake-compiler/rake-compiler-dock/issues/122

- Dropping support for 32-bit linux


## 1.5.1 / 2024-06-03

### Improvements
Expand Down
6 changes: 1 addition & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ The following platforms are supported for cross-compilation by rake-compiler-doc
- `jruby`
- `x64-mingw-ucrt`
- `x64-mingw32`
- `x86-linux` and `x86-linux-gnu`
- `x86-linux-musl`
- `x86-mingw32`
- `x86_64-darwin`
- `x86_64-linux` and `x86_64-linux-gnu`
Expand Down Expand Up @@ -106,7 +104,7 @@ Your Rakefile should enable cross compilation like so:
```ruby
exttask = Rake::ExtensionTask.new('my_extension', my_gem_spec) do |ext|
ext.cross_compile = true
ext.cross_platform = %w[x86-mingw32 x64-mingw-ucrt x64-mingw32 x86-linux x86_64-linux x86_64-darwin arm64-darwin]
ext.cross_platform = %w[x86-mingw32 x64-mingw-ucrt x64-mingw32 x86_64-linux x86_64-darwin arm64-darwin]
end
```

Expand Down Expand Up @@ -198,8 +196,6 @@ PLATFORMS = %w[
arm64-darwin
x64-mingw-ucrt
x64-mingw32
x86-linux-gnu
x86-linux-musl
x86-mingw32
x86_64-darwin
x86_64-linux-gnu
Expand Down
2 changes: 0 additions & 2 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ platforms = [
["arm64-darwin", "aarch64-apple-darwin"],
["x64-mingw-ucrt", "x86_64-w64-mingw32"],
["x64-mingw32", "x86_64-w64-mingw32"],
["x86-linux-gnu", "i686-redhat-linux-gnu"],
["x86-linux-musl", "i686-unknown-linux-musl"],
["x86-mingw32", "i686-w64-mingw32"],
["x86_64-darwin", "x86_64-apple-darwin"],
["x86_64-linux-gnu", "x86_64-redhat-linux-gnu"],
Expand Down
18 changes: 0 additions & 18 deletions build/mk_i686.rb

This file was deleted.

7 changes: 4 additions & 3 deletions lib/rake_compiler_dock.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,12 @@ module RakeCompilerDock
#
# Option +:platform+ can be set to a list of space separated values.
# It selects the docker image(s) with an appropriate toolchain.
# Allowed values are +aarch64-linux-gnu+, +arm-linux-gnu+, +arm64-darwin+, +x64-mingw-ucrt+,
# +x64-mingw32+, +x86-linux-gnu+, +x86-mingw32+, +x86_64-darwin+, +x86_64-linux-gnu+.
# Allowed values are +aarch64-linux-gnu+, +aarch64-linux-msul+, +arm-linux-gnu+, +arm-linux-musl+,
# +arm64-darwin+, +x64-mingw-ucrt+, +x64-mingw32+, +x86-mingw32+, +x86_64-darwin+,
# +x86_64-linux-gnu+, +x86_64-linux-musl+.
# If the list contains multiple values, +cmd+ is consecutively executed in each of the docker images,
# Option +:platform+ is ignored when +:rubyvm+ is set to +:jruby+.
# Default is "x86-mingw32 x64-mingw32" .
# Default is "x86-mingw32 x64-mingw32".
#
# Examples:
#
Expand Down
3 changes: 0 additions & 3 deletions test/rcd_test/Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,6 @@ else
arm64-darwin
x64-mingw-ucrt
x64-mingw32
x86-linux
x86-linux-gnu
x86-linux-musl
x86-mingw32
x86_64-darwin
x86_64-linux
Expand Down

0 comments on commit e5197f6

Please sign in to comment.