[ci] Update gitattributes and allow skipping docs generation for Windows CI workflows #7273
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.
This explicitly sets gitattributes so we should no longer get mixed CRLF and LF from some contributors on Windows, and on our GitHub workflow for master which verifies the integrity of the commit.
As a workaround for windows, we do have to skip some doc generation.
Many of our generators do things like:
which would mean this location is output to documentation as
src/main\groovy
on Windows. There's not really a quick and painless resolution for this as it would require one of the following:Path
orFile
objects, or…Path
orFile
, and…Since the definition point does not need to know about OS-specific file handling, we could also remove our use of
File.separator
in all generators and stick to normal non-Windows separators. Even that is a ton of work, though.Instead, this will add a
--skip-docs
option to ensure-up-to-date which will skip the regeneration of generator docs. Users on Windows who frequently see issues with docs can run this command instead;There's not really code changes, so I'll merge this to further evaluate the GitHub workflow. Just opening for community and core team awareness.
cc @OpenAPITools/generator-core-team
PR checklist
./bin/generate-samples.sh
to update all Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master. These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example./bin/generate-samples.sh bin/configs/java*
. For Windows users, please run the script in Git BASH.master