You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It's not pretty but at least I can now restore tests in my Gitlab CI. 😅
First of all, the issue with URI's name resolution is likely fixable by applying this patch to activerecord (v6.1.4.4 in my case):
diff --git a/lib/active_record/database_configurations/connection_url_resolver.rb b/lib/active_record/database_configurations/connection_url_resolver.rb
index 13fddb9..a136243 100644
--- a/lib/active_record/database_configurations/connection_url_resolver.rb+++ b/lib/active_record/database_configurations/connection_url_resolver.rb@@ -1,5 +1,6 @@
# frozen_string_literal: true
+require "uri"
require "active_support/core_ext/enumerable"
module ActiveRecord
@@ -44,7 +45,7 @@ module ActiveRecord
attr_reader :uri
def uri_parser
- @uri_parser ||= URI::Parser.new+ @uri_parser ||= ::URI::Parser.new
end
# Converts the query parameters of the URI into a hash.
As far as I know there's not this kind of fix on 6.x, yet so the question is how to fix it in the meanwhile.
I created a testing repository of activerecord v6.1.4.4 here: https://github.com/olistik/activerecord-test/
It contains the abovementioned patch.
Then I put this conditional require in my Gemfile and updated my .gitlab-ci.yml accordingly:
Gemfile:
# Because of an issue faced in Gitlab CI between database_cleaner and activerecord.# see https://github.com/DatabaseCleaner/database_cleaner/issues/686ifENV['GITLAB_CI'] == 'true'gem'activerecord',github: 'olistik/activerecord-test'end
I upgraded Rails to 6.1.6 and the problem somehow disappeared from my pipeline.
I did a quick scan of Rails' changelog but couldn't find a direct fix so 🤷🏻♂️ 😅
I run my specs on Gitlab CI. When I try to run
bundle exec rspec
I get:ruby '2.7.2'
Gemfile:
Gemfile.lock
On my internet research I found this:
https://blog.code-fabrik.ch/2021/03/31/sinatra-databaseconfiguration-url.html
The text was updated successfully, but these errors were encountered: