From a0646888e232d80e921dfcb990e08f799954f289 Mon Sep 17 00:00:00 2001 From: Ben Pickles Date: Wed, 3 Sep 2025 19:58:02 +0100 Subject: [PATCH 1/9] Integration tests The existing tests have been converted into full integration tests that run an actual `parklife` command. --- Gemfile | 4 + example-app/Gemfile | 4 +- example-app/Parkfile | 6 +- .../app/controllers/test_controller.rb | 11 ++ .../config/initializers/parklife_test.rb | 11 ++ example-app/config/routes.rb | 3 + spec/parklife/integration_spec.rb | 59 ++++++++ spec/parklife/rails_spec.rb | 135 ------------------ 8 files changed, 95 insertions(+), 138 deletions(-) create mode 100644 example-app/app/controllers/test_controller.rb create mode 100644 example-app/config/initializers/parklife_test.rb create mode 100644 spec/parklife/integration_spec.rb delete mode 100644 spec/parklife/rails_spec.rb diff --git a/Gemfile b/Gemfile index cb1c5a1..4d81d97 100644 --- a/Gemfile +++ b/Gemfile @@ -8,3 +8,7 @@ gem 'appraisal' gem 'rake' gem 'rspec' gem 'rubocop' + +# For the example app tests. +gem 'sprockets-rails' +gem 'sqlite3' diff --git a/example-app/Gemfile b/example-app/Gemfile index a1a2542..8d0f92d 100644 --- a/example-app/Gemfile +++ b/example-app/Gemfile @@ -1,9 +1,9 @@ source 'https://rubygems.org' -gem 'rails', '~> 8.0.1' +gem 'parklife-rails', path: '../' + gem 'sprockets-rails' gem 'sqlite3' -gem 'parklife-rails', path: '../' group :development do gem 'webrick' diff --git a/example-app/Parkfile b/example-app/Parkfile index e657224..4a80ebc 100644 --- a/example-app/Parkfile +++ b/example-app/Parkfile @@ -1,4 +1,3 @@ -require 'parklife-rails' require_relative 'config/environment' Parklife.application.configure do |config| @@ -17,4 +16,9 @@ Parklife.application.routes do # Services typically allow a custom 404 page. # get '/404.html' + + if ENV['RAILS_ENV'] == 'test' + get test_middleware_path + get test_url_path + end end diff --git a/example-app/app/controllers/test_controller.rb b/example-app/app/controllers/test_controller.rb new file mode 100644 index 0000000..6124555 --- /dev/null +++ b/example-app/app/controllers/test_controller.rb @@ -0,0 +1,11 @@ +class TestController < ApplicationController + layout false + + def middleware + render plain: Rails.application.config.middleware.map(&:name).join("\n") + end + + def url + render plain: test_url_url + end +end diff --git a/example-app/config/initializers/parklife_test.rb b/example-app/config/initializers/parklife_test.rb new file mode 100644 index 0000000..0884c4c --- /dev/null +++ b/example-app/config/initializers/parklife_test.rb @@ -0,0 +1,11 @@ +case ENV['PARKLIFE_SET_RAILS_URL'] +when 'force_ssl' + Rails.application.config.force_ssl = true +when 'yes' + ActionController::Base.relative_url_root = '/foo' + + Rails.application.routes.default_url_options.merge!( + host: 'rails.example.org', + protocol: 'https', + ) +end diff --git a/example-app/config/routes.rb b/example-app/config/routes.rb index 7684cd1..0dbba7c 100644 --- a/example-app/config/routes.rb +++ b/example-app/config/routes.rb @@ -2,4 +2,7 @@ root to: 'posts#index' resources :posts + + get 'test/middleware', to: 'test#middleware' + get 'test/url', to: 'test#url' end diff --git a/spec/parklife/integration_spec.rb b/spec/parklife/integration_spec.rb new file mode 100644 index 0000000..3c39da4 --- /dev/null +++ b/spec/parklife/integration_spec.rb @@ -0,0 +1,59 @@ +require 'open3' + +RSpec.describe 'Integration tests' do + def command(cmd, env = {}) + env = { 'RAILS_ENV' => 'test' }.merge(env) + + Dir.chdir('example-app') do + Open3.capture2(env, cmd) + end + end + + def parklife(cmd, env = {}) + command("bundle exec parklife #{cmd}", env) + end + + it 'gives access to Rails URL helpers when defining routes' do + stdout, status = parklife('routes') + expect(status).to be_success + expect(stdout).to include('/test/middleware', '/test/url') + end + + it 'configures Rails default_url_options/relative_url_root when setting a Parklife base' do + stdout, status = parklife('get /test/url') + expect(status).to be_success + expect(stdout.chomp).to eql('http://example.com/test/url') + + stdout, status = parklife('get /test/url --base /foo') + expect(status).to be_success + expect(stdout.chomp).to eql('http://example.com/foo/test/url') + + stdout, status = parklife('get /test/url --base https://foo.example.org/foo/bar') + expect(status).to be_success + expect(stdout.chomp).to eql('https://foo.example.org/foo/bar/test/url') + end + + it "sets Parklife's base from Rails default_url_options/relative_url_root when they're defined" do + stdout, status = parklife('get /test/url', 'PARKLIFE_SET_RAILS_URL' => 'yes') + expect(status).to be_success + expect(stdout.chomp).to eql('https://rails.example.org/foo/test/url') + end + + it "updates Parklife's base with Rails force_ssl setting" do + stdout, status = parklife('get /test/url', 'PARKLIFE_SET_RAILS_URL' => 'force_ssl') + expect(status).to be_success + expect(stdout.chomp).to eql('https://example.com/test/url') + end + + it 'host authorization middleware is removed in development - but only for a Parklife request' do + env = { 'RAILS_ENV' => 'development' } + + stdout, status = command('bundle exec rails middleware', env) + expect(status).to be_success + expect(stdout).to include('ActionDispatch::HostAuthorization') + + stdout, status = parklife('get /test/middleware', env) + expect(status).to be_success + expect(stdout).not_to include('ActionDispatch::HostAuthorization') + end +end diff --git a/spec/parklife/rails_spec.rb b/spec/parklife/rails_spec.rb deleted file mode 100644 index c91a0b8..0000000 --- a/spec/parklife/rails_spec.rb +++ /dev/null @@ -1,135 +0,0 @@ -require 'action_controller' -require 'parklife/application' -require 'parklife/rails/build_integration' - -RSpec.describe 'Parklife Rails integration' do - let(:parklife_app) { Parklife::Application.new } - let(:rails_app) { - Class.new(Rails::Application) do - # Silence warning in Rails 7.1. - config.active_support.cache_format_version = 7.0 - - # Silence warning in Rails 8.0. - config.active_support.to_time_preserves_timezone = :zone - - config.eager_load = false - config.logger = Logger.new('/dev/null') - end - } - - def initialize! - rails_app.initialize! - end - - around do |example| - # Initialising each test Rails app in their own current working directory - # stops Zeitwerk complaining about the same directory being managed by - # different loaders. - Dir.mktmpdir do |dir| - Dir.chdir dir do - example.run - end - end - end - - before do - allow(Parklife).to receive(:application).and_return(parklife_app) - Rails.application = rails_app - end - - after do - ActionController::Base.relative_url_root = nil - ActiveSupport::Dependencies.autoload_paths = [] - ActiveSupport::Dependencies.autoload_once_paths = [] - end - - it 'gives access to Rails URL helpers when defining routes' do - initialize! - - rails_app.routes.draw do - get :foo, to: proc { [200, {}, 'foo'] } - end - - parklife_app.routes do - get foo_path - end - - route = Parklife::Route.new('/foo', crawl: false) - expect(parklife_app.routes).to include(route) - - another_parklife_app = Parklife::Application.new - - expect { - another_parklife_app.routes do - get foo_path - end - }.to raise_error(NameError, /foo_path/) - end - - it 'configures Rails default_url_options and relative_url_root when setting Parklife base' do - initialize! - - parklife_app.config.base = 'https://localhost:3000/foo' - - expect(rails_app.default_url_options).to eql({ - host: 'localhost:3000', - protocol: 'https', - }) - expect(ActionController::Base.relative_url_root).to eql('/foo') - - parklife_app.config.base = 'http://foo.example.com/' - - expect(rails_app.default_url_options).to eql({ - host: 'foo.example.com', - protocol: 'http', - }) - expect(ActionController::Base.relative_url_root).to be_nil - - expect { - another_parklife_app = Parklife::Application.new - another_parklife_app.config.base = 'https://example.com/foo' - }.not_to change { - [rails_app.default_url_options, ActionController::Base.relative_url_root] - } - end - - it 'removes host authorization middleware' do - initialize! - - expect(Rails.application.middleware).not_to include(ActionDispatch::HostAuthorization) - end - - context 'setting the Parklife base from Rails config on initialize' do - it 'uses Parklife defaults when nothing is set' do - initialize! - - expect(parklife_app.config.base).to have_attributes( - host: 'example.com', - path: '', - scheme: 'http', - ) - end - - it 'copies the values from default_url_options and relative_url_root' do - rails_app.default_url_options = { host: 'foo', protocol: 'bar' } - ActionController::Base.relative_url_root = '/baz' - - initialize! - - expect(parklife_app.config.base).to have_attributes( - host: 'foo', - path: '/baz', - scheme: 'bar', - ) - end - - it 'always uses https if force_ssl=true' do - rails_app.default_url_options = { protocol: 'foo' } - rails_app.config.force_ssl = true - - initialize! - - expect(parklife_app.config.base.scheme).to eql('https') - end - end -end From c15c208fd9dab32aca175334a15d9fc6d364db0a Mon Sep 17 00:00:00 2001 From: Ben Pickles Date: Sat, 30 Aug 2025 18:33:57 +0100 Subject: [PATCH 2/9] ActiveStorage integration tests --- Gemfile | 11 ++- example-app/.gitignore | 2 + example-app/Gemfile | 1 + example-app/app/models/post.rb | 2 + example-app/app/views/posts/show.html.erb | 8 ++ example-app/config/application.rb | 4 +- .../config/environments/development.rb | 3 + example-app/config/environments/production.rb | 3 + example-app/config/environments/test.rb | 3 + example-app/config/storage.yml | 34 +++++++++ ...te_active_storage_tables.active_storage.rb | 57 ++++++++++++++ example-app/db/schema.rb | 32 +++++++- example-app/db/seeds.rb | 9 ++- spec/factories.rb | 7 ++ spec/features/active_storage_spec.rb | 30 ++++++++ spec/fixtures/files/plasma.jpg | Bin 0 -> 106551 bytes spec/rails_helper.rb | 72 ++++++++++++++++++ 17 files changed, 274 insertions(+), 4 deletions(-) create mode 100644 example-app/config/storage.yml create mode 100644 example-app/db/migrate/20250831102030_create_active_storage_tables.active_storage.rb create mode 100644 spec/factories.rb create mode 100644 spec/features/active_storage_spec.rb create mode 100644 spec/fixtures/files/plasma.jpg create mode 100644 spec/rails_helper.rb diff --git a/Gemfile b/Gemfile index 4d81d97..3403baf 100644 --- a/Gemfile +++ b/Gemfile @@ -6,9 +6,18 @@ gemspec gem 'appraisal' gem 'rake' -gem 'rspec' gem 'rubocop' # For the example app tests. +gem 'image_processing' gem 'sprockets-rails' gem 'sqlite3' + +group :development, :test do + gem 'rspec-rails' +end + +group :test do + gem 'capybara' + gem 'factory_bot_rails' +end diff --git a/example-app/.gitignore b/example-app/.gitignore index 7321a84..8245144 100644 --- a/example-app/.gitignore +++ b/example-app/.gitignore @@ -15,6 +15,8 @@ /log/* /tmp/* +# Ignore storage (uploaded files in development and any SQLite databases). +/storage/* /public/assets .byebug_history diff --git a/example-app/Gemfile b/example-app/Gemfile index 8d0f92d..4b69492 100644 --- a/example-app/Gemfile +++ b/example-app/Gemfile @@ -2,6 +2,7 @@ source 'https://rubygems.org' gem 'parklife-rails', path: '../' +gem 'image_processing' gem 'sprockets-rails' gem 'sqlite3' diff --git a/example-app/app/models/post.rb b/example-app/app/models/post.rb index 27a6795..b706315 100644 --- a/example-app/app/models/post.rb +++ b/example-app/app/models/post.rb @@ -1,4 +1,6 @@ class Post < ApplicationRecord + has_one_attached :hero + def to_param slug end diff --git a/example-app/app/views/posts/show.html.erb b/example-app/app/views/posts/show.html.erb index 826e7b9..cfee805 100644 --- a/example-app/app/views/posts/show.html.erb +++ b/example-app/app/views/posts/show.html.erb @@ -1,3 +1,11 @@ +<% if @post.hero.attached? %> +
+ <%= image_tag( + @post.hero.variant(resize_to_limit: [100, 100]).processed.url + ) %> +
+<% end %> +

