Open
Description
Description
Splitting test files into multiple processes on continuous integration platforms has become common to reduce run time.
For example, on GitHub Actions, you might create a workflow which utilizes a matrix strategy. You can read a blog post on the subject here.
The compare mode for next_rails
is too simplistic to account for this type of setup. Each process will create a different shitlist file which fails the diff comparison.
Possible Implementation
Create a new comparison mode that checks file content.
Committed file:
"./spec/file_one.rb": [
"DEPRECATION WARNING: Using `return`, `break` or `throw` to exit a transaction block is deprecated without replacement. ...",
"DEPRECATION WARNING: Using `return`, `break` or `throw` to exit a transaction block is deprecated without replacement. ..."
],
"./spec/file_two.rb": [
"DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: ...",
"DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: ..."
]
Matrix Job One:
"./spec/file_one.rb": [
"DEPRECATION WARNING: Using `return`, `break` or `throw` to exit a transaction block is deprecated without replacement. ...",
"DEPRECATION WARNING: Using `return`, `break` or `throw` to exit a transaction block is deprecated without replacement. ..."
]
Matrix Job Two:
"./spec/file_two.rb": [
"DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: ...",
"DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: ..."
]
Both Matrix jobs fail when comparing using a diff. However, it would pass if we searched for that content in the committed file.
Resources:
I will abide by the code of conduct