6acbbbf9fc
Summary: Add Github Action to perform some basic sanity check for PR, inclding the following. 1) Buck TARGETS file. On the one hand, The TARGETS file is used for internal buck, and we do not manually update it. On the other hand, we need to run the buckifier scripts to update TARGETS whenever new files are added, etc. With this Github Action, we make sure that every PR does not forget this step. The GH Action uses a Makefile target called check-buck-targets. Users can manually run `make check-buck-targets` on local machine. 2) Code format We use clang-format-diff.py to format our code. The GH Action in this PR makes sure this step is not skipped. The checking script build_tools/format-diff.sh assumes that `clang-format-diff.py` is executable. On host running GH Action, it is difficult to download `clang-format-diff.py` and make it executable. Therefore, we modified build_tools/format-diff.sh to handle the case in which there is a non-executable clang-format-diff.py file in the top-level rocksdb repo directory. Test Plan (Github and devserver): Watch for Github Action result in the `Checks` tab. On dev server ``` make check-format make check-buck-targets make check ``` Pull Request resolved: https://github.com/facebook/rocksdb/pull/6761 Test Plan: Watch for Github Action result in the `Checks` tab. Reviewed By: pdillinger Differential Revision: D21260209 Pulled By: riversand963 fbshipit-source-id: c646e2f37c6faf9f0614b68aa0efc818cff96787
32 lines
721 B
Bash
Executable File
32 lines
721 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
# If clang_format_diff.py command is not specfied, we assume we are able to
|
|
# access directly without any path.
|
|
|
|
TGT_DIFF=`git diff TARGETS | head -n 1`
|
|
|
|
if [ ! -z "$TGT_DIFF" ]
|
|
then
|
|
echo "TARGETS file has uncommitted changes. Skip this check."
|
|
exit 0
|
|
fi
|
|
|
|
echo Backup original TARGETS file.
|
|
|
|
cp TARGETS TARGETS.bkp
|
|
|
|
python buckifier/buckify_rocksdb.py
|
|
|
|
TGT_DIFF=`git diff TARGETS | head -n 1`
|
|
|
|
if [ -z "$TGT_DIFF" ]
|
|
then
|
|
mv TARGETS.bkp TARGETS
|
|
exit 0
|
|
else
|
|
echo "Please run 'python buckifier/buckify_rocksdb.py' to update TARGETS file."
|
|
echo "Do not manually update TARGETS file."
|
|
mv TARGETS.bkp TARGETS
|
|
exit 1
|
|
fi
|