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
42 lines
1.1 KiB
YAML
42 lines
1.1 KiB
YAML
name: Check buck targets and code format
|
|
on: [push, pull_request]
|
|
jobs:
|
|
check:
|
|
name: Check TARGETS file and code format
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout feature branch
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Fetch from upstream
|
|
run: |
|
|
git remote add upstream https://github.com/facebook/rocksdb.git && git fetch upstream
|
|
|
|
- name: Where am I
|
|
run: |
|
|
echo git status && git status
|
|
echo "git remote -v" && git remote -v
|
|
echo git branch && git branch
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v1
|
|
|
|
- name: Install Dependencies
|
|
run: python -m pip install --upgrade pip
|
|
|
|
- name: Install argparse
|
|
run: pip install argparse
|
|
|
|
- name: Download clang-format-diff.py
|
|
uses: wei/wget@v1
|
|
with:
|
|
args: https://raw.githubusercontent.com/llvm-mirror/clang/master/tools/clang-format/clang-format-diff.py
|
|
|
|
- name: Check format
|
|
run: make check-format
|
|
|
|
- name: Compare buckify output
|
|
run: make check-buck-targets
|