forked from facebookincubator/velox
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move header & format check to Github Actions (facebookincubator#8546)
Summary: This is the first in a number of PRs to move all of our CI over to GHA. The format and header checks will now produce a markdown summary that is rendered in the job summary. This includes a code block with copy2clipboard-button for easy application of the required changes without looking through the logs. Closes facebookincubator#8548 Pull Request resolved: facebookincubator#8546 Reviewed By: kagamiori Differential Revision: D53862082 Pulled By: kgpai fbshipit-source-id: c85dc39c268b3369c0f5da1597a23a9d3d110b9c
- Loading branch information
1 parent
9882fdd
commit 4243a71
Showing
3 changed files
with
93 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# Copyright (c) Facebook, Inc. and its affiliates. | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
name: Run Checks | ||
|
||
on: | ||
pull_request: | ||
|
||
permissions: | ||
contents: read | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.repository }}-${{ github.head_ref || github.sha }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
check-matrix: | ||
name: ${{ matrix.config.name }} | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
config: | ||
- { name: "License Header", | ||
command: "header-fix", | ||
message: "Found missing License Header(s)", | ||
reqs: "regex" | ||
} | ||
- { name: "Code Format", | ||
command: "format-fix", | ||
message: "Found format issues", | ||
reqs: "regex cmake-format black" | ||
} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Install Dependencies | ||
run: | | ||
python -m venv check_env | ||
source check_env/bin/activate | ||
pip install ${{ matrix.config.reqs }} | ||
- name: Check ${{ matrix.config.name }} | ||
run: | | ||
source check_env/bin/activate | ||
make ${{ matrix.config.command }} | ||
if ! git diff --quiet; then | ||
diff=`git --no-pager diff` | ||
echo "${{ matrix.command.message }} in the following files:" | ||
git --no-pager diff --name-only | ||
echo "Check the Job summary for a copy-pasteable patch." | ||
echo "> [!IMPORTANT]" >> $GITHUB_STEP_SUMMARY | ||
echo "${{ matrix.config.message }}" >> $GITHUB_STEP_SUMMARY | ||
echo "> Please apply fix using:" >> $GITHUB_STEP_SUMMARY | ||
echo "\`\`\`sh" >> $GITHUB_STEP_SUMMARY | ||
echo "patch -p1 <<EOF" >> $GITHUB_STEP_SUMMARY | ||
echo "$diff" >> $GITHUB_STEP_SUMMARY | ||
echo "EOF" >> $GITHUB_STEP_SUMMARY | ||
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | ||
exit 1 | ||
fi |