Skip to content

Fedora x86

Fedora x86 #31

Workflow file for this run

name: Fedora x86
on:
# push:
# pull_request:
# branches: [main]
schedule:
- cron: "0 0 * * 1"
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-24.04
container: fedora:42
strategy:
fail-fast: false
matrix:
compiler:
- { compiler: GNU, CC: gcc, CXX: g++ }
- { compiler: LLVM, CC: clang, CXX: clang++ }
type: [Debug, Release]
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
dnf install -y --setopt=install_weak_deps=False \
ca-certificates cmake ninja-build gcc gcc-c++ \
dnf-plugins-core libxml2-devel \
python3 python3-pip python3-setuptools \
xz diffutils zlib-devel ncurses-libs libffi-devel
cat > /etc/yum.repos.d/fedora-rawhide.repo <<'EOF'
[fedora-rawhide]
name=Fedora Rawhide
baseurl=https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/
enabled=1
gpgcheck=0
EOF
dnf --setopt=clean_requirements_on_remove=1 --enablerepo=fedora-rawhide install -y \
llvm llvm-devel clang mlir mlir-devel
pip3 install lit --break-system-packages
- name: Build eter
env:
CC: ${{ matrix.compiler.CC }}
CXX: ${{ matrix.compiler.CXX }}
run: |
LLVM_CMAKE_DIR="$(llvm-config --cmakedir)"
MLIR_CMAKE_DIR="${LLVM_CMAKE_DIR%/llvm}/mlir"
FILECHECK_PATH="$(command -v FileCheck || command -v FileCheck-22 || command -v llvm-FileCheck || command -v llvm-FileCheck-22 || command -v filecheck || command -v filecheck-22 || true)"
LIT_PATH="$(command -v llvm-lit || command -v llvm-lit-22 || command -v lit || true)"
echo "Found FILECHECK_PATH=${FILECHECK_PATH}"
echo "Found LIT_PATH=${LIT_PATH}"
if [ -n "${FILECHECK_PATH}" ]; then
LLVM_TOOLS_BIN_DIR="$(dirname "${FILECHECK_PATH}")"
else
LLVM_TOOLS_BIN_DIR="/usr/bin"
fi
mkdir build && cd build
EXTRA_CMAKE_ARGS=""
if [ -n "${FILECHECK_PATH}" ]; then
EXTRA_CMAKE_ARGS="${EXTRA_CMAKE_ARGS} -DFILECHECK_EXECUTABLE=${FILECHECK_PATH}"
fi
if [ -n "${LIT_PATH}" ]; then
EXTRA_CMAKE_ARGS="${EXTRA_CMAKE_ARGS} -DETER_LIT_EXECUTABLE=${LIT_PATH}"
fi
cmake -DLLVM_DIR="${LLVM_CMAKE_DIR}" \
-DMLIR_DIR="${MLIR_CMAKE_DIR}" \
-DLLVM_TOOLS_BINARY_DIR="${LLVM_TOOLS_BIN_DIR}" \
${EXTRA_CMAKE_ARGS} \
-DCMAKE_BUILD_TYPE=${{ matrix.type }} \
-G Ninja ../
ninja -j2
- name: Run tests
run: |
cd build
lit -va ./test/