add Github workflow to build the prereq Docker image for TravisCI build (#137)
* Create build-docker-prereq.ym * Rename build-docker-prereq.ym to build-docker-prereq.yml * Create prereq.Dockerfile * Update build-docker-prereq.yml * Update clone-mlir.sh * Update build-docker-prereq.yml * Update clone-mlir.sh * Update build-docker-prereq.yml * Update clone-mlir.sh * Update prereq.Dockerfile * Update clone-mlir.sh * Update prereq.Dockerfile * Update clone-mlir.sh * Update build-docker-prereq.yml * Update prereq.Dockerfile * Update clone-mlir.sh * Update build-docker-prereq.yml * Update clone-mlir.sh * Update Dockerfile * Update .travis.yml * Update .travis.yml * Update Dockerfile * Update Dockerfile * Update build-docker-prereq.yml * Update Dockerfile * Update prereq.Dockerfile * Update clone-mlir.sh * Update build-docker-prereq.yml * Update .travis.yml Co-authored-by: Gheorghe-Teodor Bercea <gt.bercea@gmail.com>
This commit is contained in:
parent
c476f05a45
commit
661fa601ee
|
@ -0,0 +1,28 @@
|
||||||
|
# This workflow will run whenever there is a change to the version of LLVM the project is based on
|
||||||
|
# It will create a new Docker image for the TravisCI build and push it to Docker Hub
|
||||||
|
# This image contains the prereqs for building onnx-mlir including a precompiled copy of the appropriate
|
||||||
|
# LLVM and MLIR code.
|
||||||
|
|
||||||
|
name: Build Docker Prereq Image
|
||||||
|
|
||||||
|
# Run this workflow when there is a change to clone-mlir.sh (that implies a new version of LLVM is being used)
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- 'utils/clone-mlir.sh'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
# This workflow contains a single job called "build"
|
||||||
|
build:
|
||||||
|
# The type of runner that the job will run on
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||||
|
steps:
|
||||||
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: build image
|
||||||
|
run: |
|
||||||
|
docker build --tag onnxmlirczar/onnx-mlir-llvmimage:initial -f $GITHUB_WORKSPACE/.github/workflows/prereq.Dockerfile $GITHUB_WORKSPACE/utils
|
||||||
|
docker login -u onnxmlirczar -p 143f1da2-332f-45a1-8587-d6cb07c13230
|
||||||
|
docker push onnxmlirczar/onnx-mlir-llvmimage:initial
|
|
@ -0,0 +1,43 @@
|
||||||
|
FROM ubuntu:focal
|
||||||
|
|
||||||
|
WORKDIR /build
|
||||||
|
|
||||||
|
# install stuff that is needed for compiling LLVM, MLIR and ONNX
|
||||||
|
RUN apt-get update
|
||||||
|
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y git cmake ninja-build libprotobuf-dev protobuf-compiler
|
||||||
|
RUN DEBIAN_FRONTEND=noninteractive \
|
||||||
|
apt-get update && \
|
||||||
|
apt-get -y install \
|
||||||
|
make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
|
||||||
|
libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils \
|
||||||
|
libffi-dev liblzma-dev
|
||||||
|
RUN git clone git://github.com/yyuu/pyenv.git .pyenv
|
||||||
|
RUN git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
|
||||||
|
|
||||||
|
ENV HOME=/build
|
||||||
|
ENV PYENV_ROOT=$HOME/.pyenv
|
||||||
|
ENV PATH=$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH
|
||||||
|
|
||||||
|
RUN pyenv install 3.7.0
|
||||||
|
|
||||||
|
RUN pyenv global 3.7.0
|
||||||
|
RUN pyenv rehash
|
||||||
|
|
||||||
|
# first install MLIR in llvm-project
|
||||||
|
RUN mkdir bin
|
||||||
|
ENV PATH=$PATH:/build/bin
|
||||||
|
COPY clone-mlir.sh bin/clone-mlir.sh
|
||||||
|
RUN chmod a+x bin/clone-mlir.sh
|
||||||
|
RUN clone-mlir.sh
|
||||||
|
|
||||||
|
WORKDIR /build/llvm-project/build
|
||||||
|
RUN cmake -G Ninja ../llvm \
|
||||||
|
-DLLVM_ENABLE_PROJECTS=mlir \
|
||||||
|
-DLLVM_BUILD_EXAMPLES=ON \
|
||||||
|
-DLLVM_TARGETS_TO_BUILD="host" \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DLLVM_ENABLE_ASSERTIONS=ON \
|
||||||
|
-DLLVM_ENABLE_RTTI=ON
|
||||||
|
|
||||||
|
RUN cmake --build . --target -- ${MAKEFLAGS}
|
||||||
|
RUN cmake --build . --target check-mlir
|
|
@ -1,5 +1,7 @@
|
||||||
FROM caoimhinuibrian/onnx-mlir-llvmimage:initial
|
# Grab pre-built LLVM from github packages
|
||||||
|
FROM onnxmlirczar/onnx-mlir-llvmimage:initial
|
||||||
|
|
||||||
|
WORKDIR /build/bin
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
ENV HOME=/build
|
ENV HOME=/build
|
||||||
ENV PYENV_ROOT=$HOME/.pyenv
|
ENV PYENV_ROOT=$HOME/.pyenv
|
||||||
|
@ -7,7 +9,6 @@ ENV PATH=$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH
|
||||||
RUN pyenv global 3.7.0
|
RUN pyenv global 3.7.0
|
||||||
RUN pyenv rehash
|
RUN pyenv rehash
|
||||||
|
|
||||||
RUN mkdir bin
|
|
||||||
ENV PATH=$PATH:/build/bin
|
ENV PATH=$PATH:/build/bin
|
||||||
RUN git clone --recursive https://github.com/onnx/onnx-mlir.git
|
RUN git clone --recursive https://github.com/onnx/onnx-mlir.git
|
||||||
COPY compile-onnx-mlir.sh bin/compile-onnx-mlir.sh
|
COPY compile-onnx-mlir.sh bin/compile-onnx-mlir.sh
|
||||||
|
|
Loading…
Reference in New Issue