1 Commits

Author SHA1 Message Date
dependabot[bot]
aef8ed63f8 Bump sorbet-runtime from 0.6.13067 to 0.6.13116
Bumps [sorbet-runtime](https://github.com/sorbet/sorbet) from 0.6.13067 to 0.6.13116.
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-runtime
  dependency-version: 0.6.13116
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-11 08:24:52 +00:00
7 changed files with 87 additions and 115 deletions

View File

@@ -67,26 +67,6 @@ jobs:
echo "$KUBECONFIG_CONTENT" | base64 -d > ~/.kube/config echo "$KUBECONFIG_CONTENT" | base64 -d > ~/.kube/config
chmod 600 ~/.kube/config chmod 600 ~/.kube/config
- name: Run database migrations
run: |
echo "🗄️ Running database migrations..."
# Delete old migration job if it exists
kubectl delete job turbovault-migrate -n turbovault --ignore-not-found=true
# Update the migration job with the new image version
sed "s|image: ghcr.io/ryankazokas/turbovault-app:.*|image: ghcr.io/ryankazokas/turbovault-app:${{ steps.version.outputs.tag }}|" \
k8s/migrate-job.yaml | kubectl apply -f -
# Wait for migration to complete
echo "⏳ Waiting for migrations to complete..."
kubectl wait --for=condition=complete --timeout=5m job/turbovault-migrate -n turbovault
echo "✅ Migrations complete!"
echo ""
echo "📋 Migration logs:"
kubectl logs job/turbovault-migrate -n turbovault
- name: Deploy to Kubernetes - name: Deploy to Kubernetes
run: | run: |
echo "🚀 Deploying version ${{ steps.version.outputs.tag }} to Kubernetes..." echo "🚀 Deploying version ${{ steps.version.outputs.tag }} to Kubernetes..."

View File

@@ -122,8 +122,6 @@ GEM
tzinfo tzinfo
ffi (1.17.4-aarch64-linux-gnu) ffi (1.17.4-aarch64-linux-gnu)
ffi (1.17.4-aarch64-linux-musl) ffi (1.17.4-aarch64-linux-musl)
ffi (1.17.4-arm-linux-gnu)
ffi (1.17.4-arm-linux-musl)
ffi (1.17.4-arm64-darwin) ffi (1.17.4-arm64-darwin)
ffi (1.17.4-x86_64-darwin) ffi (1.17.4-x86_64-darwin)
ffi (1.17.4-x86_64-linux-gnu) ffi (1.17.4-x86_64-linux-gnu)
@@ -216,10 +214,6 @@ GEM
racc (~> 1.4) racc (~> 1.4)
nokogiri (1.19.2-aarch64-linux-musl) nokogiri (1.19.2-aarch64-linux-musl)
racc (~> 1.4) racc (~> 1.4)
nokogiri (1.19.2-arm-linux-gnu)
racc (~> 1.4)
nokogiri (1.19.2-arm-linux-musl)
racc (~> 1.4)
nokogiri (1.19.2-arm64-darwin) nokogiri (1.19.2-arm64-darwin)
racc (~> 1.4) racc (~> 1.4)
nokogiri (1.19.2-x86_64-darwin) nokogiri (1.19.2-x86_64-darwin)
@@ -368,15 +362,15 @@ GEM
fugit (~> 1.11) fugit (~> 1.11)
railties (>= 7.1) railties (>= 7.1)
thor (>= 1.3.1) thor (>= 1.3.1)
sorbet (0.6.13067) sorbet (0.6.13116)
sorbet-static (= 0.6.13067) sorbet-static (= 0.6.13116)
sorbet-runtime (0.6.13067) sorbet-runtime (0.6.13116)
sorbet-static (0.6.13067-aarch64-linux) sorbet-static (0.6.13116-aarch64-linux)
sorbet-static (0.6.13067-universal-darwin) sorbet-static (0.6.13116-universal-darwin)
sorbet-static (0.6.13067-x86_64-linux) sorbet-static (0.6.13116-x86_64-linux)
sorbet-static-and-runtime (0.6.13067) sorbet-static-and-runtime (0.6.13116)
sorbet (= 0.6.13067) sorbet (= 0.6.13116)
sorbet-runtime (= 0.6.13067) sorbet-runtime (= 0.6.13116)
spoom (1.7.11) spoom (1.7.11)
erubi (>= 1.10.0) erubi (>= 1.10.0)
prism (>= 0.28.0) prism (>= 0.28.0)
@@ -456,8 +450,6 @@ PLATFORMS
aarch64-linux aarch64-linux
aarch64-linux-gnu aarch64-linux-gnu
aarch64-linux-musl aarch64-linux-musl
arm-linux-gnu
arm-linux-musl
arm64-darwin arm64-darwin
x86_64-darwin x86_64-darwin
x86_64-linux x86_64-linux

View File

@@ -89,7 +89,7 @@
<div> <div>
<%= f.label :format, class: "block text-sm font-medium text-gray-700" %> <%= f.label :format, class: "block text-sm font-medium text-gray-700" %>
<%= f.select :format, [["Physical", "physical"], ["Digital", "digital"]], { prompt: "Select Format", selected: 'physical' }, class: "mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500" %> <%= f.select :format, [["Physical", "physical"], ["Digital", "digital"]], { prompt: "Select Format" }, class: "mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500" %>
</div> </div>
<div> <div>
@@ -99,7 +99,7 @@
<div> <div>
<%= f.label :completion_status, class: "block text-sm font-medium text-gray-700" %> <%= f.label :completion_status, class: "block text-sm font-medium text-gray-700" %>
<%= f.select :completion_status, [["Backlog", "backlog"], ["Currently Playing", "currently_playing"], ["Completed", "completed"], ["On Hold", "on_hold"], ["Not Playing", "not_playing"]], { prompt: "Select Status", selected: "backlog" }, class: "mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500" %> <%= f.select :completion_status, [["Backlog", "backlog"], ["Currently Playing", "currently_playing"], ["Completed", "completed"], ["On Hold", "on_hold"], ["Not Playing", "not_playing"]], { include_blank: "Select Status" }, class: "mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500" %>
</div> </div>
<div> <div>
@@ -123,7 +123,7 @@
<div class="grid grid-cols-1 md:grid-cols-3 gap-6"> <div class="grid grid-cols-1 md:grid-cols-3 gap-6">
<div> <div>
<%= f.label :condition, class: "block text-sm font-medium text-gray-700" %> <%= f.label :condition, class: "block text-sm font-medium text-gray-700" %>
<%= f.select :condition, [["CIB (Complete in Box)", "cib"], ["Loose", "loose"], ["Sealed", "sealed"], ["Good", "good"], ["Fair", "fair"]], { prompt: "Select Condition", selected: "loose" }, class: "mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500" %> <%= f.select :condition, [["CIB (Complete in Box)", "cib"], ["Loose", "loose"], ["Sealed", "sealed"], ["Good", "good"], ["Fair", "fair"]], { include_blank: "Select Condition" }, class: "mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500" %>
</div> </div>
<div> <div>
@@ -180,6 +180,10 @@
<p class="mt-1 text-xs text-gray-500">Start typing to see previously used stores</p> <p class="mt-1 text-xs text-gray-500">Start typing to see previously used stores</p>
</div> </div>
<div>
<%= f.label :price_paid, class: "block text-sm font-medium text-gray-700" %>
<%= f.number_field :price_paid, step: 0.01, class: "mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500" %>
</div>
</div> </div>
</div> </div>

View File

@@ -1,54 +0,0 @@
class SeedPlatforms < ActiveRecord::Migration[8.1]
def up
platforms = [
# Nintendo
{ name: "Nintendo Entertainment System", abbreviation: "NES", manufacturer: "Nintendo" },
{ name: "Super Nintendo Entertainment System", abbreviation: "SNES", manufacturer: "Nintendo" },
{ name: "Nintendo 64", abbreviation: "N64", manufacturer: "Nintendo" },
{ name: "Nintendo GameCube", abbreviation: "GCN", manufacturer: "Nintendo" },
{ name: "Nintendo Wii", abbreviation: "Wii", manufacturer: "Nintendo" },
{ name: "Nintendo Wii U", abbreviation: "Wii U", manufacturer: "Nintendo" },
{ name: "Nintendo Switch", abbreviation: "Switch", manufacturer: "Nintendo" },
{ name: "Game Boy", abbreviation: "GB", manufacturer: "Nintendo" },
{ name: "Game Boy Color", abbreviation: "GBC", manufacturer: "Nintendo" },
{ name: "Game Boy Advance", abbreviation: "GBA", manufacturer: "Nintendo" },
{ name: "Nintendo DS", abbreviation: "NDS", manufacturer: "Nintendo" },
{ name: "Nintendo 3DS", abbreviation: "3DS", manufacturer: "Nintendo" },
# Sony
{ name: "PlayStation", abbreviation: "PS1", manufacturer: "Sony" },
{ name: "PlayStation 2", abbreviation: "PS2", manufacturer: "Sony" },
{ name: "PlayStation 3", abbreviation: "PS3", manufacturer: "Sony" },
{ name: "PlayStation 4", abbreviation: "PS4", manufacturer: "Sony" },
{ name: "PlayStation 5", abbreviation: "PS5", manufacturer: "Sony" },
{ name: "PlayStation Portable", abbreviation: "PSP", manufacturer: "Sony" },
{ name: "PlayStation Vita", abbreviation: "Vita", manufacturer: "Sony" },
# Microsoft
{ name: "Xbox", abbreviation: "Xbox", manufacturer: "Microsoft" },
{ name: "Xbox 360", abbreviation: "X360", manufacturer: "Microsoft" },
{ name: "Xbox One", abbreviation: "XB1", manufacturer: "Microsoft" },
{ name: "Xbox Series X/S", abbreviation: "XSX", manufacturer: "Microsoft" },
# Sega
{ name: "Sega Genesis", abbreviation: "Genesis", manufacturer: "Sega" },
{ name: "Sega Saturn", abbreviation: "Saturn", manufacturer: "Sega" },
{ name: "Sega Dreamcast", abbreviation: "DC", manufacturer: "Sega" },
{ name: "Sega Game Gear", abbreviation: "GG", manufacturer: "Sega" },
# PC
{ name: "PC", abbreviation: "PC", manufacturer: nil },
# Other
{ name: "Atari 2600", abbreviation: "2600", manufacturer: "Atari" }
]
platforms.each do |platform|
Platform.create!(platform)
end
end
def down
Platform.delete_all
end
end

View File

@@ -1,20 +0,0 @@
class SeedGenres < ActiveRecord::Migration[8.1]
def change
# Create Genres
puts "Creating genres..."
genres = [
"Action", "Adventure", "RPG", "JRPG", "Strategy", "Simulation",
"Platformer", "Fighting", "Racing", "Sports", "Puzzle", "Horror",
"Stealth", "Shooter", "FPS", "TPS", "Rhythm", "Visual Novel",
"Roguelike", "Metroidvania", "Sandbox", "MMO", "Turn-Based",
"Real-Time Strategy", "Tower Defense", "Card Game", "Party Game",
"Educational", "Survival", "Battle Royale"
]
genres.each do |genre_name|
Genre.find_or_create_by!(name: genre_name)
end
puts "Created #{Genre.count} genres"
end
end

2
db/schema.rb generated
View File

@@ -10,7 +10,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[8.1].define(version: 2026_04_13_115611) do ActiveRecord::Schema[8.1].define(version: 2026_03_28_222034) do
# These are extensions that must be enabled in order to support this database # These are extensions that must be enabled in order to support this database
enable_extension "pg_catalog.plpgsql" enable_extension "pg_catalog.plpgsql"

View File

@@ -1,5 +1,75 @@
puts "Seeding database..." puts "Seeding database..."
# Create Platforms
puts "Creating platforms..."
platforms_data = [
# Nintendo
{ name: "Nintendo Entertainment System", abbreviation: "NES", manufacturer: "Nintendo" },
{ name: "Super Nintendo Entertainment System", abbreviation: "SNES", manufacturer: "Nintendo" },
{ name: "Nintendo 64", abbreviation: "N64", manufacturer: "Nintendo" },
{ name: "GameCube", abbreviation: "GCN", manufacturer: "Nintendo" },
{ name: "Wii", abbreviation: "Wii", manufacturer: "Nintendo" },
{ name: "Wii U", abbreviation: "Wii U", manufacturer: "Nintendo" },
{ name: "Nintendo Switch", abbreviation: "Switch", manufacturer: "Nintendo" },
{ name: "Game Boy", abbreviation: "GB", manufacturer: "Nintendo" },
{ name: "Game Boy Color", abbreviation: "GBC", manufacturer: "Nintendo" },
{ name: "Game Boy Advance", abbreviation: "GBA", manufacturer: "Nintendo" },
{ name: "Nintendo DS", abbreviation: "DS", manufacturer: "Nintendo" },
{ name: "Nintendo 3DS", abbreviation: "3DS", manufacturer: "Nintendo" },
# Sony
{ name: "PlayStation", abbreviation: "PS1", manufacturer: "Sony" },
{ name: "PlayStation 2", abbreviation: "PS2", manufacturer: "Sony" },
{ name: "PlayStation 3", abbreviation: "PS3", manufacturer: "Sony" },
{ name: "PlayStation 4", abbreviation: "PS4", manufacturer: "Sony" },
{ name: "PlayStation 5", abbreviation: "PS5", manufacturer: "Sony" },
{ name: "PlayStation Portable", abbreviation: "PSP", manufacturer: "Sony" },
{ name: "PlayStation Vita", abbreviation: "PS Vita", manufacturer: "Sony" },
# Microsoft
{ name: "Xbox", abbreviation: "Xbox", manufacturer: "Microsoft" },
{ name: "Xbox 360", abbreviation: "X360", manufacturer: "Microsoft" },
{ name: "Xbox One", abbreviation: "XB1", manufacturer: "Microsoft" },
{ name: "Xbox Series X/S", abbreviation: "Series X/S", manufacturer: "Microsoft" },
# Sega
{ name: "Sega Genesis", abbreviation: "Genesis", manufacturer: "Sega" },
{ name: "Sega Saturn", abbreviation: "Saturn", manufacturer: "Sega" },
{ name: "Sega Dreamcast", abbreviation: "Dreamcast", manufacturer: "Sega" },
{ name: "Sega Game Gear", abbreviation: "Game Gear", manufacturer: "Sega" },
# Other
{ name: "PC", abbreviation: "PC", manufacturer: nil },
{ name: "Mobile (iOS)", abbreviation: "iOS", manufacturer: "Apple" },
{ name: "Mobile (Android)", abbreviation: "Android", manufacturer: "Google" },
{ name: "Arcade", abbreviation: "Arcade", manufacturer: nil }
]
platforms_data.each do |platform_data|
Platform.find_or_create_by!(name: platform_data[:name]) do |platform|
platform.abbreviation = platform_data[:abbreviation]
platform.manufacturer = platform_data[:manufacturer]
end
end
puts "Created #{Platform.count} platforms"
# Create Genres
puts "Creating genres..."
genres = [
"Action", "Adventure", "RPG", "JRPG", "Strategy", "Simulation",
"Platformer", "Fighting", "Racing", "Sports", "Puzzle", "Horror",
"Stealth", "Shooter", "FPS", "TPS", "Rhythm", "Visual Novel",
"Roguelike", "Metroidvania", "Sandbox", "MMO", "Turn-Based",
"Real-Time Strategy", "Tower Defense", "Card Game", "Party Game",
"Educational", "Survival", "Battle Royale"
]
genres.each do |genre_name|
Genre.find_or_create_by!(name: genre_name)
end
puts "Created #{Genre.count} genres"
# Create demo user and sample games for development # Create demo user and sample games for development
if Rails.env.development? if Rails.env.development?