Require Ruby 2.7 #150
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: re2 Tests | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
test: | |
name: Ruby ${{ matrix.ruby }} - libre2 ABI version ${{ matrix.libre2.soname }} | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
ruby: | |
- '3.2' | |
- '3.1' | |
- '3.0' | |
- 2.7 | |
libre2: | |
- version: "20150501" | |
soname: 0 | |
- version: "20200302" | |
soname: 1 | |
- version: "20200303" | |
soname: 6 | |
- version: "20200501" | |
soname: 7 | |
- version: "20200706" | |
soname: 8 | |
- version: "20201101" | |
soname: 9 | |
- version: "20221201" | |
soname: 10 | |
- version: "20230701" | |
soname: 11 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Remove any existing libre2 installation | |
run: sudo apt-get remove -y libre2-dev libre2-5 | |
- name: Install Abseil for newer re2 releases | |
run: | | |
sudo apt-get install -y software-properties-common | |
sudo add-apt-repository ppa:savoury1/build-tools | |
sudo apt-get install -y libabsl-dev | |
- name: Download and install specific release of libre2 | |
run: | | |
curl -Lo libre2-dev.deb https://github.com/mudge/re2-ci/releases/download/v2/libre2-dev_${{ matrix.libre2.version }}_amd64.deb | |
sudo dpkg -i libre2-dev.deb | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "${{ matrix.ruby }}" | |
bundler-cache: true | |
- run: bundle exec rake compile -- --enable-system-libraries | |
- run: bundle exec rake | |
vendor: | |
name: Ruby ${{ matrix.ruby }} - vendored libre2 and abseil | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
ruby: | |
- '3.2' | |
- '3.1' | |
- '3.0' | |
- 2.7 | |
- 2.6 | |
- 2.5 | |
- 2.4 | |
- 2.3 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install build dependencies | |
run: | | |
sudo apt-get install -y build-essential cmake | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "${{ matrix.ruby }}" | |
bundler-cache: true | |
- name: Configure Bundler for Ruby dependencies | |
run: bundle config --local path vendor/bundle | |
- name: Generate Gemfile.lock | |
run: bundle lock | |
- name: Cache Ruby dependencies | |
uses: actions/cache@v3 | |
with: | |
path: vendor/bundle | |
key: gems-v1-${{ runner.os }}-${{ matrix.ruby }}-${{ hashFiles('Gemfile.lock') }} | |
- run: bundle install --jobs 4 | |
- run: bundle exec rake compile -- --disable-system-libraries | |
- run: bundle exec rake |