mirror of
https://github.com/stan220/godot-docs.git
synced 2026-09-08 16:28:59 +00:00
CI: Integrate pre-commit for style checks
This commit is contained in:
@@ -15,19 +15,11 @@ jobs:
|
|||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Style checks via pre-commit
|
||||||
|
uses: pre-commit/action@v3.0.1
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: sudo pip3 install -r requirements.txt
|
||||||
# Install tools used by `_tools/format.sh`.
|
|
||||||
sudo apt-get -qq update
|
|
||||||
sudo apt-get -qq install dos2unix recode
|
|
||||||
sudo pip3 install -r requirements.txt
|
|
||||||
sudo pip3 install codespell
|
|
||||||
|
|
||||||
- name: Linter checks
|
|
||||||
run: |
|
|
||||||
bash _tools/format.sh
|
|
||||||
|
|
||||||
codespell -D- -D _tools/codespell-dict.txt -I _tools/codespell-ignore.txt -x _tools/codespell-ignore-lines.txt -S tutorials/i18n/locales.rst {about,community,contributing,getting_started,tutorials}/{*.rst,**/*.rst,**/**/*.rst,**/**/**/*.rst}
|
|
||||||
|
|
||||||
# Use dummy builder to improve performance as we don't need the generated HTML in this workflow.
|
# Use dummy builder to improve performance as we don't need the generated HTML in this workflow.
|
||||||
- name: Sphinx build
|
- name: Sphinx build
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
default_language_version:
|
||||||
|
python: python3
|
||||||
|
|
||||||
|
repos:
|
||||||
|
- repo: https://github.com/codespell-project/codespell
|
||||||
|
rev: v2.3.0
|
||||||
|
hooks:
|
||||||
|
- id: codespell
|
||||||
|
files: ^(about|community|contributing|getting_started|tutorials)/.*\.rst$
|
||||||
|
additional_dependencies: [tomli]
|
||||||
|
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v5.0.0
|
||||||
|
hooks:
|
||||||
|
- id: end-of-file-fixer
|
||||||
|
- id: fix-byte-order-marker
|
||||||
|
- id: mixed-line-ending
|
||||||
|
args: ['--fix=lf']
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -uo pipefail
|
|
||||||
IFS=$'\n\t'
|
|
||||||
|
|
||||||
# Loops through all text files tracked by Git.
|
|
||||||
git grep -zIl '' |
|
|
||||||
while IFS= read -rd '' f; do
|
|
||||||
# Exclude csproj and hdr files.
|
|
||||||
if [[ "$f" == *"csproj" ]]; then
|
|
||||||
continue
|
|
||||||
elif [[ "$f" == *"hdr" ]]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
# Ensures that files are UTF-8 formatted.
|
|
||||||
recode UTF-8 "$f" 2> /dev/null
|
|
||||||
# Ensures that files have LF line endings.
|
|
||||||
dos2unix "$f" 2> /dev/null
|
|
||||||
# Ensures that files do not contain a BOM.
|
|
||||||
sed -i '1s/^\xEF\xBB\xBF//' "$f"
|
|
||||||
# Ensures that files end with newline characters.
|
|
||||||
tail -c1 < "$f" | read -r _ || echo >> "$f";
|
|
||||||
done
|
|
||||||
|
|
||||||
git diff > patch.patch
|
|
||||||
FILESIZE="$(stat -c%s patch.patch)"
|
|
||||||
MAXSIZE=5
|
|
||||||
|
|
||||||
# If no patch has been generated all is OK, clean up, and exit.
|
|
||||||
if (( FILESIZE < MAXSIZE )); then
|
|
||||||
printf "Files in this commit comply with the formatting rules.\n"
|
|
||||||
rm -f patch.patch
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# A patch has been created, notify the user, clean up, and exit.
|
|
||||||
printf "\n*** The following differences were found between the code "
|
|
||||||
printf "and the formatting rules:\n\n"
|
|
||||||
cat patch.patch
|
|
||||||
printf "\n*** Aborting, please fix your commit(s) with 'git commit --amend' or 'git rebase -i <hash>'\n"
|
|
||||||
rm -f patch.patch
|
|
||||||
exit 1
|
|
||||||
@@ -1085,4 +1085,3 @@ Variant types
|
|||||||
class_vector3i
|
class_vector3i
|
||||||
class_vector4
|
class_vector4
|
||||||
class_vector4i
|
class_vector4i
|
||||||
|
|
||||||
|
|||||||
@@ -108,4 +108,3 @@ Community support
|
|||||||
Chances are you looked for learning materials outside of what the documentation provides.
|
Chances are you looked for learning materials outside of what the documentation provides.
|
||||||
Without content creators covering the game development process, there would not be this big of a community today.
|
Without content creators covering the game development process, there would not be this big of a community today.
|
||||||
Therefore it seemed only right to mention them in a page about important contributions to the project.
|
Therefore it seemed only right to mention them in a page about important contributions to the project.
|
||||||
|
|
||||||
|
|||||||
@@ -181,4 +181,3 @@ Alternatively,
|
|||||||
or built-in variable in the script editor.
|
or built-in variable in the script editor.
|
||||||
* Right-clicking on nodes and choosing **Open Documentation** or choosing **Lookup Symbol**
|
* Right-clicking on nodes and choosing **Open Documentation** or choosing **Lookup Symbol**
|
||||||
for elements in script editor will directly open their documentation.
|
for elements in script editor will directly open their documentation.
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
[tool.ruff]
|
||||||
|
line-length = 120
|
||||||
|
|
||||||
|
[tool.codespell]
|
||||||
|
dictionary = ["_tools/codespell-dict.txt", "-"]
|
||||||
|
ignore-words = "_tools/codespell-ignore.txt"
|
||||||
|
exclude-file = "_tools/codespell-ignore-lines.txt"
|
||||||
|
skip = "tutorials/i18n/locales.rst"
|
||||||
@@ -11,4 +11,3 @@ is not maintained or supported in Godot 4.x. While not officially supported, the
|
|||||||
partially work for some Godot and Blender versions, particularly before Blender version 4.0.
|
partially work for some Godot and Blender versions, particularly before Blender version 4.0.
|
||||||
For complete docs on the Blender exporter, see the
|
For complete docs on the Blender exporter, see the
|
||||||
`previous version of this page <https://docs.godotengine.org/en/4.0/tutorials/assets_pipeline/escn_exporter/index.html>`__.
|
`previous version of this page <https://docs.godotengine.org/en/4.0/tutorials/assets_pipeline/escn_exporter/index.html>`__.
|
||||||
|
|
||||||
|
|||||||
@@ -119,4 +119,3 @@ Emacs
|
|||||||
^^^^^
|
^^^^^
|
||||||
|
|
||||||
Check the official instructions to configure `LSP <https://github.com/godotengine/emacs-gdscript-mode#auto-completion-with-the-language-server-protocol-lsp>`_, and `DAP <https://github.com/godotengine/emacs-gdscript-mode#using-the-debugger>`_.
|
Check the official instructions to configure `LSP <https://github.com/godotengine/emacs-gdscript-mode#auto-completion-with-the-language-server-protocol-lsp>`_, and `DAP <https://github.com/godotengine/emacs-gdscript-mode#using-the-debugger>`_.
|
||||||
|
|
||||||
|
|||||||
@@ -694,4 +694,3 @@ The following script uses the NavigationServer to update a navigation region wit
|
|||||||
NavigationServer3D.RegionSetNavigationMesh(_regionRid, _navigationMesh);
|
NavigationServer3D.RegionSetNavigationMesh(_regionRid, _navigationMesh);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -182,4 +182,3 @@ If no path is supplied Godot will move the libraries into the same directory as
|
|||||||
"res://bin/libdependency.linux.template_release.arm64.so" : "",
|
"res://bin/libdependency.linux.template_release.arm64.so" : "",
|
||||||
"res://bin/libdependency.linux.template_release.rv64.so" : ""
|
"res://bin/libdependency.linux.template_release.rv64.so" : ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -385,4 +385,3 @@ This is why many XR runtimes only use it as a last resort and will attempt to us
|
|||||||
This is our advice as well: limit your action map to the interaction profiles for devices you have actually tested your game with.
|
This is our advice as well: limit your action map to the interaction profiles for devices you have actually tested your game with.
|
||||||
The Oculus Touch controller is widely used as a fallback controller by many runtimes.
|
The Oculus Touch controller is widely used as a fallback controller by many runtimes.
|
||||||
If you are able to test your game using a Meta Rift or Quest and add this profile there is a high probability your game will work with other headsets.
|
If you are able to test your game using a Meta Rift or Quest and add this profile there is a high probability your game will work with other headsets.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user