Merge pull request #699 from Spartan322/fix/4.3-changed-files #5
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: 📊 Static Checks | ||
on: | ||
workflow_call: | ||
concurrency: | ||
group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-static | ||
cancel-in-progress: true | ||
jobs: | ||
static-checks: | ||
name: Code style, file formatting, and docs | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 2 | ||
- name: Install APT dependencies | ||
uses: awalsh128/cache-apt-pkgs-action@latest | ||
with: | ||
packages: libxml2-utils | ||
- name: Install Python dependencies and general setup | ||
run: | | ||
pip3 install pytest==7.1.2 | ||
git config diff.wsErrorHighlight all | ||
- name: Get changed files | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
if [ "${{ github.event_name }}" == "pull_request" ]; then | ||
files=$(git diff-tree --no-commit-id --name-only -r HEAD^1..HEAD 2> /dev/null || true) | ||
elif [ "${{ github.event_name }}" == "push" -a "${{ github.event.forced }}" == "false" -a "${{ github.event.created }}" == "false" ]; then | ||
files=$(git diff-tree --no-commit-id --name-only -r ${{ github.event.before }}..${{ github.event.after }} 2> /dev/null || true) | ||
fi | ||
echo "$files" >> changed.txt | ||
cat changed.txt | ||
files=$(echo "$files" | grep -v 'thirdparty' | xargs -I {} sh -c 'echo "\"./{}\""' | tr '\n' ' ') | ||
echo "CHANGED_FILES=$files" >> $GITHUB_ENV | ||
# This needs to happen before Python and npm execution; it must happen before any extra files are written. | ||
- name: .gitignore checks (gitignore_check.sh) | ||
run: | | ||
bash ./misc/scripts/gitignore_check.sh | ||
- name: Style checks via pre-commit | ||
uses: pre-commit/[email protected] | ||
with: | ||
extra_args: --verbose --files ${{ env.CHANGED_FILES }} | ||
- name: Python builders checks via pytest | ||
run: | | ||
pytest ./tests/python_build | ||
- name: Class reference schema checks | ||
run: | | ||
xmllint --noout --schema doc/class.xsd doc/classes/*.xml modules/*/doc_classes/*.xml platform/*/doc_classes/*.xml |