Skip to content

Commit c77fe7f

Browse files
authored
Merge branch 'main' into enhancement/accessibility-testing
2 parents bd54906 + d50870a commit c77fe7f

File tree

703 files changed

+21153
-4890
lines changed

Some content is hidden

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

703 files changed

+21153
-4890
lines changed

.env.dev

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@
55
# App URLS
66
ALLOWED_HOSTS='http://localhost:3000'
77
APP_HOST='http://localhost:3000'
8+
APP_DEFAULT_LOCALE='en'
9+
APP_AVAILABLE_LOCALES='es,en,fr'
10+
APP_FALLBACK_LOCALES='es,en,fr'
11+
12+
ES_PORT='9201'
13+
ES_HOST='http://elasticsearch'
14+
# ELASTICSEARCH_URL='http://elasticsearch:9201'
15+
816
BASE_URL='http://localhost:3000'
917

1018
REDIS_URL='redis://community-engine-redis:6379'

.github/workflows/rubyonrails.yml

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
name: "Ruby on Rails CI"
88
on:
99
push:
10-
branches: [ "main" ]
10+
branches: [ "main", "dev" ]
1111
pull_request:
12-
branches: [ "main" ]
12+
branches: [ "main", "dev" ]
1313
jobs:
1414
rspec:
1515
runs-on: ubuntu-latest
@@ -22,15 +22,27 @@ jobs:
2222
POSTGRES_DB: rails_test
2323
POSTGRES_USER: rails
2424
POSTGRES_PASSWORD: password
25+
elasticsearch:
26+
image: elasticsearch:7.17.23
27+
ports:
28+
- "9200:9200"
29+
env:
30+
"node.name": elasticsearch
31+
"cluster.name": better-together-es
32+
"discovery.seed_hosts": elasticsearch
33+
"discovery.type": single-node
34+
"bootstrap.memory_lock": true
35+
"ES_JAVA_OPTS": "-Xms512m -Xmx512m"
2536
env:
2637
RAILS_ENV: test
2738
DATABASE_URL: "postgres://rails:password@localhost:5432/rails_test"
39+
ES_HOST: "http://localhost"
2840
steps:
2941
- name: Checkout code
3042
uses: actions/checkout@v3
3143
# Add or replace dependency steps here
3244
- name: Install Ruby and gems
33-
uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
45+
uses: ruby/setup-ruby@v1
3446
with:
3547
bundler-cache: true
3648
# Add or replace database setup steps here
@@ -46,7 +58,7 @@ jobs:
4658
- name: Checkout code
4759
uses: actions/checkout@v3
4860
- name: Install Ruby and gems
49-
uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
61+
uses: ruby/setup-ruby@v1
5062
with:
5163
bundler-cache: true
5264
- name: Lint Ruby files with Rubocop
@@ -58,7 +70,7 @@ jobs:
5870
- name: Checkout code
5971
uses: actions/checkout@v3
6072
- name: Install Ruby and gems
61-
uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
73+
uses: ruby/setup-ruby@v1
6274
with:
6375
bundler-cache: true
6476
- name: Generate binstubs

Dockerfile.dev

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,23 @@
22

33
FROM ruby:3.2.2
44

5+
# Add system dependencies needed for building gems, running JS, and running Chrome Headless
56
RUN apt-get update -qq \
67
&& apt-get install -y build-essential postgresql-client libpq-dev \
7-
nodejs libssl-dev apt-transport-https ca-certificates libvips42 nano
8+
nodejs libssl-dev apt-transport-https ca-certificates libvips42 nano \
9+
chromium chromium-driver
810

11+
# Create app directory
912
RUN mkdir /community-engine
1013
WORKDIR /community-engine
14+
15+
# Pre-bundle install step
1116
COPY Gemfile /community-engine/Gemfile
1217
COPY Gemfile.lock /community-engine/Gemfile.lock
1318

19+
# Use specific Bundler version (you could also lock this in your Gemfile.lock instead)
1420
RUN gem uninstall bundler
1521
RUN gem install bundler:2.4.13
1622

23+
# Copy entire app source (this assumes you're using volume mounting during development)
1724
COPY . /community-engine

Gemfile

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ gem 'fog-aws'
2020
# Database adapter for PostgreSQL
2121
gem 'pg', '>= 0.18', '< 2.0'
2222
# Puma as the app server
23-
gem 'puma', '~> 6.4'
23+
gem 'puma', '~> 6.6'
2424

2525
# Pundit for authorization, custom fork for Better Together
2626
gem 'pundit-resources', '~> 1.1.4', github: 'better-together-org/pundit-resources'
@@ -30,18 +30,21 @@ gem 'rack-protection'
3030
gem 'rails', '~> 7.1.3'
3131

3232
# Redis for ActionCable and background jobs
33-
gem 'redis', '~> 5.2'
33+
gem 'redis', '~> 5.4'
3434

3535
gem 'rswag'
3636

3737
# Sidekiq for background processing
38-
gem 'sidekiq', '~> 7.3.0'
38+
gem 'sidekiq', '~> 7.3.9'
3939

4040
# Error and performance monitoring with Sentry
4141
gem 'sentry-rails'
4242
gem 'sentry-ruby'
4343
gem 'stackprof'
4444

45+
# Storext for easier json attributes, custom fork for Better Together
46+
gem 'storext', github: 'better-together-org/storext'
47+
4548
# Uglifier for JavaScript compression
4649
gem 'uglifier', '>= 1.3.0'
4750

@@ -58,6 +61,8 @@ group :development, :test do
5861
gem 'factory_bot_rails'
5962
# Fuubar for fancy test progress bar
6063
gem 'fuubar'
64+
# Help with managing translation databasde
65+
gem 'i18n-tasks', '~> 1.0.12'
6166
# Pry for a powerful shell alternative to IRB
6267
gem 'pry'
6368
# RuboCop for static code analysis
@@ -69,6 +74,10 @@ group :development do
6974
gem 'brakeman', require: false
7075
# Bundler audit for checking gem vulnerabilities
7176
gem 'bundler-audit', require: false
77+
# Facilitate I18n translation management
78+
gem 'i18n_generators'
79+
80+
gem 'easy_translate'
7281
# Listen for file system changes
7382
gem 'listen', '>= 3.0.5', '< 3.10'
7483
# Rack mini profiler for performance profiling
@@ -88,13 +97,14 @@ end
8897
group :test do
8998
# Capybara for integration testing
9099
gem 'capybara', '>= 2.15'
100+
gem 'capybara-screenshot'
91101
# Coveralls for test coverage reporting
92-
gem 'coveralls'
102+
gem 'coveralls_reborn', require: false
93103
# Database cleaner for test database cleaning
94104
gem 'database_cleaner'
95105
gem 'database_cleaner-active_record'
96106
# # Easy installation and use of chromedriver to run system tests with Chrome
97-
gem 'webdrivers'
107+
# gem 'webdrivers'
98108
# RuboCop RSpec for RSpec-specific code analysis
99109
gem 'rubocop-rspec'
100110
# RSpec for unit testing

0 commit comments

Comments
 (0)