mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-09 12:00:22 +02:00
This repo is provided by them with the commit prior to when it was compromised. LLVM has switched to the same repo for now. We probably want to find some better solution to this at some point.
77 lines
2.6 KiB
YAML
77 lines
2.6 KiB
YAML
# Inspired by LLVM's pr-code-format.yml at
|
|
# https://github.com/llvm/llvm-project/blob/main/.github/workflows/pr-code-format.yml
|
|
|
|
name: "Check code formatting"
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
code_formatter:
|
|
runs-on: [self-hosted, X64]
|
|
if: github.repository == 'FEX-Emu/FEX'
|
|
|
|
steps:
|
|
- name: Fetch FEX sources
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
|
|
- name: Checkout through merge base
|
|
uses: rmacklin/fetch-through-merge-base@v0
|
|
timeout-minutes: 3
|
|
with:
|
|
base_ref: ${{ github.event.pull_request.base.ref }}
|
|
head_ref: ${{ github.event.pull_request.head.sha }}
|
|
deepen_length: 500
|
|
|
|
- name: Get changed files
|
|
id: changed-files
|
|
uses: step-security/changed-files@3dbe17c78367e7d60f00d78ae6781a35be47b4a1 # v45.0.1
|
|
with:
|
|
separator: ","
|
|
skip_initial_fetch: true
|
|
|
|
- name: "Listed files"
|
|
env:
|
|
CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
|
|
run: |
|
|
echo "Formatting files:"
|
|
echo "$CHANGED_FILES"
|
|
|
|
- name: Check for correct clang-format version
|
|
run: clang-format --version | grep -qF '16.0.6'
|
|
|
|
- name: Check git-clang-format-16 exists
|
|
run: which git-clang-format-16
|
|
|
|
- name: Setup Python env
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.11'
|
|
cache: 'pip'
|
|
cache-dependency-path: './External/code-format-helper/requirements_formatting.txt'
|
|
|
|
- name: Install python dependencies
|
|
run: pip install -r ./External/code-format-helper/requirements_formatting.txt
|
|
|
|
- name: Run code formatter
|
|
env:
|
|
CLANG_FORMAT_PATH: 'git-clang-format-16'
|
|
GITHUB_PR_NUMBER: ${{ github.event.pull_request.number }}
|
|
START_REV: ${{ github.event.pull_request.base.sha }}
|
|
END_REV: ${{ github.event.pull_request.head.sha }}
|
|
CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
|
|
# TODO(pmatos): Once we adopt v18, we should be able
|
|
# to take advantage of the new --diff_from_common_commit option
|
|
# explicitly in code-format-helper.py and not have to diff starting at
|
|
# the merge base.
|
|
run: |
|
|
python ./External/code-format-helper/code-format-helper.py \
|
|
--repo "FEX-emu/FEX" \
|
|
--issue-number $GITHUB_PR_NUMBER \
|
|
--start-rev $(git merge-base $START_REV $END_REV) \
|
|
--end-rev $END_REV \
|
|
--changed-files "$CHANGED_FILES"
|