Skip to content

Commit

Permalink
Merge pull request #10 from mudge/ruby-3.4
Browse files Browse the repository at this point in the history
Compile for Ruby 3.4.0-rc1
  • Loading branch information
mudge authored Dec 16, 2024
2 parents e08609b + 6f7b4a2 commit 9ad34f3
Show file tree
Hide file tree
Showing 5 changed files with 151 additions and 73 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/precompile-gem.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"
ruby-version: "3.4.0-rc1"
bundler-cache: true
- run: bundle exec rake gem:${{ inputs.platform }}
- uses: actions/upload-artifact@v4
Expand Down
199 changes: 137 additions & 62 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"
ruby-version: "3.4.0-rc1"
bundler-cache: true
- run: bundle exec rake gem
- uses: actions/upload-artifact@v4
Expand All @@ -37,33 +37,53 @@ jobs:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"
ruby-version: "3.4.0-rc1"
bundler-cache: true
- run: bundle exec rake java:gem
- uses: actions/upload-artifact@v4
with:
name: jruby-gem
path: pkg/*.gem

precompile-aarch64-linux:
precompile-aarch64-linux-gnu:
uses: ./.github/workflows/precompile-gem.yml
with:
platform: aarch64-linux
platform: aarch64-linux-gnu

precompile-arm-linux:
precompile-aarch64-linux-musl:
uses: ./.github/workflows/precompile-gem.yml
with:
platform: arm-linux
platform: aarch64-linux-musl

precompile-x86-linux:
precompile-arm-linux-gnu:
uses: ./.github/workflows/precompile-gem.yml
with:
platform: x86-linux
platform: arm-linux-gnu

precompile-x86_64-linux:
precompile-arm-linux-musl:
uses: ./.github/workflows/precompile-gem.yml
with:
platform: x86_64-linux
platform: arm-linux-musl

precompile-x86-linux-gnu:
uses: ./.github/workflows/precompile-gem.yml
with:
platform: x86-linux-gnu

precompile-x86-linux-musl:
uses: ./.github/workflows/precompile-gem.yml
with:
platform: x86-linux-musl

precompile-x86_64-linux-gnu:
uses: ./.github/workflows/precompile-gem.yml
with:
platform: x86_64-linux-gnu

precompile-x86_64-linux-musl:
uses: ./.github/workflows/precompile-gem.yml
with:
platform: x86_64-linux-musl

precompile-arm64-darwin:
uses: ./.github/workflows/precompile-gem.yml
Expand Down Expand Up @@ -95,7 +115,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ruby: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4", "truffleruby"]
ruby: ["3.0", "3.1", "3.2", "3.3", "3.4.0-rc1", "truffleruby"]
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@v4
Expand All @@ -116,7 +136,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ruby: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4"]
ruby: ["3.0", "3.1", "3.2", "3.3", "3.4.0-rc1"]
runs-on: "macos-13"
steps:
- uses: actions/checkout@v4
Expand All @@ -134,16 +154,12 @@ jobs:

test-windows-2019:
needs: "build-cruby-gem"
strategy:
fail-fast: false
matrix:
ruby: ["2.6", "2.7", "3.0"]
runs-on: "windows-2019"
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
ruby-version: "3.0"
bundler-cache: true
- uses: actions/download-artifact@v4
with:
Expand All @@ -159,7 +175,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ruby: ["3.1", "3.2", "3.3"]
ruby: ["3.1", "3.2", "3.3", "head"]
runs-on: "windows-2022"
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -197,39 +213,60 @@ jobs:
prepare: pkg install -y ruby devel/ruby-gems sysutils/rubygem-bundler shells/bash devel/gmake
run: ./scripts/test-gem-install

test-precompiled-aarch64-linux:
needs: "precompile-aarch64-linux"
test-precompiled-aarch64-linux-gnu:
needs: "precompile-aarch64-linux-gnu"
strategy:
fail-fast: false
matrix:
ruby: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3"]
ruby: ["3.0", "3.1", "3.2", "3.3", "3.4-rc"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: cruby-aarch64-linux-gem
name: cruby-aarch64-linux-gnu-gem
path: pkg
- name: Enable execution of multi-architecture containers by QEMU
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- run: |
docker run --rm -v "$(pwd):/argon2id" -w /argon2id \
--platform=linux/arm64/v8 \
--platform=linux/arm64 \
ruby:${{ matrix.ruby }} \
./scripts/test-gem-install
test-precompiled-arm-linux:
needs: "precompile-arm-linux"
test-precompiled-aarch64-linux-musl:
needs: "precompile-aarch64-linux-musl"
strategy:
fail-fast: false
matrix:
ruby: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3"]
ruby: ["3.0", "3.1", "3.2", "3.3", "3.4-rc"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: cruby-arm-linux-gem
name: cruby-aarch64-linux-musl-gem
path: pkg
- name: Enable execution of multi-architecture containers by QEMU
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- run: |
docker run --rm -v "$(pwd):/argon2id" -w /argon2id \
--platform=linux/arm64 \
ruby:${{ matrix.ruby }}-alpine \
sh -c "gem update --system && apk add bash && ./scripts/test-gem-install"
test-precompiled-arm-linux-gnu:
needs: "precompile-arm-linux-gnu"
strategy:
fail-fast: false
matrix:
ruby: ["3.0", "3.1", "3.2", "3.3", "3.4-rc"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: cruby-arm-linux-gnu-gem
path: pkg
- name: enable execution of multi-architecture containers by qemu
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Expand All @@ -239,18 +276,39 @@ jobs:
ruby:${{ matrix.ruby }} \
./scripts/test-gem-install
test-precompiled-x86-linux:
needs: "precompile-x86-linux"
test-precompiled-arm-linux-musl:
needs: "precompile-arm-linux-musl"
strategy:
fail-fast: false
matrix:
ruby: ["3.0", "3.1", "3.2", "3.3", "3.4-rc"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: cruby-arm-linux-musl-gem
path: pkg
- name: enable execution of multi-architecture containers by qemu
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- run: |
docker run --rm -v "$(pwd):/argon2id" -w /argon2id \
--platform=linux/arm/v7 \
ruby:${{ matrix.ruby }}-alpine \
sh -c "gem update --system && apk add bash && ./scripts/test-gem-install"
test-precompiled-x86-linux-gnu:
needs: "precompile-x86-linux-gnu"
strategy:
fail-fast: false
matrix:
ruby: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3"]
ruby: ["3.0", "3.1", "3.2", "3.3", "3.4-rc"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: cruby-x86-linux-gem
name: cruby-x86-linux-gnu-gem
path: pkg
- name: Enable execution of multi-architecture containers by QEMU
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Expand All @@ -260,12 +318,33 @@ jobs:
ruby:${{ matrix.ruby }} \
./scripts/test-gem-install
test-precompiled-x86_64-linux:
needs: "precompile-x86_64-linux"
test-precompiled-x86-linux-musl:
needs: "precompile-x86-linux-musl"
strategy:
fail-fast: false
matrix:
ruby: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3"]
ruby: ["3.0", "3.1", "3.2", "3.3", "3.4-rc"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: cruby-x86-linux-musl-gem
path: pkg
- name: Enable execution of multi-architecture containers by QEMU
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- run: |
docker run --rm -v "$(pwd):/argon2id" -w /argon2id \
--platform=linux/386 \
ruby:${{ matrix.ruby }}-alpine \
sh -c "gem update --system && apk add bash && ./scripts/test-gem-install"
test-precompiled-x86_64-linux-gnu:
needs: "precompile-x86_64-linux-gnu"
strategy:
fail-fast: false
matrix:
ruby: ["3.0", "3.1", "3.2", "3.3", "3.4.0-rc1"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -275,18 +354,36 @@ jobs:
bundler-cache: true
- uses: actions/download-artifact@v4
with:
name: cruby-x86_64-linux-gem
name: cruby-x86_64-linux-gnu-gem
path: pkg
- run: ./scripts/test-gem-install
env:
BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle

test-precompiled-x86_64-linux-musl:
needs: "precompile-x86_64-linux-musl"
strategy:
fail-fast: false
matrix:
ruby: ["3.0", "3.1", "3.2", "3.3", "3.4-rc"]
runs-on: ubuntu-latest
container:
image: "ruby:${{ matrix.ruby }}-alpine"
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: cruby-x86_64-linux-musl-gem
path: pkg
- run: apk add bash
- run: ./scripts/test-gem-install

test-precompiled-arm64-darwin:
needs: "precompile-arm64-darwin"
strategy:
fail-fast: false
matrix:
ruby: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3"]
ruby: ["3.0", "3.1", "3.2", "3.3", "3.4.0-rc1"]
runs-on: macos-14
steps:
- uses: actions/checkout@v4
Expand All @@ -307,7 +404,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ruby: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3"]
ruby: ["3.0", "3.1", "3.2", "3.3", "3.4.0-rc1"]
runs-on: macos-13
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -345,7 +442,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ruby: ["3.1", "3.2", "3.3"]
ruby: ["3.1", "3.2", "3.3", "head"]
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
Expand All @@ -364,16 +461,12 @@ jobs:

test-precompiled-x64-mingw32:
needs: "precompile-x64-mingw32"
strategy:
fail-fast: false
matrix:
ruby: ["2.6", "2.7", "3.0"]
runs-on: windows-2019
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: "${{ matrix.ruby }}"
ruby-version: "3.0"
bundler-cache: true
- uses: actions/download-artifact@v4
with:
Expand All @@ -384,24 +477,6 @@ jobs:
env:
BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle

test-precompiled-x86_64-alpine:
needs: "precompile-x86_64-linux"
strategy:
fail-fast: false
matrix:
ruby: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3"]
runs-on: ubuntu-latest
container:
image: "ruby:${{ matrix.ruby }}-alpine"
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: cruby-x86_64-linux-gem
path: pkg
- run: apk add bash libstdc++ gcompat
- run: ./scripts/test-gem-install

ruby-memcheck:
runs-on: "ubuntu-latest"
env:
Expand All @@ -410,7 +485,7 @@ jobs:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby-pkgs@v1
with:
ruby-version: "3.3"
ruby-version: "3.4.0-rc1"
apt-get: valgrind
bundler-cache: true
- run: bundle exec rake test:valgrind
Loading

0 comments on commit 9ad34f3

Please sign in to comment.