<%= @post.title %>

<%= simple_format @post.body %> diff --git a/example-app/config/application.rb b/example-app/config/application.rb index 3384f33..2545b2c 100644 --- a/example-app/config/application.rb +++ b/example-app/config/application.rb @@ -5,7 +5,7 @@ require "active_model/railtie" require "active_job/railtie" require "active_record/railtie" -# require "active_storage/engine" +require "active_storage/engine" require "action_controller/railtie" # require "action_mailer/railtie" # require "action_mailbox/engine" @@ -18,6 +18,8 @@ # you've limited to :test, :development, or :production. Bundler.require(*Rails.groups) +require 'parklife-rails/activestorage' + module Example class Application < Rails::Application # Initialize configuration defaults for originally generated Rails version. diff --git a/example-app/config/environments/development.rb b/example-app/config/environments/development.rb index 0165c73..6c06142 100644 --- a/example-app/config/environments/development.rb +++ b/example-app/config/environments/development.rb @@ -28,6 +28,9 @@ # Change to :null_store to avoid any caching. config.cache_store = :memory_store + # Store uploaded files on the local file system (see config/storage.yml for options). + config.active_storage.service = :local + # Print deprecation notices to the Rails logger. config.active_support.deprecation = :log diff --git a/example-app/config/environments/production.rb b/example-app/config/environments/production.rb index c6e93c6..ff425d5 100644 --- a/example-app/config/environments/production.rb +++ b/example-app/config/environments/production.rb @@ -21,6 +21,9 @@ # Enable serving of images, stylesheets, and JavaScripts from an asset server. # config.asset_host = "http://assets.example.com" + # Store uploaded files on the local file system (see config/storage.yml for options). + config.active_storage.service = :local + # Assume all access to the app is happening through a SSL-terminating reverse proxy. config.assume_ssl = true diff --git a/example-app/config/environments/test.rb b/example-app/config/environments/test.rb index 14bc29e..0047e03 100644 --- a/example-app/config/environments/test.rb +++ b/example-app/config/environments/test.rb @@ -28,6 +28,9 @@ # Disable request forgery protection in test environment. config.action_controller.allow_forgery_protection = false + # Store uploaded files on the local file system in a temporary directory. + config.active_storage.service = :test + # Print deprecation notices to the stderr. config.active_support.deprecation = :stderr diff --git a/example-app/config/storage.yml b/example-app/config/storage.yml new file mode 100644 index 0000000..f713bf3 --- /dev/null +++ b/example-app/config/storage.yml @@ -0,0 +1,34 @@ +test: + service: Parklife + root: <%= Rails.root.join("tmp/storage") %> + +local: + service: Parklife + root: <%= Rails.root.join("storage") %> + +# Use bin/rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key) +# amazon: +# service: S3 +# access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %> +# secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %> +# region: us-east-1 +# bucket: your_own_bucket-<%= Rails.env %> + +# Remember not to checkin your GCS keyfile to a repository +# google: +# service: GCS +# project: your_project +# credentials: <%= Rails.root.join("path/to/gcs.keyfile") %> +# bucket: your_own_bucket-<%= Rails.env %> + +# Use bin/rails credentials:edit to set the Azure Storage secret (as azure_storage:storage_access_key) +# microsoft: +# service: AzureStorage +# storage_account_name: your_account_name +# storage_access_key: <%= Rails.application.credentials.dig(:azure_storage, :storage_access_key) %> +# container: your_container_name-<%= Rails.env %> + +# mirror: +# service: Mirror +# primary: local +# mirrors: [ amazon, google, microsoft ] diff --git a/example-app/db/migrate/20250831102030_create_active_storage_tables.active_storage.rb b/example-app/db/migrate/20250831102030_create_active_storage_tables.active_storage.rb new file mode 100644 index 0000000..6bd8bd0 --- /dev/null +++ b/example-app/db/migrate/20250831102030_create_active_storage_tables.active_storage.rb @@ -0,0 +1,57 @@ +# This migration comes from active_storage (originally 20170806125915) +class CreateActiveStorageTables < ActiveRecord::Migration[7.0] + def change + # Use Active Record's configured type for primary and foreign keys + primary_key_type, foreign_key_type = primary_and_foreign_key_types + + create_table :active_storage_blobs, id: primary_key_type do |t| + t.string :key, null: false + t.string :filename, null: false + t.string :content_type + t.text :metadata + t.string :service_name, null: false + t.bigint :byte_size, null: false + t.string :checksum + + if connection.supports_datetime_with_precision? + t.datetime :created_at, precision: 6, null: false + else + t.datetime :created_at, null: false + end + + t.index [ :key ], unique: true + end + + create_table :active_storage_attachments, id: primary_key_type do |t| + t.string :name, null: false + t.references :record, null: false, polymorphic: true, index: false, type: foreign_key_type + t.references :blob, null: false, type: foreign_key_type + + if connection.supports_datetime_with_precision? + t.datetime :created_at, precision: 6, null: false + else + t.datetime :created_at, null: false + end + + t.index [ :record_type, :record_id, :name, :blob_id ], name: :index_active_storage_attachments_uniqueness, unique: true + t.foreign_key :active_storage_blobs, column: :blob_id + end + + create_table :active_storage_variant_records, id: primary_key_type do |t| + t.belongs_to :blob, null: false, index: false, type: foreign_key_type + t.string :variation_digest, null: false + + t.index [ :blob_id, :variation_digest ], name: :index_active_storage_variant_records_uniqueness, unique: true + t.foreign_key :active_storage_blobs, column: :blob_id + end + end + + private + def primary_and_foreign_key_types + config = Rails.configuration.generators + setting = config.options[config.orm][:primary_key_type] + primary_key_type = setting || :primary_key + foreign_key_type = setting || :bigint + [ primary_key_type, foreign_key_type ] + end +end diff --git a/example-app/db/schema.rb b/example-app/db/schema.rb index a8f0e44..4a60fdb 100644 --- a/example-app/db/schema.rb +++ b/example-app/db/schema.rb @@ -10,7 +10,35 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2019_05_07_172823) do +ActiveRecord::Schema[8.0].define(version: 2025_08_31_102030) do + create_table "active_storage_attachments", force: :cascade do |t| + t.string "name", null: false + t.string "record_type", null: false + t.bigint "record_id", null: false + t.bigint "blob_id", null: false + t.datetime "created_at", null: false + t.index ["blob_id"], name: "index_active_storage_attachments_on_blob_id" + t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true + end + + create_table "active_storage_blobs", force: :cascade do |t| + t.string "key", null: false + t.string "filename", null: false + t.string "content_type" + t.text "metadata" + t.string "service_name", null: false + t.bigint "byte_size", null: false + t.string "checksum" + t.datetime "created_at", null: false + t.index ["key"], name: "index_active_storage_blobs_on_key", unique: true + end + + create_table "active_storage_variant_records", force: :cascade do |t| + t.bigint "blob_id", null: false + t.string "variation_digest", null: false + t.index ["blob_id", "variation_digest"], name: "index_active_storage_variant_records_uniqueness", unique: true + end + create_table "posts", force: :cascade do |t| t.string "slug", null: false t.string "title", null: false @@ -20,4 +48,6 @@ t.index ["slug"], name: "index_posts_on_slug", unique: true end + add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id" + add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id" end diff --git a/example-app/db/seeds.rb b/example-app/db/seeds.rb index 6889bd9..538328f 100644 --- a/example-app/db/seeds.rb +++ b/example-app/db/seeds.rb @@ -1,4 +1,6 @@ -Rails.root.join('data').children.each do |path| +plasma_path = File.expand_path('../../spec/fixtures/files/plasma.jpg', __dir__) + +Rails.root.join('data').children.each_with_index do |path, i| id, slug = path.basename('.*').to_s.split('-', 2) title, rest = path.read.split("\n", 2) @@ -7,4 +9,9 @@ post.slug = slug post.title = title post.save! + + post.hero.attach( + filename: 'plasma.jpg', + io: File.open(plasma_path), + ) if i.odd? end diff --git a/spec/factories.rb b/spec/factories.rb new file mode 100644 index 0000000..46bf428 --- /dev/null +++ b/spec/factories.rb @@ -0,0 +1,7 @@ +FactoryBot.define do + factory :post do + sequence(:slug) { |n| "slug-#{n}" } + sequence(:title) { |n| "Title #{n}" } + body { 'foo' } + end +end diff --git a/spec/features/active_storage_spec.rb b/spec/features/active_storage_spec.rb new file mode 100644 index 0000000..5afe791 --- /dev/null +++ b/spec/features/active_storage_spec.rb @@ -0,0 +1,30 @@ +require 'rails_helper' + +RSpec.describe 'ActiveStorage integration' do + context 'with the Parklife service' do + let!(:post1) { FactoryBot.create(:post) } + let!(:post2) { FactoryBot.create(:post) } + + before do + post1.hero.attach( + filename: 'plasma.jpg', + io: file_fixture('plasma.jpg').open, + ) + end + + it "works as normal and uses Parklife's blob controller" do + visit root_path + click_link post2.title + + expect(page).not_to have_css('img') + + click_link 'Home' + click_link post1.title + + expect(page).to have_css('img') + + img = find('img') + expect(img[:src]).to start_with('/parklife/') + end + end +end diff --git a/spec/fixtures/files/plasma.jpg b/spec/fixtures/files/plasma.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8d31ae96a81ad63d557a188c9fcb89d5b35a8914 GIT binary patch literal 106551 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

