Skip to content

Conversation

@mfilipe
Copy link
Contributor

@mfilipe mfilipe commented Jul 28, 2025

Based on the debate on #970, makes ParallelTests::Tasks.rails_env be more dynamic being able to run on different Rails environments.

The change prioritizes the PARALLEL_RAILS_ENV value, if it isn't set, it defaults to test.

Checklist

  • Feature branch is up-to-date with master (if not - rebase it).
  • Added tests.
  • Added an entry to the Changelog if the new
    code introduces user-observable changes.
  • Update Readme.md when cli options are changed

class << self
def rails_env
'test'
ENV['PARALLEL_RAILS_ENV'] || ENV['RAILS_ENV'] || 'test'
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's make this a non-breaking change:

Suggested change
ENV['PARALLEL_RAILS_ENV'] || ENV['RAILS_ENV'] || 'test'
ENV['PARALLEL_RAILS_ENV'] || 'test'

RAILS_ENV could be get by running rake environment parallel:prepare

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hum, the only option to set a different environment will be using PARALLEL_RAILS_ENV? RAILS_ENV will be discarded.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah or we reopen #776

Copy link
Contributor Author

@mfilipe mfilipe Jul 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hum, TBH I prefer the current solution implemented in this PR, but you are the parallel_tests maintainer (have a better overview of the gem project than me), so I can accept your suggestion and change the docs.

Probably I will need to pass PARALLEL_RAILS_ENV and RAILS_ENV in some situations, but at last it attends to my requirements (makes ParallelTests::Tasks.rails_env dynamic).

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

using RAILS_ENV looks like a good solution, but I'm pretty sure it would open up old gotchas again
and given that it has been so stable with the current solution I'm rather reluctant to risk that :D

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done c3b0bbf

@grosser grosser merged commit a9df40a into grosser:master Aug 2, 2025
9 of 13 checks passed
@grosser
Copy link
Owner

grosser commented Aug 2, 2025

5.4.0 🎉

fyi added the rails-env test back + fixed that it did not unset the env change

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants