Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
f82403c
Upgrade
amolmjoshi93 Jan 14, 2026
a52279e
Fix security vulnerabilities and Docker image compatibility
amolmjoshi93 Jan 14, 2026
fd4fb39
Fix AWS initializer to check if Aws constant is defined
amolmjoshi93 Jan 14, 2026
4640c97
Update shakapacker to v9.5.0 and add required configuration
amolmjoshi93 Jan 14, 2026
0a815dd
Pin connection_pool to 2.x for react-rails compatibility
amolmjoshi93 Jan 14, 2026
cf0999a
Update shakapacker.yml for v9 compatibility
amolmjoshi93 Jan 14, 2026
1cc1ba4
Complete shakapacker v9 migration - remove webpacker references
amolmjoshi93 Jan 14, 2026
5228b46
Fix timeoff entry label format for zero days
amolmjoshi93 Jan 14, 2026
398bc34
Add webpack asset compilation step to CI workflow
amolmjoshi93 Jan 14, 2026
8b31acf
Bump Rails from 7.1.5.1 to 7.2.0
amolmjoshi93 Jan 19, 2026
a052ea2
fix: upgrade database_cleaner and configure Ferrum for Rails 7.2/Ruby…
amolmjoshi93 Jan 19, 2026
9f1f74d
fix: disable nested_entries in shakapacker config
amolmjoshi93 Jan 19, 2026
36bb7f3
Fix PDF test timeouts by mocking FerrumPdf browser initialization
amolmjoshi93 Jan 19, 2026
a08c090
Fix webpack config for shakapacker 9.x API change
amolmjoshi93 Jan 19, 2026
456cf12
Add missing babel-plugin-dynamic-import-node dependency
amolmjoshi93 Jan 19, 2026
a5fdef7
Removal of deprecation warnings and aftermath of rails upgrade
amolmjoshi93 Jan 20, 2026
a42ec83
fix: resolve DoubleRenderError, unsafe migration, and Docker version …
amolmjoshi93 Jan 20, 2026
22e015a
Fix Ruby 3.4.8 compatibility issues
amolmjoshi93 Jan 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#syntax=docker/dockerfile:1
ARG VARIANT=3.3.10
ARG VARIANT=3.4.8
FROM mcr.microsoft.com/vscode/devcontainers/ruby:${VARIANT} AS base

# Update args in docker-compose.yaml to set the UID/GID of the "vscode" user.
Expand Down Expand Up @@ -50,7 +50,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends git build-essen

FROM build-deps AS gems

RUN gem install bundler -v 2.3.11
RUN gem install bundler -v 2.4.10

COPY Gemfile Gemfile.lock ./

Expand Down
2 changes: 1 addition & 1 deletion .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ services:
build:
context: ..
dockerfile: .devcontainer/Dockerfile
command: bin/webpacker-dev-server
command: bin/shakapacker-dev-server
image: miru-web:latest
ports:
- "3035:3035"
Expand Down
14 changes: 14 additions & 0 deletions .github/workflows/validations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,12 @@ jobs:
- name: Install packages
run: |
yarn install --pure-lockfile
- name: Compile webpack assets
env:
RAILS_ENV: test
NODE_ENV: test
run: |
bundle exec rails assets:precompile
- name: Setup kernel for guard, increase watchers
run: |
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Expand All @@ -89,6 +95,14 @@ jobs:
TEST_ENV_NUMBER: ${{ github.event.number }}
run: |
bundle exec rails db:prepare
- name: Create Elasticsearch indices
env:
RAILS_ENV: test
DB_USER: root
DB_PASS: "password"
TEST_ENV_NUMBER: ${{ github.event.number }}
run: |
bundle exec rake searchkick:reindex:all
- name: Run Rubocop
run: |
bundle exec rubocop
Expand Down
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.3.10
3.4.8
10 changes: 5 additions & 5 deletions Dockerfile.local
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#syntax=docker/dockerfile:1
FROM ruby:3.3.10-slim AS base
FROM ruby:3.4.8-slim AS base

ARG NODE_VERSION=20.18.2

Expand All @@ -22,11 +22,11 @@ RUN apt-get update && apt-get install -y --no-install-recommends curl gnupg2 ca-
apt-get clean && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*


RUN curl --location --silent https://dl-ssl.google.com/linux/linux_signing_key.pub | gpg --dearmor -o /usr/share/keyrings/google-chrome-keyring.gpg \
&& echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome-keyring.gpg] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google.list \
&& apt-get update && apt-get install google-chrome-stable -y --no-install-recommends postgresql-client && \
RUN apt-get update && apt-get install -y --no-install-recommends postgresql-client chromium && \
apt-get clean && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*

ENV CHROME_BIN=/usr/bin/chromium


FROM base AS build-deps

Expand All @@ -36,7 +36,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends git build-essen

FROM build-deps AS gems

RUN gem install bundler -v 2.3.11
RUN gem install bundler -v 2.4.10

COPY Gemfile Gemfile.lock ./

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.test
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#syntax=docker/dockerfile:1
FROM ruby:3.3.10-slim AS base
FROM ruby:3.4.8-slim AS base

ARG NODE_VERSION=20.18.2

Expand Down
36 changes: 24 additions & 12 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
source "https://rubygems.org"
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby "3.3.10"
ruby "3.4.8"

# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
gem "rails", "~> 7.1.5.1"
gem "rails", "~> 7.2.0"

# Use postgresql as the database for Active Record
gem "pg"
Expand All @@ -27,10 +27,10 @@ gem "puma", "~> 6.4.3"
# gem "tailwindcss-rails", ">= 0.5.3"

# Build JSON APIs with ease [https://github.com/rails/jbuilder]
gem "jbuilder", "~> 2.11"
gem "jbuilder", "~> 2.13"

# Use devise for authentication
gem "devise"
gem "devise", "~> 4.9"

# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]
# gem "kredis"
Expand All @@ -47,18 +47,24 @@ gem "tzinfo-data", platforms: %i[mingw mswin x64_mingw jruby]
# Reduces boot times through caching; required in config/boot.rb
gem "bootsnap", ">= 1.4.4", require: false

# MessagePack for ActiveSupport (required for Rails 7.2+)
gem "msgpack", ">= 1.7.0"

# Use Sass to process CSS
# gem "sassc-rails", "~> 2.1"

# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
gem "image_processing", ">= 1.2"

# Webpack bundler for rails
gem "shakapacker", "6.0.0"
gem "shakapacker", ">= 9.5.0"

# React hook for rails
gem "react-rails", "2.6.2"

# Pin connection_pool to 2.x for react-rails 2.6.2 compatibility
gem "connection_pool", "~> 2.4"

# Use SCSS for stylesheets
gem "sass-rails"

Expand All @@ -79,7 +85,7 @@ gem "premailer-rails", "~> 1.12"
gem "money"

# aws storage account
gem "aws-sdk-s3", require: false
gem "aws-sdk-s3", ">= 1.208.0", require: false

# Ransack gem for advanced searching
gem "ransack", "~> 4.1"
Expand Down Expand Up @@ -116,11 +122,11 @@ gem "stripe"

# Background job processing adapter and dashboard
gem "mission_control-jobs"
gem "solid_queue", "~> 0.3"
gem "solid_queue", "~> 1.0"

# searchkick for elasticsearch
gem "elasticsearch", "< 7.14" # select one
gem "searchkick"
gem "searchkick", ">= 5.3.0"

# PDF generator - using Ferrum PDF for modern Chrome-based PDF generation
gem "ferrum_pdf", "~> 2.1"
Expand All @@ -137,7 +143,10 @@ gem "rubyzip"

gem "ahoy_matey"

gem "httparty"
gem "httparty", ">= 0.24.0"

gem "csv"
gem "observer"

# Use google calendar for integration with Miru
gem "google-api-client", require: "google/apis/calendar_v3"
Expand Down Expand Up @@ -172,7 +181,7 @@ group :development, :test, :ci do
gem "rails-controller-testing", "~> 1.0", ">= 1.0.5"

# help to kill N+1 queries and unused eager loading. https://github.com/flyerhzm/bullet
gem "bullet", "~> 7.1"
gem "bullet", "~> 8.0"

# To record response of outgoing API calls
gem "vcr", "~> 6.1"
Expand All @@ -183,7 +192,7 @@ end

group :development do
# Use console on exceptions pages [https://github.com/rails/web-console]
gem "web-console", ">= 4.1.0"
gem "web-console", ">= 4.2.1"

# Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler]
gem "rack-mini-profiler", ">= 2.3.3"
Expand All @@ -205,7 +214,7 @@ group :test, :ci do
gem "simplecov", require: false

# Strategies for cleaning databases in Ruby.
gem "database_cleaner", "~> 2.0"
gem "database_cleaner-active_record", "~> 2.2"
gem "hash_dot"

gem "rspec-buildkite"
Expand Down Expand Up @@ -235,6 +244,9 @@ gem "administrate"

gem "psych", "~> 4"

# mutex_m was removed from Ruby 3.4 stdlib, required by httpclient
gem "mutex_m"

gem "postmark-rails"

# Zerobounce email validation
Expand Down
Loading
Loading