Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rails 8 Upgrade #113

Merged
merged 215 commits into from
Feb 23, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
215 commits
Select commit Hold shift + click to select a range
0e03443
remove all rails 7 files
davedkg Dec 15, 2024
c6372e6
rails new . --css bootstrap -d postgresql
davedkg Dec 15, 2024
2a39bfe
pin gem versions
davedkg Dec 15, 2024
9297ac9
Add Paranoidal
davedkg Dec 15, 2024
ffd5e09
Add rspec
davedkg Dec 15, 2024
2902f2c
add pry-byebug
davedkg Dec 15, 2024
dc47a62
add rake fix task
davedkg Dec 15, 2024
4709e37
add reek
davedkg Dec 15, 2024
c13cd8a
remove lint
davedkg Dec 15, 2024
03b3e2c
add fasterer support
davedkg Dec 15, 2024
5a16393
remoce scss-lint
davedkg Dec 15, 2024
975ce48
remove redis
davedkg Dec 15, 2024
34d1906
remove vendor for fasterer
davedkg Dec 15, 2024
fc70365
remove redis from circleci
davedkg Dec 15, 2024
496c86e
Add Devise, SimpleForm, HAML support
davedkg Dec 15, 2024
59a427d
Add seeder
davedkg Dec 15, 2024
acc90ee
Add pundit
davedkg Dec 15, 2024
c30ae47
pundit policy fix
davedkg Dec 15, 2024
aaf1c5a
add PageTitleable
davedkg Dec 15, 2024
6abcef0
Add splash UI
davedkg Dec 15, 2024
753c4b0
bug fix
davedkg Dec 15, 2024
3e08829
implement sidebar and navbar
davedkg Dec 15, 2024
cba7518
add dashboard widget
davedkg Dec 15, 2024
c1cc07b
add active_sidebar_tab_for_path
davedkg Dec 15, 2024
d2dd6ed
init drop of simple form web components
davedkg Dec 15, 2024
6c8ffb5
implement text area autosize
davedkg Dec 15, 2024
1ce1559
add remote modal support
davedkg Dec 15, 2024
6b49ec3
add web_components specs
davedkg Dec 15, 2024
7411588
use switch for boolean
davedkg Dec 15, 2024
557e333
add form controller and flash
davedkg Dec 15, 2024
28697b6
Add users controller
davedkg Dec 15, 2024
83d88c2
fix CI
davedkg Dec 15, 2024
ce9ba05
add custom confirm
davedkg Dec 15, 2024
235e929
add bullet
davedkg Dec 15, 2024
23d4346
user UUID for ids
davedkg Dec 15, 2024
30fbd1a
add breadbrumbs support
davedkg Dec 16, 2024
73e1eb7
Add Dashboard feature tests
davedkg Dec 16, 2024
762ca2c
fix CI
davedkg Dec 16, 2024
a95809c
disable github actions
davedkg Dec 16, 2024
276bf93
add importmap audit
davedkg Dec 16, 2024
2f855d5
disable ci jobs
davedkg Dec 16, 2024
d51e7f6
add rspec_junit_formatter
davedkg Dec 16, 2024
1ae1c23
rake fix
davedkg Dec 16, 2024
83dd337
remove nvmrc
davedkg Dec 16, 2024
ca93084
remove dead file
davedkg Dec 16, 2024
f06a7f4
bug fix
davedkg Dec 16, 2024
95e8644
clean up templates
davedkg Dec 16, 2024
a43871b
clean up UI
davedkg Dec 16, 2024
e80084f
fix failing rspec test
davedkg Dec 16, 2024
e8fc317
add scaffold templates for controller/views
davedkg Dec 16, 2024
50a744a
init drop of custom rspec scaffold generator for request specs
davedkg Dec 16, 2024
ec1a909
rake fix
davedkg Dec 16, 2024
b680fcb
rake fix
davedkg Dec 16, 2024
0d65465
customize request spec templates with names
davedkg Dec 16, 2024
e327d59
templatize scaffold
davedkg Dec 16, 2024
ccbf030
bump
davedkg Dec 16, 2024
9ed060c
bump
davedkg Dec 16, 2024
81a679b
remove
davedkg Dec 16, 2024
4621252
customize pundit_policy_spec
davedkg Dec 16, 2024
ac6861c
add sidebar toggle
davedkg Dec 16, 2024
e7ef74a
add letter opener
davedkg Dec 16, 2024
e30908c
add email previews
davedkg Dec 16, 2024
c261374
cleanup README
davedkg Dec 16, 2024
2d15aa7
Add sentry support
davedkg Dec 19, 2024
c43a20b
add new relic support
davedkg Dec 19, 2024
bca82f6
add heroku support
davedkg Dec 19, 2024
35b0c29
rake fix
davedkg Dec 20, 2024
6d35cbb
bug fix???
davedkg Dec 20, 2024
31fb3cb
fix deleted_at index issue
davedkg Dec 20, 2024
d481f87
rake fix
davedkg Dec 20, 2024
26bd205
bug fix???
davedkg Dec 20, 2024
2cf748b
remove require
davedkg Dec 20, 2024
09006e9
rake fix
davedkg Dec 20, 2024
d8fe9d7
hack
davedkg Dec 20, 2024
f52b872
hack
davedkg Dec 20, 2024
f16368e
add comment
davedkg Dec 20, 2024
2adf0f0
bump
davedkg Dec 20, 2024
ad85045
hack
davedkg Dec 20, 2024
1b57819
bump
davedkg Dec 20, 2024
23c28ab
bump
davedkg Dec 20, 2024
b79ac30
clean up page title
davedkg Feb 15, 2025
960263d
remove cube assets/add material pro assets
davedkg Feb 17, 2025
0290ca5
bump
davedkg Feb 18, 2025
081f461
clean up navbar
davedkg Feb 18, 2025
7902d47
sticky top navbar
davedkg Feb 18, 2025
0e99ce4
add user dropdown to navbar
davedkg Feb 18, 2025
f2ae9e5
clean up splash pages
davedkg Feb 18, 2025
cc3dcc0
add page title
davedkg Feb 18, 2025
7c6627c
add bradcrumbs back in
davedkg Feb 18, 2025
fa40243
rake fix
davedkg Feb 18, 2025
eede9e0
move seeds file
davedkg Feb 18, 2025
351b25e
fix legends on inputs
davedkg Feb 18, 2025
5d7c3d8
add action cable meta tag
davedkg Feb 18, 2025
80a6455
hack to fix circleci issue
davedkg Feb 18, 2025
dc21828
theme sweetalert
davedkg Feb 18, 2025
682f8ba
another rspec hack
davedkg Feb 18, 2025
5eb5dba
cleanup index tables
davedkg Feb 18, 2025
4b4dbf0
Add theme toggler
davedkg Feb 18, 2025
42552e0
remove dead code
davedkg Feb 18, 2025
97254aa
change confirm button class
davedkg Feb 18, 2025
e5f77d3
fix CI???
davedkg Feb 18, 2025
0c801d5
init drop of sidebar
davedkg Feb 18, 2025
1817a2b
clean up sidebar/navbar
davedkg Feb 18, 2025
1bad772
add sidebar toggle
davedkg Feb 18, 2025
991266d
init drop of sidebar controller
davedkg Feb 18, 2025
e151c69
clean up nav links
davedkg Feb 18, 2025
dab6c3d
open/close sidebar on lg+
davedkg Feb 18, 2025
a800d4a
fix sidebar links
davedkg Feb 18, 2025
c6a06f8
replace bootstrap icons with material symbols
davedkg Feb 18, 2025
e66d0fd
fix responsive sidebar
davedkg Feb 18, 2025
0a3ef26
rake fix
davedkg Feb 18, 2025
2d8545b
comment out breadcrumbs
davedkg Feb 18, 2025
0f7855b
remove reek, add importmap_audit to CI
davedkg Feb 18, 2025
67482e4
remove redis
davedkg Feb 18, 2025
e132c6d
update sweetalert2
davedkg Feb 18, 2025
20cb7ee
fix filters
davedkg Feb 18, 2025
63fea90
remove duplicate job
davedkg Feb 18, 2025
33f0926
remove importmaps audit
davedkg Feb 18, 2025
99af585
replace sweetalert2
davedkg Feb 18, 2025
308a32c
change button label
davedkg Feb 18, 2025
0ddc566
center splash widgets
davedkg Feb 18, 2025
55dcd72
add floating label inputs to splash
davedkg Feb 19, 2025
f1fcab6
hack
davedkg Feb 19, 2025
92d9fd6
add database url
davedkg Feb 19, 2025
a63ad12
disable solid in production
davedkg Feb 19, 2025
4e68d61
add solid back in
davedkg Feb 19, 2025
713df9c
upgrade to ruby 3.3.7
davedkg Feb 19, 2025
deeae7c
remove mailgun
davedkg Feb 19, 2025
c17dbaf
fix theme controller crashing on splash
davedkg Feb 19, 2025
0627968
bump
davedkg Feb 19, 2025
bc0425b
add card body colors
davedkg Feb 19, 2025
731f7b4
add extra top padding
davedkg Feb 19, 2025
69b0f7e
add table-group-divider
davedkg Feb 19, 2025
e169d86
add btn-light-dark support to sidebar toggle
davedkg Feb 20, 2025
0c40108
remove footer from file
davedkg Feb 20, 2025
3e6228d
remove autofocus on splash pages
davedkg Feb 20, 2025
ef9bf6f
rename toggle to boolean
davedkg Feb 20, 2025
c771b88
enable morph
davedkg Feb 20, 2025
28b8076
fixed navbar height
davedkg Feb 20, 2025
8307fec
move sidebar toggle class to body tag
davedkg Feb 20, 2025
3adadd6
larger sidebar toggle icon
davedkg Feb 20, 2025
e42051e
replace theme toggler with account
davedkg Feb 20, 2025
ad9dc78
change show button styling
davedkg Feb 20, 2025
3490809
cleanup sidebar
davedkg Feb 20, 2025
0135bf0
preserve scroll
davedkg Feb 20, 2025
46953d9
fix dashboard icon size
davedkg Feb 20, 2025
026c941
add border to thead
davedkg Feb 20, 2025
3547a4c
silence dependency sass warnings
davedkg Feb 20, 2025
33c71ac
A Me controller
davedkg Feb 20, 2025
2edb86d
deprecate me functionality from users controller
davedkg Feb 20, 2025
43e2232
require current password to change password
davedkg Feb 20, 2025
7ec035e
upcase password
davedkg Feb 20, 2025
053eb6d
Add per support
davedkg Feb 20, 2025
a9b6d5e
add sidebar body
davedkg Feb 20, 2025
a5d1d25
remove required field in
davedkg Feb 20, 2025
d9809e3
add hover colors to sidebar
davedkg Feb 20, 2025
73f1d85
clean up pagination button
davedkg Feb 20, 2025
aa97d34
clean up new/show/edit headers
davedkg Feb 20, 2025
24ced00
add breadcrumbs to new/show/edit
davedkg Feb 20, 2025
842f3a8
clean up index pages
davedkg Feb 20, 2025
3ca7e65
add floating labels
davedkg Feb 20, 2025
4b76689
clean up labels
davedkg Feb 20, 2025
1395828
don't allow disable for users who have not accepeted an invite yet
davedkg Feb 20, 2025
46d3740
fix password labels
davedkg Feb 22, 2025
f69a4e1
Add dark theme support to sweetalert
davedkg Feb 22, 2025
c020a67
fix darkmode issue
davedkg Feb 22, 2025
9d853b0
add dropdown to show pages
davedkg Feb 22, 2025
eddc9af
default light mode
davedkg Feb 22, 2025
b85f5b9
fix sweetalert button colors
davedkg Feb 22, 2025
fb42e76
change confirm to use warning colors
davedkg Feb 22, 2025
f98cbd2
shorten confirm prompts
davedkg Feb 22, 2025
b554928
fix sweetalert bg color
davedkg Feb 22, 2025
19ec4e0
UI cleanups/btn-transparent
davedkg Feb 22, 2025
a322e49
fix padding on navbar buttons
davedkg Feb 22, 2025
91ec353
scroll to top of pagination
davedkg Feb 22, 2025
23e0720
change new button to btn-light-dark
davedkg Feb 22, 2025
2c4cd2c
move bsTheme to html tag
davedkg Feb 22, 2025
9d772de
prevent theme from flickering
davedkg Feb 22, 2025
e07cb42
bundle update
davedkg Feb 22, 2025
e88b02a
yarn upgrade
davedkg Feb 22, 2025
c85aeef
clean up kaminari
davedkg Feb 22, 2025
014fb96
small fixes
davedkg Feb 22, 2025
1500f56
add morph
davedkg Feb 22, 2025
9968552
cleanup templates
davedkg Feb 22, 2025
fd5121e
fix scaffold creating request specs
davedkg Feb 22, 2025
eba939c
rake fix
davedkg Feb 22, 2025
589fc10
fix ci issue
davedkg Feb 22, 2025
5c02bf0
load rspec
davedkg Feb 22, 2025
154e93b
fix missing sidebar button on tablet
davedkg Feb 22, 2025
c84fd0e
another ci hack
davedkg Feb 22, 2025
567ec85
rake fix
davedkg Feb 22, 2025
3f12dc7
as;ldfh
davedkg Feb 22, 2025
2e53f84
rake fix
davedkg Feb 22, 2025
41f90ff
asdf
davedkg Feb 22, 2025
1db0ddb
sdaf
davedkg Feb 22, 2025
d9e1d68
asdf
davedkg Feb 22, 2025
ac591d2
remove dropdown carot
davedkg Feb 22, 2025
2b3fc85
larger navbar icons
davedkg Feb 22, 2025
e6336fc
add background color to webcomponents
davedkg Feb 23, 2025
fb49691
clean up index new button
davedkg Feb 23, 2025
eef7119
remove bottom padding on dl, dd
davedkg Feb 23, 2025
c9f6ee7
remove theme controller
davedkg Feb 23, 2025
59b46ad
clean up node modules on deploy
davedkg Feb 23, 2025
d35b9f1
show dropdown now primary button
davedkg Feb 23, 2025
9fb7923
make show buttons secondary
davedkg Feb 23, 2025
20c2745
change to button default
davedkg Feb 23, 2025
dbba39b
inject attributes into pundit policy templates
davedkg Feb 23, 2025
d0f4387
fix border color on swal
davedkg Feb 23, 2025
0c0814a
CI hack
davedkg Feb 23, 2025
2e78da1
fix stupid mistake
davedkg Feb 23, 2025
97f77c4
fix indenting
davedkg Feb 23, 2025
707fe3b
change flash message
davedkg Feb 23, 2025
10950d6
maintain sidebar toggle on lg and up
davedkg Feb 23, 2025
2bc1090
toggle sidebar on responsive
davedkg Feb 23, 2025
38b5cf1
cleanup README
davedkg Feb 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
42 changes: 22 additions & 20 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,21 @@ orbs:
executors:
rails-executor:
docker:
- image: cimg/ruby:3.3.6-browsers
- image: cimg/ruby:3.3.7-browsers
- image: cimg/postgres:16.2
environment:
POSTGRES_DB: davedkg_template_test
POSTGRES_PASSWORD: ""
POSTGRES_USER: db_user
- image: cimg/redis:6.2.6
environment:
BUNDLE_JOBS: "3"
BUNDLE_RETRY: "3"
PGHOST: 127.0.0.1
PGUSER: db_user
RAILS_ENV: test
REDIS_URL: redis://127.0.0.1:6379/0
ruby-executor:
docker:
- image: cimg/ruby:3.3.6-browsers
- image: cimg/ruby:3.3.7-browsers
environment:
BUNDLE_JOBS: "3"
BUNDLE_RETRY: "3"
Expand All @@ -43,7 +41,7 @@ jobs:
- ruby/install-deps
- node/install:
install-yarn: true
node-version: '21.7'
node-version: '22.3.0'
- run:
name: Wait for DB to Boot
command: dockerize -wait tcp://localhost:5432 -timeout 1m
Expand All @@ -54,13 +52,6 @@ jobs:
name: Compile Assets
command: bundle exec rake assets:precompile
- ruby/rspec-test
reek:
executor:
name: ruby-executor
steps:
- checkout
- ruby/install-deps
- run: bundle exec reek -c .reek.yml
rubocop:
executor:
name: ruby-executor
Expand All @@ -81,14 +72,21 @@ jobs:
steps:
- checkout
- ruby/install-deps
- run: bundle exec fasterer
scss:
- run: bundle exec fasterer -c .fasterer.yml
importmap_audit:
executor:
name: ruby-executor
steps:
- checkout
- ruby/install-deps
- run: bundle exec scss-lint --config .scss-lint.yml
- run: bin/importmap audit
importmap_outdated:
executor:
name: ruby-executor
steps:
- checkout
- ruby/install-deps
- run: bin/importmap outdated

