mirror of
https://github.com/Growstuff/growstuff.git
synced 2025-12-24 01:57:46 -05:00
This change introduces the `test-queue` gem to the project to enable parallel execution of the RSpec test suite. The CI configuration in `.github/workflows/ci.yml` has been updated to use a single `test-queue` command instead of multiple, sequential `rspec` commands. This will help to speed up the CI process by running tests concurrently. The `--fail-fast` option has been removed from the RSpec command, as it is not recommended when running tests in parallel. This ensures that all tests are run, providing a complete picture of the test suite's status.
204 lines
4.4 KiB
Ruby
204 lines
4.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
source 'https://rubygems.org'
|
|
|
|
# Match ruby version in .ruby-version
|
|
ruby File.read('.ruby-version')
|
|
|
|
gem 'rails', '~> 7.2.0'
|
|
|
|
# Keeping old sprockets
|
|
# https://github.com/rails/sprockets-rails/issues/444#issuecomment-637817050
|
|
gem "sprockets", "<4"
|
|
|
|
gem 'bundler', '>= 2.4.22'
|
|
|
|
gem 'coffee-rails'
|
|
gem 'haml'
|
|
gem 'sassc-rails'
|
|
|
|
# API data
|
|
gem 'jsonapi-resources'
|
|
gem 'jsonapi-swagger'
|
|
gem 'rswag-api'
|
|
gem 'rswag-ui'
|
|
|
|
# CSS framework
|
|
gem "bootstrap", ">= 5.0.0"
|
|
gem 'material-sass', '4.1.1'
|
|
|
|
# Icons used by bootstrap/material-sass
|
|
gem 'material_icons'
|
|
|
|
# icons
|
|
gem 'font-awesome-sass'
|
|
|
|
gem 'terser'
|
|
|
|
gem 'oj' # Speeds up json
|
|
|
|
# planting and harvest predictions
|
|
# based on median values for the crop
|
|
gem 'active_median'
|
|
gem 'active_record_union'
|
|
|
|
gem 'flickraw'
|
|
gem 'jquery-rails'
|
|
gem 'jquery-ui-rails', github: 'jquery-ui-rails/jquery-ui-rails', tag: 'v7.0.0' # See https://github.com/jquery-ui-rails/jquery-ui-rails/issues/146
|
|
|
|
gem 'cancancan' # for checking member privileges
|
|
gem 'csv_shaper' # CSV export
|
|
gem 'gibbon', '~>1.2.0' # for Mailchimp newsletter subscriptions
|
|
|
|
# Maps
|
|
gem 'leaflet-rails', '>= 1.9.2'
|
|
gem 'rails-assets-leaflet.markercluster', source: 'https://rails-assets.org'
|
|
|
|
gem 'pg'
|
|
gem 'ruby-units' # for unit conversion
|
|
gem 'unicorn' # http server
|
|
|
|
gem "comfortable_mexican_sofa", git: "https://github.com/restarone/comfortable-mexican-sofa.git"
|
|
|
|
gem 'active_utils'
|
|
gem 'sidekiq'
|
|
|
|
# Markdown formatting for updates etc
|
|
gem 'bluecloth'
|
|
|
|
# Pagination
|
|
gem 'will_paginate'
|
|
gem 'will_paginate-bootstrap-style'
|
|
|
|
# user signup/login/etc
|
|
gem 'devise'
|
|
|
|
# nicely formatted URLs
|
|
gem 'friendly_id'
|
|
|
|
# validates URLs
|
|
gem "validate_url"
|
|
|
|
# gravatars
|
|
gem 'gravatar-ultimate'
|
|
|
|
# For geolocation
|
|
gem 'geocoder'
|
|
|
|
# For easy calendar selection
|
|
gem 'bootstrap-datepicker-rails'
|
|
|
|
# DRY-er easier bootstrap 4 forms
|
|
gem "bootstrap_form", ">= 4.5.0"
|
|
|
|
# For connecting to other services (eg Flickr)
|
|
gem 'omniauth', '~> 1.3'
|
|
gem 'omniauth-flickr', '>= 0.0.15'
|
|
|
|
# Pretty charts
|
|
gem "chartkick"
|
|
|
|
# clever elastic search
|
|
gem 'elasticsearch', '~> 7.0.0'
|
|
gem 'searchkick'
|
|
|
|
gem "hashie", ">= 3.5.3"
|
|
|
|
gem 'rake', '>= 10.0.0'
|
|
|
|
# locale based flash notices for controllers
|
|
gem "responders"
|
|
|
|
# allows soft delete. Used for members.
|
|
gem 'discard', '>= 1.2'
|
|
|
|
gem 'xmlrpc' # fixes rake error - can be removed if not needed later
|
|
|
|
gem 'puma'
|
|
|
|
gem 'loofah', '>= 2.19.1'
|
|
gem 'rack-protection', '>= 2.0.1'
|
|
|
|
# Member to member messaging system
|
|
gem 'mailboxer', '>= 0.15.1'
|
|
|
|
gem 'faraday'
|
|
|
|
gem 'rack-cors'
|
|
|
|
gem 'icalendar'
|
|
|
|
# for signups as requested by email service
|
|
gem 'recaptcha'
|
|
|
|
# External APIs for data
|
|
gem "gbifrb"
|
|
|
|
gem "msgpack"
|
|
|
|
group :production do
|
|
gem 'bonsai-elasticsearch-rails' # Integration with Bonsa-Elasticsearch on heroku
|
|
gem 'dalli'
|
|
gem 'memcachier'
|
|
gem 'rails_12factor' # supresses heroku plugin injection
|
|
|
|
gem 'scout_apm' # monitoring
|
|
end
|
|
|
|
group :development do
|
|
gem 'better_errors'
|
|
gem 'letter_opener'
|
|
gem 'listen'
|
|
end
|
|
|
|
group :development, :test do
|
|
gem 'bullet' # performance tuning by finding unnecesary queries
|
|
gem 'byebug' # debugging
|
|
gem 'capybara' # integration tests
|
|
gem 'capybara-email' # integration tests for email
|
|
gem 'capybara-screenshot' # for test debugging
|
|
gem 'database_cleaner'
|
|
gem 'factory_bot_rails' # for creating test data
|
|
gem 'faker'
|
|
gem 'haml-rails' # HTML templating language
|
|
gem 'pry'
|
|
gem 'query_diet'
|
|
gem 'rspec-activemodel-mocks'
|
|
gem 'rspec-rails' # unit testing framework
|
|
gem 'rswag-specs'
|
|
gem 'rubocop-capybara'
|
|
gem 'rubocop-factory_bot'
|
|
gem 'rubocop-rails'
|
|
gem 'rubocop-rake'
|
|
gem 'rubocop-rspec'
|
|
gem 'rubocop-rspec_rails'
|
|
gem 'webrat' # provides HTML matchers for view tests
|
|
|
|
gem 'crowdin-cli' # for translations
|
|
gem 'dotenv-rails'
|
|
|
|
# cli utils
|
|
gem 'haml_lint', '>= 0.25.1', require: false # Checks haml files for goodness
|
|
gem 'i18n-tasks', require: false # adds tests for finding missing and unused translations
|
|
gem 'rspectre', require: false # finds unused code in specs
|
|
gem 'rubocop', require: false
|
|
end
|
|
|
|
group :test do
|
|
gem 'axe-core-capybara'
|
|
gem 'axe-core-rspec'
|
|
gem "percy-capybara", "~> 5.0.0"
|
|
gem 'rails-controller-testing'
|
|
gem "rspec-rebound"
|
|
gem 'selenium-webdriver'
|
|
gem 'test-queue'
|
|
gem 'timecop'
|
|
gem 'vcr'
|
|
end
|
|
|
|
group :travis do
|
|
gem 'platform-api'
|
|
end
|
|
|
|
gem "i18n_data", "~> 1.1"
|