diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..06b8140
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,26 @@
+name: ci
+
+on:
+  push:
+  pull_request:
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: true
+      matrix:
+        ruby_version: ['3.3', '3.2']
+        rails_version: ['7.2', '7.1', '7.0', '6.1']
+    env:
+      BUNDLE_GEMFILE: gemfiles/Gemfile.rails_${{ matrix.rails_version }}
+
+    steps:
+      - uses: actions/checkout@v4
+      - name: Set up Ruby
+        uses: ruby/setup-ruby@v1
+        with:
+          ruby-version: ${{ matrix.ruby_version }}
+          bundler-cache: true
+          rubygems: 'latest'
+      - run: bundle exec rake spec
diff --git a/gemfiles/Gemfile.rails_6.1 b/gemfiles/Gemfile.rails_6.1
index b8c2cae..6cb2e6e 100644
--- a/gemfiles/Gemfile.rails_6.1
+++ b/gemfiles/Gemfile.rails_6.1
@@ -1,6 +1,7 @@
-source "https://rubygems.org"
+source 'https://rubygems.org'
 
 # Specify your gem's dependencies in dumped_railers.gemspec
-gem 'activerecord', '6.1.1'
+gem 'activerecord', '6.1.7'
+gem 'sqlite3', '~> 1.5'
 
 gemspec path: '../'
diff --git a/gemfiles/Gemfile.rails_5.2 b/gemfiles/Gemfile.rails_7.0
similarity index 50%
rename from gemfiles/Gemfile.rails_5.2
rename to gemfiles/Gemfile.rails_7.0
index 76ae862..d4db585 100644
--- a/gemfiles/Gemfile.rails_5.2
+++ b/gemfiles/Gemfile.rails_7.0
@@ -1,6 +1,7 @@
-source "https://rubygems.org"
+source 'https://rubygems.org'
 
 # Specify your gem's dependencies in dumped_railers.gemspec
-gem 'activerecord', '5.2.4.4'
+gem 'activerecord', '7.0.8'
+gem 'sqlite3', '~> 1.7'
 
 gemspec path: '../'
diff --git a/gemfiles/Gemfile.rails_7.1 b/gemfiles/Gemfile.rails_7.1
new file mode 100644
index 0000000..f111a9a
--- /dev/null
+++ b/gemfiles/Gemfile.rails_7.1
@@ -0,0 +1,7 @@
+source 'https://rubygems.org'
+
+# Specify your gem's dependencies in dumped_railers.gemspec
+gem 'activerecord', '~> 7.1.0'
+gem 'sqlite3', '~> 1.7'
+
+gemspec path: '../'
diff --git a/gemfiles/Gemfile.rails_6.0 b/gemfiles/Gemfile.rails_7.2
similarity index 50%
rename from gemfiles/Gemfile.rails_6.0
rename to gemfiles/Gemfile.rails_7.2
index 7dfc03a..94709d3 100644
--- a/gemfiles/Gemfile.rails_6.0
+++ b/gemfiles/Gemfile.rails_7.2
@@ -1,6 +1,7 @@
-source "https://rubygems.org"
+source 'https://rubygems.org'
 
 # Specify your gem's dependencies in dumped_railers.gemspec
-gem 'activerecord', '6.0.3.4'
+gem 'activerecord', '7.2.1'
+gem 'sqlite3', '~> 1.7'
 
 gemspec path: '../'
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index f6536a5..be03cac 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -38,7 +38,7 @@
   end
 
   # need to maintain class-baseed caches in clean state
-  config.around(:each) do  |example|
+  config.around(:each) do |example|
     DumpedRailers.configure_defaults!
     example.run
     DumpedRailers::RecordBuilder::FixtureRow::RecordStore.clear!