Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
godot
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
community
godot
Commits
3644036f
Commit
3644036f
authored
Mar 30, 2020
by
Rémi Verschelde
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Travis: Add static check for Python black formatting
Also install and use pygmentize to visualize clang-format and black diffs.
parent
4d52761d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
58 additions
and
6 deletions
+58
-6
.travis.yml
.travis.yml
+5
-3
black-format.sh
misc/travis/black-format.sh
+48
-0
clang-format.sh
misc/travis/clang-format.sh
+5
-3
No files found.
.travis.yml
View file @
3644036f
...
...
@@ -129,9 +129,6 @@ matrix:
before_install
:
-
eval "${MATRIX_EVAL}"
-
if [ "$STATIC_CHECKS" = "yes" ]; then
unset SCONS_CACHE;
fi
install
:
-
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
...
...
@@ -150,6 +147,10 @@ install:
./emsdk/emsdk install latest;
./emsdk/emsdk activate latest;
fi
-
if [ "$STATIC_CHECKS" = "yes" ]; then
unset SCONS_CACHE;
pip3 install --user black pygments;
fi
before_script
:
-
if [ "$PLATFORM" = "android" ]; then
...
...
@@ -160,6 +161,7 @@ before_script:
script
:
-
if [ "$STATIC_CHECKS" = "yes" ]; then
sh ./misc/travis/clang-format.sh &&
sh ./misc/travis/black-format.sh &&
doc/tools/makerst.py --dry-run doc/classes modules;
else
scons -j2 CC=$CC CXX=$CXX platform=$PLATFORM tools=$TOOLS target=$TARGET $OPTIONS $EXTRA_ARGS &&
...
...
misc/travis/black-format.sh
0 → 100755
View file @
3644036f
#!/bin/sh
BLACK
=
black
BLACK_OPTIONS
=
"-l 120"
if
[
"
$TRAVIS_PULL_REQUEST
"
!=
"false"
]
;
then
# Travis only clones the PR branch and uses its HEAD commit as detached HEAD,
# so it's problematic when we want an exact commit range for format checks.
# We fetch upstream to ensure that we have the proper references to resolve.
# Ideally we would use $TRAVIS_COMMIT_RANGE but it doesn't play well with PR
# updates, as it only includes changes since the previous state of the PR.
if
[
-z
"
$(
git remote |
grep
upstream
)
"
]
;
then
git remote add upstream https://github.com/godotengine/godot
\
--no-tags
-f
-t
$TRAVIS_BRANCH
fi
RANGE
=
"upstream/
$TRAVIS_BRANCH
HEAD"
else
# Test only the last commit, since $TRAVIS_COMMIT_RANGE wouldn't support
# force pushes.
RANGE
=
HEAD
fi
FILES
=
$(
git diff-tree
--no-commit-id
--name-only
-r
$RANGE
|
grep
-v
thirdparty/|
grep
-E
"(SConstruct|SCsub|
\.
py)$"
)
echo
"Checking files:
\n
$FILES
"
# create a random filename to store our generated patch
prefix
=
"static-check-black"
suffix
=
"
$(
date
+%s
)
"
patch
=
"/tmp/
$prefix
-
$suffix
.patch"
for
file
in
$FILES
;
do
"
$BLACK
"
"
$BLACK_OPTIONS
"
--diff
"
$file
"
|
\
sed
-e
"1s|--- |--- a/|"
-e
"2s|+++ |+++ b/|"
>>
"
$patch
"
done
# if no patch has been generated all is ok, clean up the file stub and exit
if
[
!
-s
"
$patch
"
]
;
then
printf
"Files in this commit comply with the black formatting rules.
\n
"
rm
-f
"
$patch
"
exit
0
fi
# a patch has been created, notify the user and exit
printf
"
\n
*** The following differences were found between the code to commit "
printf
"and the black formatting rules:
\n\n
"
pygmentize
-l
diff
"
$patch
"
printf
"
\n
*** Aborting, please fix your commit(s) with 'git commit --amend' or 'git rebase -i <hash>'
\n
"
exit
1
misc/travis/clang-format.sh
View file @
3644036f
...
...
@@ -8,8 +8,10 @@ if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
# We fetch upstream to ensure that we have the proper references to resolve.
# Ideally we would use $TRAVIS_COMMIT_RANGE but it doesn't play well with PR
# updates, as it only includes changes since the previous state of the PR.
git remote add upstream https://github.com/godotengine/godot
\
--no-tags
-f
-t
$TRAVIS_BRANCH
if
[
-z
"
$(
git remote |
grep
upstream
)
"
]
;
then
git remote add upstream https://github.com/godotengine/godot
\
--no-tags
-f
-t
$TRAVIS_BRANCH
fi
RANGE
=
"upstream/
$TRAVIS_BRANCH
HEAD"
else
# Test only the last commit, since $TRAVIS_COMMIT_RANGE wouldn't support
...
...
@@ -41,6 +43,6 @@ fi
# a patch has been created, notify the user and exit
printf
"
\n
*** The following differences were found between the code to commit "
printf
"and the clang-format rules:
\n\n
"
cat
"
$patch
"
pygmentize
-l
diff
"
$patch
"
printf
"
\n
*** Aborting, please fix your commit(s) with 'git commit --amend' or 'git rebase -i <hash>'
\n
"
exit
1
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment