From 4a9f83008612b276d197cfd4fa3a46d56dae714f Mon Sep 17 00:00:00 2001 From: Geremia Taglialatela Date: Tue, 31 May 2022 19:21:14 +0200 Subject: [PATCH] Split legacy Ruby tests Old ruby versions are returning too much segmentation faults --- .github/workflows/legacy_ruby.yml | 86 ++++++++++++++++++++++++++++ .github/workflows/ruby.yml | 93 +------------------------------ README.md | 1 + 3 files changed, 88 insertions(+), 92 deletions(-) create mode 100644 .github/workflows/legacy_ruby.yml diff --git a/.github/workflows/legacy_ruby.yml b/.github/workflows/legacy_ruby.yml new file mode 100644 index 0000000..f3ff376 --- /dev/null +++ b/.github/workflows/legacy_ruby.yml @@ -0,0 +1,86 @@ +name: Legacy Ruby specs + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + test: + name: Legacy Ruby specs + runs-on: ubuntu-18.04 + + strategy: + matrix: + ruby-version: ['2.2.10', '2.3.8', '2.4.10', '2.5.9'] + gemfile: [am_3.2, am_4.0, am_4.1, am_4.2, am_5.0, am_5.1, am_5.2, am_6.0, am_6.1] + experimental: [false] + + include: + # Ruby 2.1.10 is not available on GitHub Actions' ubuntu-20.04 + # Ruby 2.1.9 returns segmentation faults, so this is marked as + # experimental + - ruby-version: '2.1.9' + gemfile: am_3.2 + experimental: true + - ruby-version: '2.1.9' + gemfile: am_4.0 + experimental: true + - ruby-version: '2.1.9' + gemfile: am_4.1 + experimental: true + - ruby-version: '2.1.9' + gemfile: am_4.2 + experimental: true + + exclude: + - ruby-version: '2.2.10' + gemfile: am_6.0 + - ruby-version: '2.2.10' + gemfile: am_6.1 + + - ruby-version: '2.3.8' + gemfile: am_4.0 + - ruby-version: '2.3.8' + gemfile: am_4.1 + - ruby-version: '2.3.8' + gemfile: am_6.0 + - ruby-version: '2.3.8' + gemfile: am_6.1 + + - ruby-version: '2.4.10' + gemfile: am_3.2 + - ruby-version: '2.4.10' + gemfile: am_4.0 + - ruby-version: '2.4.10' + gemfile: am_4.1 + - ruby-version: '2.4.10' + gemfile: am_6.0 + - ruby-version: '2.4.10' + gemfile: am_6.1 + + - ruby-version: '2.5.9' + gemfile: am_3.2 + - ruby-version: '2.5.9' + gemfile: am_4.0 + - ruby-version: '2.5.9' + gemfile: am_4.1 + - ruby-version: '2.5.9' + gemfile: am_4.2 + + env: + BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile + TEST_CONFIG: ./spec/config.github.yml + + continue-on-error: ${{ matrix.experimental }} + + steps: + - uses: actions/checkout@v2 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true + - name: Run specs + run: bundle exec rake spec diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index ce7e253..1e67550 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -14,93 +14,10 @@ jobs: strategy: matrix: ruby-version: ['2.6.10', '2.7.6', '3.0.4', '3.1.2'] - gemfile: [am_5.2, am_6.0, am_6.1, am_7.0] + gemfile: [am_6.0, am_6.1, am_7.0] experimental: [false] include: - # Ruby 2.1.10 is not available on GitHub Actions' ubuntu-20.04 - # Ruby 2.1.9 returns segmentation faults, so this is marked as - # experimental - - ruby-version: '2.1.9' - gemfile: am_3.2 - experimental: true - - ruby-version: '2.1.9' - gemfile: am_4.0 - experimental: true - - ruby-version: '2.1.9' - gemfile: am_4.1 - experimental: true - - ruby-version: '2.1.9' - gemfile: am_4.2 - experimental: true - - - ruby-version: '2.2.10' - gemfile: am_3.2 - experimental: false - - ruby-version: '2.2.10' - gemfile: am_4.0 - experimental: false - - ruby-version: '2.2.10' - gemfile: am_4.1 - experimental: false - - ruby-version: '2.2.10' - gemfile: am_4.2 - experimental: false - - ruby-version: '2.2.10' - gemfile: am_5.0 - experimental: false - - ruby-version: '2.2.10' - gemfile: am_5.1 - experimental: false - - ruby-version: '2.2.10' - gemfile: am_5.2 - experimental: false - - - ruby-version: '2.3.8' - gemfile: am_3.2 - experimental: false - - ruby-version: '2.3.8' - gemfile: am_4.2 - experimental: false - - ruby-version: '2.3.8' - gemfile: am_5.0 - experimental: false - - ruby-version: '2.3.8' - gemfile: am_5.1 - experimental: false - - ruby-version: '2.3.8' - gemfile: am_5.2 - experimental: false - - - ruby-version: '2.4.10' - gemfile: am_4.2 - experimental: false - - ruby-version: '2.4.10' - gemfile: am_5.0 - experimental: false - - ruby-version: '2.4.10' - gemfile: am_5.1 - experimental: false - - ruby-version: '2.4.10' - gemfile: am_5.2 - experimental: false - - - ruby-version: '2.5.9' - gemfile: am_5.0 - experimental: false - - ruby-version: '2.5.9' - gemfile: am_5.1 - experimental: false - - ruby-version: '2.5.9' - gemfile: am_5.2 - experimental: false - - ruby-version: '2.5.9' - gemfile: am_6.0 - experimental: false - - ruby-version: '2.5.9' - gemfile: am_6.1 - experimental: false - - ruby-version: '2.7.6' gemfile: am_edge experimental: true @@ -124,14 +41,6 @@ jobs: - ruby-version: '2.6.10' gemfile: am_7.0 - - ruby-version: '2.7.6' - gemfile: am_5.2 - - - ruby-version: '3.0.4' - gemfile: am_5.2 - - - ruby-version: '3.1.2' - gemfile: am_5.2 - ruby-version: '3.1.2' gemfile: am_6.0 - ruby-version: '3.1.2' diff --git a/README.md b/README.md index 572ec05..5b5e2fe 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Hawk [![Build Status](https://github.com/ifad/hawk/actions/workflows/ruby.yml/badge.svg)](https://github.com/ifad/hawk/actions) +[![Legacy Build Status](https://github.com/ifad/hawk/actions/workflows/legacy_ruby.yml/badge.svg)](https://github.com/ifad/hawk/actions) Hawk is an API Client framework. It is used as a base to then build your API clients. It consumes JSON and produces Ruby objects without any Hash magic.