Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pare down cross-building configuration #147

Merged
merged 1 commit into from
Apr 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions .github/workflows/precompile-gem.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,16 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"
bundler-cache: true
- uses: actions/cache@v4
with:
path: ports/archives
key: archives-ubuntu-${{hashFiles('ext/re2/extconf.rb')}}
- run: |
docker run --rm -v "$(pwd):/re2" -w /re2 \
"ghcr.io/rake-compiler/rake-compiler-dock-image:1.5.0-mri-${{ inputs.platform }}" \
./scripts/test-gem-build gems ${{inputs.platform}}
key: archives-ubuntu-${{ hashFiles('ext/re2/extconf.rb') }}
- run: bundle exec rake gem:${{ inputs.platform }}
- uses: actions/upload-artifact@v4
with:
name: "cruby-${{inputs.platform}}-gem"
path: gems
name: "cruby-${{ inputs.platform }}-gem"
path: pkg/*.gem
123 changes: 76 additions & 47 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: re2 Tests

concurrency:
group: "${{github.workflow}}-${{github.sha}}"
group: "${{ github.workflow }}-${{ github.sha }}"
cancel-in-progress: true

on:
Expand All @@ -22,16 +22,16 @@ jobs:
- uses: actions/cache@v4
with:
path: ports/archives
key: archives-ubuntu-${{hashFiles('ext/re2/extconf.rb')}}
key: archives-ubuntu-${{ hashFiles('ext/re2/extconf.rb') }}
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"
bundler-cache: true
- run: ./scripts/test-gem-build gems ruby
- run: bundle exec rake gem
- uses: actions/upload-artifact@v4
with:
name: cruby-gem
path: gems
path: pkg/*.gem

precompile-aarch64-linux:
uses: ./.github/workflows/precompile-gem.yml
Expand Down Expand Up @@ -124,8 +124,10 @@ jobs:
- uses: actions/download-artifact@v4
with:
name: cruby-gem
path: gems
- run: ./scripts/test-gem-install gems --enable-system-libraries
path: pkg
- run: ./scripts/test-gem-install --enable-system-libraries
env:
BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle

test-ubuntu:
needs: "build-cruby-gem"
Expand All @@ -141,12 +143,14 @@ jobs:
with:
ruby-version: ${{ matrix.ruby }}
apt-get: libre2-dev
bundler-cache: true
- uses: actions/download-artifact@v4
with:
name: cruby-gem
path: gems
- run: ./scripts/test-gem-install gems --${{ matrix.sys }}-system-libraries
shell: bash
path: pkg
- run: ./scripts/test-gem-install --${{ matrix.sys }}-system-libraries
env:
BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle

test-macos:
needs: "build-cruby-gem"
Expand All @@ -162,12 +166,14 @@ jobs:
with:
ruby-version: ${{ matrix.ruby }}
brew: re2
bundler-cache: true
- uses: actions/download-artifact@v4
with:
name: cruby-gem
path: gems
- run: ./scripts/test-gem-install gems --${{ matrix.sys }}-system-libraries
shell: bash
path: pkg
- run: ./scripts/test-gem-install --${{ matrix.sys }}-system-libraries
env:
BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle

test-windows-2019:
needs: "build-cruby-gem"
Expand All @@ -183,12 +189,15 @@ jobs:
with:
ruby-version: ${{ matrix.ruby }}
mingw: re2
bundler-cache: true
- uses: actions/download-artifact@v4
with:
name: cruby-gem
path: gems
- run: ./scripts/test-gem-install gems --${{ matrix.sys }}-system-libraries
path: pkg
- run: ./scripts/test-gem-install --${{ matrix.sys }}-system-libraries
shell: bash
env:
BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle

test-windows-2022:
needs: "build-cruby-gem"
Expand All @@ -204,12 +213,15 @@ jobs:
with:
ruby-version: ${{ matrix.ruby }}
mingw: re2
bundler-cache: true
- uses: actions/download-artifact@v4
with:
name: cruby-gem
path: gems
- run: ./scripts/test-gem-install gems --${{ matrix.sys }}-system-libraries
path: pkg
- run: ./scripts/test-gem-install --${{ matrix.sys }}-system-libraries
shell: bash
env:
BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle

test-freebsd:
needs: "build-cruby-gem"
Expand All @@ -223,13 +235,13 @@ jobs:
- uses: actions/download-artifact@v4
with:
name: cruby-gem
path: gems
path: pkg
- uses: vmactions/freebsd-vm@v1
with:
usesh: true
copyback: false
prepare: pkg install -y ruby devel/ruby-gems sysutils/rubygem-bundler devel/pkgconf devel/cmake shells/bash devel/re2
run: ./scripts/test-gem-install gems --${{ matrix.sys }}-system-libraries
run: ./scripts/test-gem-install --${{ matrix.sys }}-system-libraries

test-vendored-and-system:
needs: "build-cruby-gem"
Expand All @@ -246,10 +258,12 @@ jobs:
- uses: actions/download-artifact@v4
with:
name: cruby-gem
path: gems
path: pkg
- name: "Link libre2 into Ruby's lib directory"
run: ln -s /usr/lib/x86_64-linux-gnu/libre2.so ${{ steps.setup-ruby.outputs.ruby-prefix }}/lib/libre2.so
- run: ./scripts/test-gem-install gems
- run: ./scripts/test-gem-install
env:
BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle

test-precompiled-aarch64-linux:
needs: "precompile-aarch64-linux"
Expand All @@ -263,14 +277,14 @@ jobs:
- uses: actions/download-artifact@v4
with:
name: cruby-aarch64-linux-gem
path: gems
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):/re2" -w /re2 \
--platform=linux/arm64/v8 \
ruby:${{matrix.ruby}} \
./scripts/test-gem-install ./gems
ruby:${{ matrix.ruby }} \
./scripts/test-gem-install

test-precompiled-arm-linux:
needs: "precompile-arm-linux"
Expand All @@ -284,14 +298,14 @@ jobs:
- uses: actions/download-artifact@v4
with:
name: cruby-arm-linux-gem
path: gems
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):/re2" -w /re2 \
--platform=linux/arm/v7 \
ruby:${{matrix.ruby}} \
./scripts/test-gem-install ./gems
ruby:${{ matrix.ruby }} \
./scripts/test-gem-install

test-precompiled-x86-linux:
needs: "precompile-x86-linux"
Expand All @@ -305,14 +319,14 @@ jobs:
- uses: actions/download-artifact@v4
with:
name: cruby-x86-linux-gem
path: gems
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):/re2" -w /re2 \
--platform=linux/386 \
ruby:${{matrix.ruby}} \
./scripts/test-gem-install ./gems
ruby:${{ matrix.ruby }} \
./scripts/test-gem-install

test-precompiled-x86_64-linux:
needs: "precompile-x86_64-linux"
Expand All @@ -325,12 +339,15 @@ jobs:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: "${{matrix.ruby}}"
ruby-version: "${{ matrix.ruby }}"
bundler-cache: true
- uses: actions/download-artifact@v4
with:
name: cruby-x86_64-linux-gem
path: gems
- run: ./scripts/test-gem-install gems
path: pkg
- run: ./scripts/test-gem-install
env:
BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle

test-precompiled-arm64-darwin:
needs: "precompile-arm64-darwin"
Expand All @@ -343,12 +360,15 @@ jobs:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: "${{matrix.ruby}}"
ruby-version: "${{ matrix.ruby }}"
bundler-cache: true
- uses: actions/download-artifact@v4
with:
name: cruby-arm64-darwin-gem
path: gems
- run: ./scripts/test-gem-install gems
path: pkg
- run: ./scripts/test-gem-install
env:
BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle

test-precompiled-x86_64-darwin:
needs: "precompile-x86_64-darwin"
Expand All @@ -361,12 +381,15 @@ jobs:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: "${{matrix.ruby}}"
ruby-version: "${{ matrix.ruby }}"
bundler-cache: true
- uses: actions/download-artifact@v4
with:
name: cruby-x86_64-darwin-gem
path: gems
- run: ./scripts/test-gem-install gems
path: pkg
- run: ./scripts/test-gem-install
env:
BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle

test-precompiled-x64-mingw-ucrt:
needs: "precompile-x64-mingw-ucrt"
Expand All @@ -379,13 +402,16 @@ jobs:
- uses: actions/checkout@v4
- uses: MSP-Greg/setup-ruby-pkgs@v1
with:
ruby-version: "${{matrix.ruby}}"
ruby-version: "${{ matrix.ruby }}"
bundler-cache: true
- uses: actions/download-artifact@v4
with:
name: cruby-x64-mingw-ucrt-gem
path: gems
- run: ./scripts/test-gem-install gems
path: pkg
- run: ./scripts/test-gem-install
shell: bash
env:
BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle

test-precompiled-x64-mingw32:
needs: "precompile-x64-mingw32"
Expand All @@ -398,13 +424,16 @@ jobs:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: "${{matrix.ruby}}"
ruby-version: "${{ matrix.ruby }}"
bundler-cache: true
- uses: actions/download-artifact@v4
with:
name: cruby-x64-mingw32-gem
path: gems
- run: ./scripts/test-gem-install gems
path: pkg
- run: ./scripts/test-gem-install
shell: bash
env:
BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle

test-precompiled-x86_64-alpine:
needs: "precompile-x86_64-linux"
Expand All @@ -414,12 +443,12 @@ jobs:
ruby: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3"]
runs-on: ubuntu-latest
container:
image: "ruby:${{matrix.ruby}}-alpine"
image: "ruby:${{ matrix.ruby }}-alpine"
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: cruby-x86_64-linux-gem
path: gems
path: pkg
- run: apk add bash libstdc++ gcompat
- run: ./scripts/test-gem-install gems
- run: ./scripts/test-gem-install
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ tmp
doc
Gemfile.lock
ports/
pkg/
Loading