Skip to content

Move x86-32 Windows and Linux testing to GHA #10056

Move x86-32 Windows and Linux testing to GHA

Move x86-32 Windows and Linux testing to GHA #10056

Workflow file for this run

name: Halide Presubmit Checks
on:
# We don't want 'edited' (that's basically just the description, title, etc.)
# We don't want 'review_requested' (that's redundant to the ones below for our purposes)
pull_request:
types: [ opened, synchronize, reopened ]
paths:
- '**.h'
- '**.c'
- '**.cpp'
- '**CMakeLists.txt'
- '**.cmake'
- 'run-clang-tidy.sh'
- 'run-clang-format.sh'
- '.github/workflows/**'
- '**.clang-tidy'
permissions:
contents: read
jobs:
check_clang_format:
name: Check clang-format and ruff
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- name: Install clang-format
run: brew install llvm@21
- name: Check clang-format
run: ./run-clang-format.sh -c
env:
CLANG_FORMAT_LLVM_INSTALL_DIR: /opt/homebrew/opt/llvm@21
- uses: astral-sh/ruff-action@v3
check_clang_tidy:
name: Check clang-tidy
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- name: Install clang-tidy
run: brew install llvm@21 lld@21
- name: Run clang-tidy
run: ./run-clang-tidy.sh
env:
CLANG_TIDY_LLVM_INSTALL_DIR: /opt/homebrew/opt/llvm@21
check_cmake_file_lists:
name: Check CMake file lists
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Run test sources check
run: |
check_dir() {
local dir="$1"
(
cd "$dir" &&
comm -23 \
<(find . -maxdepth 1 -type f \( -name '*.c' -o -name '*.cpp' \) -printf '%f\n' | sort) \
<(grep -P '^\s*#?\s*[A-Za-z0-9_.]+$' CMakeLists.txt | tr -d '# ' | sort) \
| tee missing_files &&
[ ! -s missing_files ]
)
}
check_dir test/autoschedulers/adams2019
check_dir test/autoschedulers/anderson2021
check_dir test/autoschedulers/li2018
check_dir test/autoschedulers/mullapudi2016
check_dir test/correctness
check_dir test/error
check_dir test/failing_with_issue
check_dir test/fuzz
check_dir test/generator
check_dir test/performance
check_dir test/runtime
check_dir test/warning
check_gha_workflows:
name: Check GitHub Actions workflows
runs-on: ubuntu-slim
steps:
- uses: actions/checkout@v4
- name: actionlint
uses: raven-actions/actionlint@v2