Skip to content

Check the new class instead of its superclass to see if it responds to the value method #2730

Check the new class instead of its superclass to see if it responds to the value method

Check the new class instead of its superclass to see if it responds to the value method #2730

Workflow file for this run

name: CI Suite
on:
- pull_request
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
bundler-cache: true
- run: bundle exec rake rubocop
system_tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
bundler-cache: true
- run: bundle exec rake compile
- uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
bundler-cache: true
env:
BUNDLE_GEMFILE: ./spec/dummy/Gemfile
- run: bundle exec rails test:all
working-directory: ./spec/dummy
# Some coverage goals of these tests:
# - Test once without Rails at all
# - Test postgres, to make sure that the ActiveRecord
# stuff works on that (as well as the default sqlite)
# - Test mongoid -- and several versions, since they're quite different
# - Run the JS unit tests once
# - Test each major version of Rails we support
# - Test the min/max minor Ruby version we support (and others?)
test:
strategy:
fail-fast: false
matrix:
include:
- gemfile: Gemfile
ruby: 3.4
- gemfile: Gemfile
ruby: 2.7 # lowest supported version
- gemfile: gemfiles/rails_7.0.gemfile
ruby: 3.1
- gemfile: gemfiles/rails_master.gemfile
ruby: 3.2
- gemfile: gemfiles/rails_7.0.gemfile
ruby: 3.2
- gemfile: gemfiles/rails_7.1.gemfile
ruby: 3.3
- gemfile: gemfiles/rails_master.gemfile
ruby: 3.3
graphql_reject_numbers_followed_by_names: 1
coverage: 1
- gemfile: gemfiles/rails_master.gemfile
ruby: 3.4
graphql_reject_numbers_followed_by_names: 1
isolation_level_fiber: 1
runs-on: ubuntu-latest
steps:
- run: echo BUNDLE_GEMFILE=${{ matrix.gemfile }} > $GITHUB_ENV
- run: echo GRAPHQL_REJECT_NUMBERS_FOLLOWED_BY_NAMES=1 > $GITHUB_ENV
if: ${{ !!matrix.graphql_reject_numbers_followed_by_names }}
- run: echo ISOLATION_LEVEL_FIBER=1 > $GITHUB_ENV
if: ${{ !!matrix.isolation_level_fiber }}
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: bundle exec rake compile
- run: bundle exec rake test
- run: git fetch --no-tags --prune --unshallow origin +refs/heads/*:refs/remotes/origin/*
- run: bundle exec pronto run -f github_pr -c origin/${{ github.base_ref }}
if: ${{ !!matrix.coverage }}
env:
PRONTO_PULL_REQUEST_ID: ${{ github.event.pull_request.number }}
PRONTO_GITHUB_ACCESS_TOKEN: "${{ github.token }}"
javascript_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '21'
- run: npm ci
working-directory: ./javascript_client
- run: npm test
working-directory: ./javascript_client
postgres_test:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- gemfile: gemfiles/rails_master.gemfile
ruby: 3.3
isolation_level_fiber: 1
- gemfile: gemfiles/rails_7.1_postgresql.gemfile
ruby: 3.3
services:
postgres:
image: postgres:latest
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
ports:
- 5432:5432
# needed because the postgres container does not provide a healthcheck
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- run: echo BUNDLE_GEMFILE='' > $GITHUB_ENV
- run: echo DATABASE='POSTGRESQL' > $GITHUB_ENV
- run: echo PGPASSWORD='postgres' > $GITHUB_ENV
- run: echo GRAPHQL_CPARSER=1 > $GITHUB_ENV
- run: echo ISOLATION_LEVEL_FIBER=1 > $GITHUB_ENV
if: ${{ !!matrix.isolation_level_fiber }}
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"
bundler-cache: true
- run: bundle exec rake compile test
mongodb_test:
strategy:
fail-fast: false
matrix:
gemfile:
- gemfiles/mongoid_6.gemfile
- gemfiles/mongoid_7.gemfile
runs-on: ubuntu-latest
services:
mongodb:
image: mongo
ports:
- 27017:27017
steps:
- run: echo BUNDLE_GEMFILE=${{ matrix.gemfile }} > $GITHUB_ENV
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
bundler-cache: true
- run: bundle exec rake compile test