Skip to content

Commit 2367100

Browse files
authored
Add actionlint to GitHub Actions checks (#8984)
* Fix LLD find hint for Homebrew pinned versions
1 parent 92437b1 commit 2367100

3 files changed

Lines changed: 43 additions & 21 deletions

File tree

.github/workflows/presubmit.yml

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ on:
1212
- '**.cmake'
1313
- 'run-clang-tidy.sh'
1414
- 'run-clang-format.sh'
15-
- '.github/workflows/presubmit.yml'
15+
- '.github/workflows/**'
1616
- '**.clang-tidy'
1717

1818
permissions:
@@ -34,34 +34,56 @@ jobs:
3434
CLANG_FORMAT_LLVM_INSTALL_DIR: /opt/homebrew/opt/llvm@21
3535

3636
- uses: astral-sh/ruff-action@v3
37+
3738
check_clang_tidy:
3839
name: Check clang-tidy
3940
runs-on: macos-14
4041
steps:
4142
- uses: actions/checkout@v4
4243
- name: Install clang-tidy
43-
run: brew install llvm@21 ninja lld@21
44+
run: brew install llvm@21 lld@21
4445
- name: Run clang-tidy
4546
run: ./run-clang-tidy.sh
4647
env:
4748
CLANG_TIDY_LLVM_INSTALL_DIR: /opt/homebrew/opt/llvm@21
49+
4850
check_cmake_file_lists:
4951
name: Check CMake file lists
5052
runs-on: ubuntu-22.04
5153
steps:
5254
- uses: actions/checkout@v4
5355
- name: Run test sources check
5456
run: |
55-
shopt -s nullglob
56-
(cd test/autoschedulers/adams2019 && comm -23 <(ls *.{c,cpp} | sort) <(grep -P '^\s*#?\s*[A-Za-z0-9_.]+$' CMakeLists.txt | tr -d '# ' | sort) | tee missing_files && [ ! -s missing_files ])
57-
(cd test/autoschedulers/anderson2021 && comm -23 <(ls *.{c,cpp} | sort) <(grep -P '^\s*#?\s*[A-Za-z0-9_.]+$' CMakeLists.txt | tr -d '# ' | sort) | tee missing_files && [ ! -s missing_files ])
58-
(cd test/autoschedulers/li2018 && comm -23 <(ls *.{c,cpp} | sort) <(grep -P '^\s*#?\s*[A-Za-z0-9_.]+$' CMakeLists.txt | tr -d '# ' | sort) | tee missing_files && [ ! -s missing_files ])
59-
(cd test/autoschedulers/mullapudi2016 && comm -23 <(ls *.{c,cpp} | sort) <(grep -P '^\s*#?\s*[A-Za-z0-9_.]+$' CMakeLists.txt | tr -d '# ' | sort) | tee missing_files && [ ! -s missing_files ])
60-
(cd test/correctness && comm -23 <(ls *.{c,cpp} | sort) <(grep -P '^\s*#?\s*[A-Za-z0-9_.]+$' CMakeLists.txt | tr -d '# ' | sort) | tee missing_files && [ ! -s missing_files ])
61-
(cd test/error && comm -23 <(ls *.{c,cpp} | sort) <(grep -P '^\s*#?\s*[A-Za-z0-9_.]+$' CMakeLists.txt | tr -d '# ' | sort) | tee missing_files && [ ! -s missing_files ])
62-
(cd test/failing_with_issue && comm -23 <(ls *.{c,cpp} | sort) <(grep -P '^\s*#?\s*[A-Za-z0-9_.]+$' CMakeLists.txt | tr -d '# ' | sort) | tee missing_files && [ ! -s missing_files ])
63-
(cd test/fuzz && comm -23 <(ls *.{c,cpp} | sort) <(grep -P '^\s*#?\s*[A-Za-z0-9_.]+$' CMakeLists.txt | tr -d '# ' | sort) | tee missing_files && [ ! -s missing_files ])
64-
(cd test/generator && comm -23 <(ls *.{c,cpp} | sort) <(grep -P '^\s*#?\s*[A-Za-z0-9_.]+$' CMakeLists.txt | tr -d '# ' | sort) | tee missing_files && [ ! -s missing_files ])
65-
(cd test/performance && comm -23 <(ls *.{c,cpp} | sort) <(grep -P '^\s*#?\s*[A-Za-z0-9_.]+$' CMakeLists.txt | tr -d '# ' | sort) | tee missing_files && [ ! -s missing_files ])
66-
(cd test/runtime && comm -23 <(ls *.{c,cpp} | sort) <(grep -P '^\s*#?\s*[A-Za-z0-9_.]+$' CMakeLists.txt | tr -d '# ' | sort) | tee missing_files && [ ! -s missing_files ])
67-
(cd test/warning && comm -23 <(ls *.{c,cpp} | sort) <(grep -P '^\s*#?\s*[A-Za-z0-9_.]+$' CMakeLists.txt | tr -d '# ' | sort) | tee missing_files && [ ! -s missing_files ])
57+
check_dir() {
58+
local dir="$1"
59+
(
60+
cd "$dir" &&
61+
comm -23 \
62+
<(find . -maxdepth 1 -type f \( -name '*.c' -o -name '*.cpp' \) -printf '%f\n' | sort) \
63+
<(grep -P '^\s*#?\s*[A-Za-z0-9_.]+$' CMakeLists.txt | tr -d '# ' | sort) \
64+
| tee missing_files &&
65+
[ ! -s missing_files ]
66+
)
67+
}
68+
69+
check_dir test/autoschedulers/adams2019
70+
check_dir test/autoschedulers/anderson2021
71+
check_dir test/autoschedulers/li2018
72+
check_dir test/autoschedulers/mullapudi2016
73+
check_dir test/correctness
74+
check_dir test/error
75+
check_dir test/failing_with_issue
76+
check_dir test/fuzz
77+
check_dir test/generator
78+
check_dir test/performance
79+
check_dir test/runtime
80+
check_dir test/warning
81+
82+
check_gha_workflows:
83+
name: Check GitHub Actions workflows
84+
runs-on: ubuntu-slim
85+
steps:
86+
- uses: actions/checkout@v4
87+
88+
- name: actionlint
89+
uses: raven-actions/actionlint@v2

.github/workflows/testing-make.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,21 @@ jobs:
3434
run: |
3535
if [ "$RUNNER_OS" = "Linux" ]; then
3636
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
37-
echo "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-$LLVM_VERSION main" | sudo tee /etc/apt/sources.list.d/llvm-$LLVM_VERSION.list
37+
echo "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-${LLVM_VERSION} main" | sudo tee "/etc/apt/sources.list.d/llvm-${LLVM_VERSION}.list"
3838
sudo apt-get update
3939
sudo apt-get install -y \
4040
build-essential pkg-config libpng-dev libjpeg-turbo8-dev \
41-
llvm-$LLVM_VERSION-dev clang-$LLVM_VERSION lld-$LLVM_VERSION liblld-$LLVM_VERSION-dev
41+
"llvm-${LLVM_VERSION}-dev" "clang-${LLVM_VERSION}" "lld-${LLVM_VERSION}" "liblld-${LLVM_VERSION}-dev"
4242
elif [ "$RUNNER_OS" = "macOS" ]; then
43-
brew install llvm@$LLVM_VERSION lld@$LLVM_VERSION libjpeg-turbo libpng pkgconf protobuf
43+
brew install "llvm@${LLVM_VERSION}" "lld@${LLVM_VERSION}" libjpeg-turbo libpng pkgconf protobuf
4444
fi
4545
4646
- name: Set up environment
4747
run: |
4848
if [ "$RUNNER_OS" = "Linux" ]; then
49-
echo "LLVM_CONFIG=llvm-config-$LLVM_VERSION" | tee -a "$GITHUB_ENV"
49+
echo "LLVM_CONFIG=llvm-config-${LLVM_VERSION}" | tee -a "$GITHUB_ENV"
5050
elif [ "$RUNNER_OS" = "macOS" ]; then
51-
echo "LLVM_CONFIG=$(brew --prefix llvm@$LLVM_VERSION)/bin/llvm-config" | tee -a "$GITHUB_ENV"
51+
echo "LLVM_CONFIG=$(brew --prefix "llvm@${LLVM_VERSION}")/bin/llvm-config" | tee -a "$GITHUB_ENV"
5252
fi
5353
echo "MAKEFLAGS=-j $(getconf _NPROCESSORS_ONLN)" | tee -a "$GITHUB_ENV"
5454

cmake/FindHalide_LLVM.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ if (LLVM_FOUND)
7373
# Homebrew split the LLVM and LLD packages as of version 19, so
7474
# having multiple LLVM versions installed leads to the newest
7575
# LLD being found without this hint.
76-
"${LLVM_INSTALL_PREFIX}/../lld@${LLVM_VERSION_MAJOR}"
76+
"${LLVM_DIR}/../../../../lld@${LLVM_VERSION_MAJOR}"
7777
"${LLVM_DIR}/../lld"
7878
"${LLVM_DIR}/../lib/cmake/lld"
7979
)

0 commit comments

Comments
 (0)