Skip to content
This repository was archived by the owner on Mar 1, 2026. It is now read-only.

Commit 1bad0fb

Browse files
authored
Upgrades HackathonManager to Rails 7 (#964)
* Updates dependencies for 5.2.4.4 * Locks factory_bot_rails * Locks simple_form, updates oauth test * Reverts questionnaire datatable to legacy format * Upgrades Rails to 5.2.4.6 * Removes datatable test API params * Updates Rails to 5.2.5 * Updates Rails to 5.2.6.3 * Updates Rails to 5.2.7.1 * Updates Rails to 5.2.8.1, adds support for CVE-2022-32224 * Adds support for Rails 5.2 framework defaults * Updates Rails to 6.0.0.0, refactors authentication routes * Disables case sensitivity for various models * Refactors update_attributes to update * Fixes case sensitive validations for tests * Upgrades Ruby to 2.7.8 * Fixes tests for Rails 6.0.0, changes login routes * Updates Rails to 6.0.6.1 * Adds Rails 6.0 framework defaults * Starts update to Rails 6.1.7.6 * Updates Rails to 6.1.7.6 * Updates gems to latest for Rails 6.1 * Updates Ruby to 3.0.6 * Updates Sidekiq and Sidekiq-cron to latest * Updates Puma to latest * Cleans Gemfile, adds Rails 7 default gems * Updates Rails to 7.0.8 * Updates gems for Rails 7.0.8 * Removes sprockets-rails * Converts turbolinks to turbo * Replaces user datatable with turbo-powered datatable * Replaces staff datatable with turbo datatable * Refactors users datatable into partials * Replaces bus lists datatable with Turbo datatable * Replaces trackable tags datatable with Turbo datatable * Replaces schools datatable with Turbo datatable * Refactors agreements datatable to Turbo datatable * Replaces messages datatable with Turbo datatable * Hides trackable tags table if none exist * Replaces Questionnaire datatable with Turbo datatable * Replaces dietary restrictions and applied datatable with Turbo datatable * Replaces alt travel and attendee sponsor datatables with Turbo datatables * Replaces checkins datatable with Turbo datatable * Removes ajax-datatables-rails, completes datatable transition * Updates README for v3.0.0 * Updates GitHub workflows for Ruby 3.0.6 * Removes application_datatable.rb * Changes GitHub Actions to use test database * Switches workflow to use prepare * Switches workflow to migrate * Removes duplicate stimulus-rails in Gemfile * Fixes several lint issues
1 parent 2b9e118 commit 1bad0fb

381 files changed

Lines changed: 1833 additions & 5452 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build.yml

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
66
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
77

8-
name: Build - 2.6, 2.5
8+
name: Build - 3.0
99

1010
on:
1111
pull_request:
@@ -20,21 +20,21 @@ jobs:
2020
runs-on: ubuntu-latest
2121
strategy:
2222
matrix:
23-
ruby-version: [2.6.6, 2.5.8]
23+
ruby-version: [3.0.6]
2424
env:
2525
DATABASE_URL: mysql2://[email protected]:3800/myapp_test
2626
steps:
27-
- uses: actions/checkout@v2
28-
- name: Start MySQL
29-
uses: cbaudouinjr/[email protected]
30-
with:
31-
host port: 3800
32-
container port: 3800
33-
mysql timezone: America/New_York
34-
mysql version: '5.7'
35-
mysql database: 'myapp_test'
36-
- name: Update and install packages
37-
run: |
27+
- uses: actions/checkout@v2
28+
- name: Start MySQL
29+
uses: cbaudouinjr/[email protected]
30+
with:
31+
host port: 3800
32+
container port: 3800
33+
mysql timezone: America/New_York
34+
mysql version: '5.7'
35+
mysql database: 'myapp_test'
36+
- name: Update and install packages
37+
run: |
3838
sudo apt-get update
3939
sudo apt-get install -y libtool
4040
sudo apt-get install -y libyaml-dev
@@ -43,24 +43,26 @@ jobs:
4343
sudo apt-get install -y libxml2-dev
4444
sudo apt-get install -y default-libmysqlclient-dev
4545
sudo apt-get install -y default-mysql-client
46-
- name: Set up Ruby
47-
env:
48-
ImageOS: ubuntu18
49-
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
50-
# change this to (see https://github.com/ruby/setup-ruby#versioning):
51-
# uses: ruby/setup-ruby@v1
52-
# This version tag came with the Ruby build script built by GitHub. @v1 does not work.
53-
uses: ruby/setup-ruby@21351ecc0a7c196081abca5dc55b08f085efe09a
54-
with:
55-
ruby-version: ${{ matrix.ruby-version }}
56-
bundler-cache: true
57-
- name: Install gems
58-
run: |
46+
- name: Set up Ruby
47+
env:
48+
ImageOS: ubuntu18
49+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
50+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
51+
# uses: ruby/setup-ruby@v1
52+
# This version tag came with the Ruby build script built by GitHub. @v1 does not work.
53+
uses: ruby/setup-ruby@v1
54+
with:
55+
ruby-version: ${{ matrix.ruby-version }}
56+
bundler-cache: true
57+
- name: Install gems
58+
run: |
5959
gem install pkg-config
6060
bundle config build.nokogiri --use-system-libraries
6161
bundle install
62-
- name: Run migrations
63-
run: |
62+
- name: Setup database
63+
env:
64+
RAILS_ENV: test
65+
run: |
6466
bin/rails db:migrate
65-
- name: Run tests
66-
run: bundle exec rake
67+
- name: Run tests
68+
run: bundle exec rake

.ruby-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.6.6
1+
3.0.6

Gemfile

Lines changed: 61 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2,45 +2,63 @@ source 'https://rubygems.org'
22
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
33

44
# Use Ruby version defined in .ruby-version
5-
ruby '>= 2.5'
5+
ruby '>= 3.0.6'
6+
7+
##########################################################################
8+
# Rails default gems
69

710
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
8-
gem 'rails', '~> 5.2.4.4'
9-
# Use mysql as the database for Active Record
10-
gem 'mysql2', '>= 0.4.4', '< 0.6.0'
11-
# Use Puma as the app server
12-
gem 'puma', '~> 5.5'
13-
# Use SCSS for stylesheets
14-
gem 'sass-rails', '~> 6.0'
15-
# Use Uglifier as compressor for JavaScript assets
16-
gem 'uglifier', '>= 1.3.0'
17-
# See https://github.com/rails/execjs#readme for more supported runtimes
18-
# gem 'mini_racer', platforms: :ruby
19-
20-
# Use CoffeeScript for .coffee assets and views
21-
# gem 'coffee-rails', '~> 4.2'
22-
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
23-
gem 'turbolinks', '~> 5'
24-
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
25-
# gem 'jbuilder', '~> 2.5'
11+
gem 'rails', '~> 7.0.0'
12+
13+
# Use sqlite3 as the database for Active Record
14+
# gem "sqlite3", "~> 1.4"
15+
16+
# Use the Puma web server [https://github.com/puma/puma]
17+
gem "puma", ">= 5.0"
18+
19+
# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
20+
gem "importmap-rails"
21+
22+
# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
23+
gem "turbo-rails"
24+
25+
# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
26+
gem "stimulus-rails"
27+
28+
# Build JSON APIs with ease [https://github.com/rails/jbuilder]
29+
gem "jbuilder"
30+
2631
# Use Redis adapter to run Action Cable in production
27-
gem 'redis', '~> 4.0'
28-
# CORS support
29-
gem 'rack-cors'
30-
# Use ActiveModel has_secure_password
31-
# gem 'bcrypt', '~> 3.1.7'
32+
gem "redis", ">= 4.0.1"
3233

33-
# Use ActiveStorage variant
34-
# gem 'mini_magick', '~> 4.8'
34+
# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]
35+
# gem "kredis"
3536

36-
# Use Capistrano for deployment
37-
# gem 'capistrano-rails', group: :development
37+
# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
38+
# gem "bcrypt", "~> 3.1.7"
39+
40+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
41+
# gem "tzinfo-data", platforms: %i[ windows jruby ]
3842

3943
# Reduces boot times through caching; required in config/boot.rb
40-
gem 'bootsnap', '>= 1.1.0', require: false
44+
gem "bootsnap", require: false
45+
46+
# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
47+
# gem "image_processing", "~> 1.2"
48+
49+
##########################################################################
50+
51+
# Use mysql2 as the database for Active Record
52+
gem 'mysql2', '>= 0.4.4', '< 0.6.0'
53+
54+
# Use SCSS for stylesheets
55+
gem 'sass-rails', '~> 6.0'
56+
57+
# CORS support
58+
gem 'rack-cors'
4159

4260
# Authentication
43-
gem 'devise', '~> 4.7'
61+
gem 'devise'
4462
gem 'omniauth-mlh', '~> 0.4.2'
4563
gem 'doorkeeper', '~> 5.5'
4664
gem 'devise-doorkeeper'
@@ -51,14 +69,14 @@ gem "aws-sdk-s3", require: false
5169
gem "file_validators"
5270

5371
# Templating utilities
54-
gem 'haml-rails', '~> 2.0'
55-
gem 'simple_form'
56-
gem 'ajax-datatables-rails', '~> 1.0'
72+
gem 'haml-rails'
73+
gem 'simple_form', '~> 5.1.0'
74+
5775
gem 'roadie-rails'
5876
gem 'chartkick', '~> 3.4'
5977
gem 'groupdate'
6078
gem 'font-awesome-rails', '~> 4.7' # needed for icon helpers
61-
gem 'mustache', '~> 1.0'
79+
gem 'mustache'
6280

6381
# Assets
6482
gem 'sprockets'
@@ -76,11 +94,11 @@ gem 'redcarpet'
7694
# Model extensions
7795
gem 'strip_attributes'
7896
gem 'validate_url'
79-
gem 'audited', '~> 5.0'
97+
gem 'audited'
8098

8199
# Background job processing
82-
gem 'sidekiq', '< 7'
83-
gem 'sidekiq-cron', github: 'codeRIT/sidekiq-cron', branch: 'master'
100+
gem 'sidekiq'
101+
gem "sidekiq-cron"
84102

85103
# Misc support gems
86104
gem 'rails-settings-cached', '~> 0.7.2'
@@ -92,6 +110,10 @@ gem 'rollbar', '~> 3.2'
92110
gem 'rubyzip', '>= 1.3.0'
93111
gem 'rails_12factor', group: :production
94112

113+
gem 'pagy'
114+
gem 'pg_search'
115+
gem 'ransack'
116+
95117
group :development, :test do
96118
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
97119
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
@@ -111,6 +133,7 @@ group :development do
111133
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
112134
gem 'spring'
113135
gem 'spring-watcher-listen', '~> 2.0.0'
136+
gem 'faker'
114137
end
115138

116139
group :test do
@@ -119,7 +142,7 @@ group :test do
119142
gem 'shoulda-matchers', '~> 4.5.1'
120143
gem 'minitest-reporters'
121144
gem 'valid_attribute'
122-
gem 'factory_bot_rails'
145+
gem 'factory_bot_rails', '~> 6.1.0'
123146
gem 'codeclimate-test-reporter', '~> 1.0.7', require: nil
124147
gem 'rails-controller-testing' # Rails 4 fallback
125148
gem 'webmock', '~> 3.12'

0 commit comments

Comments
 (0)