workflows:
version: 2
Expand All @@ -98,9 +96,6 @@ workflows:
- rspec:
requires:
- build
- reek:
requires:
- build
- rubocop:
requires:
- build
Expand All @@ -110,6 +105,13 @@ workflows:
- fasterer:
requires:
- build
- scss:
- importmap_audit:
requires:
- build
- build
filters: |
pipeline.git.branch != "main"
- importmap_outdated:
requires:
- build
filters: |
pipeline.git.branch != "main"
18 changes: 16 additions & 2 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

# Ignore git directory.
/.git/
/.gitignore

# Ignore bundler config.
/.bundle

# Ignore all environment files (except templates).
# Ignore all environment files.
/.env*
!/.env*.erb

# Ignore all default key files.
/config/master.key
Expand All @@ -35,3 +35,17 @@
/app/assets/builds/*
!/app/assets/builds/.keep
/public/assets

# Ignore CI service files.
/.github

# Ignore Kamal files.
/config/deploy*.yml
/.kamal

# Ignore development files
/.devcontainer

# Ignore Docker-related files
/.dockerignore
/Dockerfile*
1 change: 0 additions & 1 deletion .env.template
Original file line number Diff line number Diff line change
@@ -1 +0,0 @@
REDIS_URL: redis://127.0.0.1:6379/0
12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: 2
updates:
- package-ecosystem: bundler
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
14 changes: 7 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
# git config --global core.excludesfile '~/.gitignore_global'
# Temporary files generated by your text editor or operating system
# belong in git's global ignore instead:
# `$XDG_CONFIG_HOME/git/ignore` or `~/.config/git/ignore`

# Ignore bundler config.
/.bundle

# Ignore all environment files (except templates).
# Ignore all environment files.
/.env*
!/.env.template
!/.env*.erb

# Ignore all logfiles and tempfiles.
/log/*
Expand All @@ -35,6 +33,8 @@
# Ignore master key for decrypting credentials and more.
/config/master.key

/node_modules
/app/assets/builds/*
!/app/assets/builds/.keep

/node_modules
.DS_Store
3 changes: 3 additions & 0 deletions .kamal/hooks/docker-setup.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

echo "Docker set up on $KAMAL_HOSTS..."
14 changes: 14 additions & 0 deletions .kamal/hooks/post-deploy.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/sh

# A sample post-deploy hook
#
# These environment variables are available:
# KAMAL_RECORDED_AT
# KAMAL_PERFORMER
# KAMAL_VERSION
# KAMAL_HOSTS
# KAMAL_ROLE (if set)
# KAMAL_DESTINATION (if set)
# KAMAL_RUNTIME

echo "$KAMAL_PERFORMER deployed $KAMAL_VERSION to $KAMAL_DESTINATION in $KAMAL_RUNTIME seconds"
3 changes: 3 additions & 0 deletions .kamal/hooks/post-proxy-reboot.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

echo "Rebooted kamal-proxy on $KAMAL_HOSTS"
51 changes: 51 additions & 0 deletions .kamal/hooks/pre-build.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/bin/sh

# A sample pre-build hook
#
# Checks:
# 1. We have a clean checkout
# 2. A remote is configured
# 3. The branch has been pushed to the remote
# 4. The version we are deploying matches the remote
#
# These environment variables are available:
# KAMAL_RECORDED_AT
# KAMAL_PERFORMER
# KAMAL_VERSION
# KAMAL_HOSTS
# KAMAL_ROLE (if set)
# KAMAL_DESTINATION (if set)

if [ -n "$(git status --porcelain)" ]; then
echo "Git checkout is not clean, aborting..." >&2
git status --porcelain >&2
exit 1
fi

first_remote=$(git remote)

if [ -z "$first_remote" ]; then
echo "No git remote set, aborting..." >&2
exit 1
fi

current_branch=$(git branch --show-current)

if [ -z "$current_branch" ]; then
echo "Not on a git branch, aborting..." >&2
exit 1
fi

remote_head=$(git ls-remote $first_remote --tags $current_branch | cut -f1)

if [ -z "$remote_head" ]; then
echo "Branch not pushed to remote, aborting..." >&2
exit 1
fi

if [ "$KAMAL_VERSION" != "$remote_head" ]; then
echo "Version ($KAMAL_VERSION) does not match remote HEAD ($remote_head), aborting..." >&2
exit 1
fi

exit 0
47 changes: 47 additions & 0 deletions .kamal/hooks/pre-connect.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#!/usr/bin/env ruby

# A sample pre-connect check
#
# Warms DNS before connecting to hosts in parallel
#
# These environment variables are available:
# KAMAL_RECORDED_AT
# KAMAL_PERFORMER
# KAMAL_VERSION
# KAMAL_HOSTS
# KAMAL_ROLE (if set)
# KAMAL_DESTINATION (if set)
# KAMAL_RUNTIME

hosts = ENV["KAMAL_HOSTS"].split(",")
results = nil
max = 3

elapsed = Benchmark.realtime do
results = hosts.map do |host|
Thread.new do
tries = 1

begin
Socket.getaddrinfo(host, 0, Socket::AF_UNSPEC, Socket::SOCK_STREAM, nil, Socket::AI_CANONNAME)
rescue SocketError
if tries < max
puts "Retrying DNS warmup: #{host}"
tries += 1
sleep rand
retry
else
puts "DNS warmup failed: #{host}"
host
end
end

tries
end
end.map(&:value)
end

retries = results.sum - hosts.size
nopes = results.count { |r| r == max }

puts "Prewarmed %d DNS lookups in %.2f sec: %d retries, %d failures" % [ hosts.size, elapsed, retries, nopes ]
Loading