first commit
Some checks failed
Build and push Docker images / build-and-push (push) Failing after 2m33s

This commit is contained in:
NiccoloN
2026-03-11 16:25:45 +01:00
commit 07cffeca2c
2 changed files with 114 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
name: Build and push Docker images
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build-and-push:
runs-on: ubuntu-latest
timeout-minutes: 1440
permissions:
contents: read
packages: write
attestations: write
id-token: write
env:
REGISTRY: docker.io
IMAGE_NAME: niccolon/raptor-deps:mlir0c2701f
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
github-server-url: https://chef.heaplab.deib.polimi.it/git
- name: Build Docker image
run: |
cd ${GITHUB_WORKSPACE}/mlir0c2701f
docker build -t ${REGISTRY}/${IMAGE_NAME} -f Dockerfile .
- name: Log in to the Container registry
if: ${{ github.ref == 'refs/heads/main' }}
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567
with:
registry: ${{ env.REGISTRY }}
username: niccolon
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push Docker image
if: ${{ github.ref == 'refs/heads/main' }}
id: push
run: |
docker push ${REGISTRY}/${IMAGE_NAME}

66
mlir0c2701f/Dockerfile Normal file
View File

@@ -0,0 +1,66 @@
FROM ubuntu:24.04 AS builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y --no-install-recommends \
git \
gcc \
g++ \
cmake \
ninja-build \
python3 \
ca-certificates && \
# Build MLIR (no install — keep full build tree)
cd /opt && \
git clone --filter=blob:none --no-checkout https://github.com/llvm/llvm-project.git && \
cd llvm-project && \
git fetch --depth 1 origin 0c2701fe7fa002e1befc5f86c268a7964f96d286 && \
git checkout FETCH_HEAD && \
cmake -S llvm -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_PROJECTS="mlir;clang" \
-DLLVM_ENABLE_RUNTIMES="openmp" \
-DLLVM_TARGETS_TO_BUILD="host" \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLVM_ENABLE_RTTI=ON \
-DENABLE_LIBOMPTARGET=OFF \
-DLLVM_ENABLE_LIBEDIT=OFF \
-DLLVM_PARALLEL_LINK_JOBS=1 && \
cmake --build build -j $(nproc) && \
# Build protobuf
cd /tmp && \
git clone --depth 1 --branch v34.0 https://github.com/protocolbuffers/protobuf && \
cd protobuf && \
cmake -S . -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/opt/protobuf && \
cmake --build build -j $(nproc) && \
cmake --build build -- install && \
# Cleanup only temp files, keep /opt/llvm-project
rm -rf /tmp/*
FROM ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y --no-install-recommends \
ca-certificates \
cmake \
ninja-build \
build-essential \
python3 \
python3-pip && \
apt-get autoremove -y && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/*
COPY --from=builder /opt/llvm-project /opt/llvm-project
COPY --from=builder /opt/protobuf /opt/protobuf
RUN echo "/opt/protobuf/lib" > /etc/ld.so.conf.d/protobuf.conf && ldconfig