Asan Setup and Settings Map #176
Workflow file for this run
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
name: Check Clang-Format on Diff | |
on: [pull_request] | |
jobs: | |
clang-format: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Import LLVM GPG Key | |
run: | | |
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 15CF4D18AF4F7421 | |
- name: Add LLVM Repository | |
run: | | |
sudo add-apt-repository "deb http://apt.llvm.org/jammy llvm-toolchain-jammy-17 main" | |
sudo apt-get update | |
- name: Install clang-format 17 | |
run: | | |
sudo apt-get install clang-format-17 | |
- name: Fetch branches to check | |
run: | | |
git fetch origin ${{ github.base_ref }} | |
if [ "${{ github.repository_owner }}" != "${{ github.event.pull_request.head.repo.owner.login }}" ]; then | |
fork_owner="${{ github.event.pull_request.head.repo.owner.login }}" | |
fork_repo="${{ github.event.pull_request.head.repo.full_name }}" | |
echo "Fork repo: ${fork_repo}" | |
fork_url="https://github.com/${fork_repo}.git" | |
echo "Fork URL: ${fork_url}" | |
git remote add fork "${fork_url}" | |
git fetch fork ${{ github.head_ref }} | |
else | |
git fetch origin ${{ github.head_ref }} | |
fi | |
- name: Apply clang-format locally | |
if: github.event_name == 'pull_request' | |
run: | | |
if [ "${{ github.repository_owner }}" != "${{ github.event.pull_request.head.repo.owner.login }}" ]; then | |
./scripts/clang-format/clang-format-apply.sh origin/${{ github.base_ref }} fork/${{ github.head_ref }} | |
else | |
./scripts/clang-format/clang-format-apply.sh origin/${{ github.base_ref }} origin/${{ github.head_ref }} | |
fi | |
- name: Save clang-format changes as patch | |
run: | | |
git diff -U0 | |
git diff -U0 > clang_format.patch | |
- name: Check if patch is not empty | |
run: | | |
if [ -s clang_format.patch ]; then | |
echo "Patch is not empty" | |
echo "patch_not_empty=true" >> $GITHUB_STATE | |
else | |
echo "Patch is empty" | |
echo "patch_not_empty=false" >> $GITHUB_STATE | |
fi | |
- name: Post patch as comment | |
if: env.GITHUB_STATE.patch_not_empty == 'true' | |
run: | | |
API_URL="https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/comments" | |
curl -X POST \ | |
-H "Accept: application/vnd.github+json" \ | |
-H "Authorization: token ${{ secrets.GH_ACTION_TOKEN_CLANG_FORMAT }}" \ | |
-H "X-GitHub-Api-Version: 2022-11-28" \ | |
-d "{\"body\": \"clang-format has detected some changes that need formatting\"}" \ | |
"${API_URL}" |