Test formatter changes against baseline format#89
Open
straight-shoota wants to merge 4 commits intomasterfrom
Open
Test formatter changes against baseline format#89straight-shoota wants to merge 4 commits intomasterfrom
straight-shoota wants to merge 4 commits intomasterfrom
Conversation
87d3063 to
c492d82
Compare
|
It seems to be broken? |
Member
Author
|
No idea what's going on with athena. Looks like a bug in shards? 🤔 The failure in |
|
Yeah, Shards is trying to fetch |
Skip test due to ameba installation issue.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
For testing formatter changes we previously skipped code bases that were not already properly formatted because they would report formatter errors unrelated to the particular changes being tested.
But we actually don't need the codebase to be pre-formatted. We can run a baseline formatter first and then see if there are any changes against that.
This patch introduces a second Crystal compiler that serves as the baseline (defined by
$CRYSTAL_BASE).If a baseline compiler is available, we first run
$CRYSTAL_BASE tool formatand then only consider changes that$CRYSTAL tool formatproduces against that baseline.CI installs the baseline compiler in
/tmp/crystal-baseline/.This allows us to run formatter tests against any code base, regardless of whether it's already well-formatted or not. This increases the potential surface area a lot.
At this point we can probably extract the individual formatter test definitions from the
batsfiles and just iterate a long list of repository URLs.