Skip to content

Delete newline that causes formatting issue on Github. #192

Delete newline that causes formatting issue on Github.

Delete newline that causes formatting issue on Github. #192

Workflow file for this run

name: Linux
on:
pull_request:
types: [ opened, synchronize, reopened ]
paths-ignore:
- "doc/**"
- "README.md"
- "CODE_OF_CONDUCT.md"
- "LICENSE.txt"
- ".gitignore"
- ".gitattributes"
- ".gitmodules"
- ".lldbinit"
- ".github/**"
- "!.github/workflows/testing-linux.yml"
- "packaging/**"
- "Makefile"
- "Makefile.inc"
- 'run-clang-tidy.sh'
- '**.clang-tidy'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
linux:
if: "!contains(github.event.pull_request.labels.*.name, 'skip_buildbots')"
name: linux-${{ matrix.bits }} / ${{ matrix.uv_group }}
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
bits: [ "32" ] # Intentionally not 64, as we haven't configured self-hosted runners for it yet.
uv_group: [ "ci-llvm-main", "ci-llvm-22", "ci-llvm-21" ]
include:
- bits: 32
arch: i686
python: cpython-3.11.5-linux-x86-gnu # latest available on uv
# - bits: 64 # Intentionally not 64, as we haven't configured self-hosted runners for it yet.
# arch: x86_64
# python: cpython-3.10-linux-x86_64-gnu
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
- name: Install system dependencies
run: |
if [[ "${{ matrix.bits }}" == "32" ]]; then
sudo dpkg --add-architecture i386
fi
apt_update() {
for i in 1 2 3; do
if sudo apt-get update; then return 0; fi
echo "apt-get update failed (attempt $i/3), retrying in 10s..."
sleep 10
done
return 1
}
apt_update
if [[ "${{ matrix.bits }}" == "32" ]]; then
sudo apt-get install -y \
gcc-multilib \
g++-multilib \
libpng-dev:i386 \
libjpeg-dev:i386
else
sudo apt-get install -y \
libpng-dev \
libjpeg-dev
fi
- name: Sync CI environment
run: |
setarch ${{ matrix.arch }} bash -ec "
CC='gcc -m${{ matrix.bits }}' CXX='g++ -m${{ matrix.bits }}' \
uv sync --python '${{ matrix.python }}' --group '${{ matrix.uv_group }}' --no-install-project
echo '${GITHUB_WORKSPACE}/.venv/bin' >> '$GITHUB_PATH'
echo 'VIRTUAL_ENV=${GITHUB_WORKSPACE}/.venv' >> '$GITHUB_ENV'
"
- name: Configure LLVM
run: echo "Halide_LLVM_ROOT=$(halide-llvm --prefix)" >> "$GITHUB_ENV"
- name: Configure CMake
run: cmake --preset ci-linux-x86-${{ matrix.bits }}
- name: Initial build
run: cmake --build build
- name: DEBUG - print cpu info and Halide host target
run: |
cat /proc/cpuinfo
./build/src/autoschedulers/common/get_host_target
- name: Test (host)
run: |
cmake -S . -B build -DHalide_TARGET=host
cmake --build build
ctest --test-dir build --build-config RelWithDebInfo --output-on-failure -LE performance -j "$(nproc)"
ctest --test-dir build --build-config RelWithDebInfo --output-on-failure -L performance --repeat until-pass:5
- name: Test (no extensions)
run: |
cmake -S . -B build -DHalide_TARGET=cmake
cmake --build build
ctest --test-dir build --build-config RelWithDebInfo --output-on-failure -LE performance -j "$(nproc)"
ctest --test-dir build --build-config RelWithDebInfo --output-on-failure -L performance --repeat until-pass:5