TOIZ>G1qw*6EJmGxe5oxtWX$9fs9STkYwHdY16c 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 z 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 e + abort e.to_s.strip +end + +RSpec.configure do |config| + # If you're not using ActiveRecord, or you'd prefer not to run each of your + # examples within a transaction, remove the following line or assign false + # instead of true. + config.use_transactional_fixtures = true + + # You can uncomment this line to turn off ActiveRecord support entirely. + # config.use_active_record = false + + # RSpec Rails uses metadata to mix in different behaviours to your tests, + # for example enabling you to call `get` and `post` in request specs. e.g.: + # + # RSpec.describe UsersController, type: :request do + # # ... + # end + # + # The different available types are documented in the features, such as in + # https://rspec.info/features/8-0/rspec-rails + # + # You can also this infer these behaviours automatically by location, e.g. + # /spec/models would pull in the same behaviour as `type: :model` but this + # behaviour is considered legacy and will be removed in a future version. + # + # To enable this behaviour uncomment the line below. + config.infer_spec_type_from_file_location! + + # Filter lines from Rails gems in backtraces. + config.filter_rails_from_backtrace! + # arbitrary gems may also be filtered via: + # config.filter_gems_from_backtrace("gem name") + + config.include FactoryBot::Syntax::Methods +end From 7b20e51bcb74888eee17aece1a9af3de3f58e4d9 Mon Sep 17 00:00:00 2001 From: Ben Pickles Date: Wed, 3 Sep 2025 20:39:13 +0100 Subject: [PATCH 3/9] Get the tests running against multiple versions of Rails --- example-app/config/application.rb | 12 +++++++----- gemfiles/rails_7.0.gemfile | 13 ++++++++++++- gemfiles/rails_7.1.gemfile | 13 ++++++++++++- gemfiles/rails_7.2.gemfile | 13 ++++++++++++- gemfiles/rails_8.0.gemfile | 13 ++++++++++++- 5 files changed, 55 insertions(+), 9 deletions(-) diff --git a/example-app/config/application.rb b/example-app/config/application.rb index 2545b2c..3d64430 100644 --- a/example-app/config/application.rb +++ b/example-app/config/application.rb @@ -23,12 +23,14 @@ module Example class Application < Rails::Application # Initialize configuration defaults for originally generated Rails version. - config.load_defaults 8.0 + config.load_defaults Rails::VERSION::STRING.to_f - # Please, add to the `ignore` list any other `lib` subdirectories that do - # not contain `.rb` files, or that should not be reloaded or eager loaded. - # Common ones are `templates`, `generators`, or `middleware`, for example. - config.autoload_lib(ignore: %w[assets tasks]) + if config.respond_to?(:autoload_lib) + # Please, add to the `ignore` list any other `lib` subdirectories that do + # not contain `.rb` files, or that should not be reloaded or eager loaded. + # Common ones are `templates`, `generators`, or `middleware`, for example. + config.autoload_lib(ignore: %w[assets tasks]) + end # Configuration for the application, engines, and railties goes here. # diff --git a/gemfiles/rails_7.0.gemfile b/gemfiles/rails_7.0.gemfile index 2bd2332..0a92fe3 100644 --- a/gemfiles/rails_7.0.gemfile +++ b/gemfiles/rails_7.0.gemfile @@ -4,9 +4,20 @@ source "https://rubygems.org" gem "appraisal" gem "rake" -gem "rspec" gem "rubocop" +gem "image_processing" +gem "sprockets-rails" +gem "sqlite3" gem "concurrent-ruby", "< 1.3.5" gem "rails", "~> 7.0.0" +group :development, :test do + gem "rspec-rails" +end + +group :test do + gem "capybara" + gem "factory_bot_rails" +end + gemspec path: "../" diff --git a/gemfiles/rails_7.1.gemfile b/gemfiles/rails_7.1.gemfile index 2fb8d4b..be07848 100644 --- a/gemfiles/rails_7.1.gemfile +++ b/gemfiles/rails_7.1.gemfile @@ -4,8 +4,19 @@ source "https://rubygems.org" gem "appraisal" gem "rake" -gem "rspec" gem "rubocop" +gem "image_processing" +gem "sprockets-rails" +gem "sqlite3" gem "rails", "~> 7.1.0" +group :development, :test do + gem "rspec-rails" +end + +group :test do + gem "capybara" + gem "factory_bot_rails" +end + gemspec path: "../" diff --git a/gemfiles/rails_7.2.gemfile b/gemfiles/rails_7.2.gemfile index eb605c2..8d781ab 100644 --- a/gemfiles/rails_7.2.gemfile +++ b/gemfiles/rails_7.2.gemfile @@ -4,8 +4,19 @@ source "https://rubygems.org" gem "appraisal" gem "rake" -gem "rspec" gem "rubocop" +gem "image_processing" +gem "sprockets-rails" +gem "sqlite3" gem "rails", "~> 7.2.0" +group :development, :test do + gem "rspec-rails" +end + +group :test do + gem "capybara" + gem "factory_bot_rails" +end + gemspec path: "../" diff --git a/gemfiles/rails_8.0.gemfile b/gemfiles/rails_8.0.gemfile index 34d56ef..b1c712c 100644 --- a/gemfiles/rails_8.0.gemfile +++ b/gemfiles/rails_8.0.gemfile @@ -4,8 +4,19 @@ source "https://rubygems.org" gem "appraisal" gem "rake" -gem "rspec" gem "rubocop" +gem "image_processing" +gem "sprockets-rails" +gem "sqlite3" gem "rails", "~> 8.0.0" +group :development, :test do + gem "rspec-rails" +end + +group :test do + gem "capybara" + gem "factory_bot_rails" +end + gemspec path: "../" From a497e4ecf9f991f1e1f79e2774cb0b9251d5d9a7 Mon Sep 17 00:00:00 2001 From: Ben Pickles Date: Wed, 3 Sep 2025 20:44:02 +0100 Subject: [PATCH 4/9] Install libvips on CI --- .github/workflows/main.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d9574a8..a9cb7a7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -7,6 +7,10 @@ jobs: runs-on: ubuntu-latest name: Example Rails app steps: + - name: Install libvips + run: | + sudo apt-get update + sudo apt-get install --no-install-recommends libvips - uses: actions/checkout@v3 - uses: ruby/setup-ruby@v1 with: @@ -57,6 +61,10 @@ jobs: BUNDLE_GEMFILE: gemfiles/rails_${{ matrix.rails }}.gemfile name: RSpec (Ruby ${{ matrix.ruby }} / Rails ${{ matrix.rails }}) steps: + - name: Install libvips + run: | + sudo apt-get update + sudo apt-get install --no-install-recommends libvips - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: From eb5ab2f2691ca1836e78bbe7920ef0266933901e Mon Sep 17 00:00:00 2001 From: Ben Pickles Date: Wed, 3 Sep 2025 20:47:01 +0100 Subject: [PATCH 5/9] Fix ActiveStorage migration on CI --- example-app/db/schema.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example-app/db/schema.rb b/example-app/db/schema.rb index 4a60fdb..26d4602 100644 --- a/example-app/db/schema.rb +++ b/example-app/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[8.0].define(version: 2025_08_31_102030) do +ActiveRecord::Schema[7.0].define(version: 2025_08_31_102030) do create_table "active_storage_attachments", force: :cascade do |t| t.string "name", null: false t.string "record_type", null: false From 1005cd6b4db4d2ba26a04b31a398940122e43e8f Mon Sep 17 00:00:00 2001 From: Ben Pickles Date: Wed, 3 Sep 2025 20:50:27 +0100 Subject: [PATCH 6/9] Fix Rails 7.0 failures on CI --- example-app/config/environments/development.rb | 3 --- example-app/config/environments/test.rb | 3 --- 2 files changed, 6 deletions(-) diff --git a/example-app/config/environments/development.rb b/example-app/config/environments/development.rb index 6c06142..bdbe732 100644 --- a/example-app/config/environments/development.rb +++ b/example-app/config/environments/development.rb @@ -51,7 +51,4 @@ # Annotate rendered view with file names. config.action_view.annotate_rendered_view_with_filenames = true - - # Raise error when a before_action's only/except options reference missing actions. - config.action_controller.raise_on_missing_callback_actions = true end diff --git a/example-app/config/environments/test.rb b/example-app/config/environments/test.rb index 0047e03..efdc7f7 100644 --- a/example-app/config/environments/test.rb +++ b/example-app/config/environments/test.rb @@ -39,7 +39,4 @@ # Annotate rendered view with file names. # config.action_view.annotate_rendered_view_with_filenames = true - - # Raise error when a before_action's only/except options reference missing actions. - config.action_controller.raise_on_missing_callback_actions = true end From e90080bf370acb528ac769dbc63f7f21af5ce597 Mon Sep 17 00:00:00 2001 From: Ben Pickles Date: Wed, 3 Sep 2025 20:59:04 +0100 Subject: [PATCH 7/9] Can't seem to get sqlite3 working with Ruby 2.7 on CI --- .github/workflows/main.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a9cb7a7..533d1f3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -33,7 +33,6 @@ jobs: - '7.2' - '8.0' ruby: - - '2.7' - '3.0' - '3.1' - '3.2' @@ -45,14 +44,10 @@ jobs: ruby: '3.1' - rails: '8.0' ruby: '3.0' - - rails: '8.0' - ruby: '2.7' # Rails 7.2 requires Ruby 3.1. - rails: '7.2' ruby: '3.0' - - rails: '7.2' - ruby: '2.7' # Rails 7.0 doesn't work out of the box with Ruby 3.4. - rails: '7.0' From 537eff1edb055d0d811ab3337c0e77549c100821 Mon Sep 17 00:00:00 2001 From: Ben Pickles Date: Wed, 3 Sep 2025 21:03:15 +0100 Subject: [PATCH 8/9] Fix sqlite3 version with Rails 7.0 --- Appraisals | 1 + gemfiles/rails_7.0.gemfile | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Appraisals b/Appraisals index 8db81f2..4f5a968 100644 --- a/Appraisals +++ b/Appraisals @@ -3,6 +3,7 @@ appraise 'rails_7.0' do gem 'concurrent-ruby', '< 1.3.5' gem 'rails', '~> 7.0.0' + gem 'sqlite3', '<2' end appraise 'rails_7.1' do diff --git a/gemfiles/rails_7.0.gemfile b/gemfiles/rails_7.0.gemfile index 0a92fe3..b52755b 100644 --- a/gemfiles/rails_7.0.gemfile +++ b/gemfiles/rails_7.0.gemfile @@ -7,7 +7,7 @@ gem "rake" gem "rubocop" gem "image_processing" gem "sprockets-rails" -gem "sqlite3" +gem "sqlite3", "<2" gem "concurrent-ruby", "< 1.3.5" gem "rails", "~> 7.0.0" From b0742934ab24a165d9b35f6bf7a5e6246cb4093f Mon Sep 17 00:00:00 2001 From: Ben Pickles Date: Wed, 3 Sep 2025 21:42:36 +0100 Subject: [PATCH 9/9] Test that the build includes encountered ActiveStorage blobs --- spec/parklife/integration_spec.rb | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/spec/parklife/integration_spec.rb b/spec/parklife/integration_spec.rb index 3c39da4..8156304 100644 --- a/spec/parklife/integration_spec.rb +++ b/spec/parklife/integration_spec.rb @@ -56,4 +56,35 @@ def parklife(cmd, env = {}) expect(status).to be_success expect(stdout).not_to include('ActionDispatch::HostAuthorization') end + + it 'builds successfully and includes encountered ActiveStorage blobs' do + skip('FIXME: get me working on CI') if ENV['CI'] + + env = { 'RAILS_ENV' => 'development' } + + stdout, status = parklife('build', env) + expect(status).to be_success + expect(stdout).not_to be_empty + + Dir.chdir('example-app/build') do + build_files = Dir + .glob('**/*') + .select { |it| File.file?(it) } + + # HTML pages. + expect(build_files).to include( + 'index.html', + 'posts/hello-again/index.html', + 'posts/hello-from-parklife/index.html', + 'posts/magic-number/index.html', + ) + + # ActiveStorage blobs. + expect( + build_files + .select { |it| it.end_with?('/plasma.jpg') } + .size + ).to be(2) + end + end end