提交 96742c19 编写于 作者: L luzzyzhang 提交者: Xinran Xu

ci: add github action

上级 d74a4ee9
name: CI CPU
on:
push:
branches: [master]
pull_request:
jobs:
cpu-test:
runs-on: self-hosted
container:
image: localhost:5000/megengine-ci:latest
steps:
- name: Checkout MegEngine
uses: actions/checkout@v2
- name: Checkout submodules
run: |
./third_party/prepare.sh
./third_party/install-mkl.sh
- name: Build MegEngine
run: ./ci/cmake.sh cpu
- name: Python test
run: ./ci/run_python_test.sh
- name: C++ test
run: ./ci/run_cpp_test.sh cpu
#!/bin/bash
set -e
BASEDIR=$(readlink -f "$(dirname "$0")"/..)
source "${BASEDIR}/ci/utils.sh"
if [[ "$1" == cpu ]]; then
DMGE_WITH_DISTRIBUTED=OFF
DMGE_WITH_CUDA=OFF
elif [[ "$1" == cuda ]]; then
DMGE_WITH_DISTRIBUTED=ON
DMGE_WITH_CUDA=ON
else
log "Argument must cpu or cuda"
exit 1
fi
function build() {
log "Start to build"
local build_dir="/tmp/build/${1}"
mkdir -p "$build_dir"
pushd ${build_dir} >/dev/null
cmake -S "${BASEDIR}" -B "${build_dir}" \
-DMGE_WITH_DISTRIBUTED=${DMGE_WITH_DISTRIBUTED} \
-DMGE_WITH_CUDA=${DMGE_WITH_CUDA} \
-DMGE_WITH_TEST=ON \
-DCMAKE_BUILD_TYPE=RelWithDebInfo
make -j$(($(nproc) * 2)) -I ${build_dir}
make develop
popd >/dev/null
log "End build: $(ls ${build_dir})"
}
build "$@"
FROM nvidia/cuda:10.1-devel-ubuntu18.04
RUN rm /etc/apt/sources.list.d/cuda.list
RUN apt-get update && apt-get install -y --no-install-recommends \
autoconf \
autotools-dev \
automake \
clang-6.0 \
curl \
git-lfs \
libtool \
libpcre3-dev \
llvm-6.0-dev \
openssh-client \
openssh-server \
pkg-config \
python-pip \
python3-pip \
python3-dev \
python-numpy \
python3-numpy \
python3-setuptools \
software-properties-common \
swig \
vim \
wget \
zlib1g-dev \
# GitLab Runner need Git 2.18 or higher to create a local Git repository
&& add-apt-repository ppa:git-core/ppa -y && apt-get install --no-install-recommends -y git \
&& rm -rf /var/lib/apt/lists/*
RUN cd /tmp ; wget https://cmake.org/files/v3.14/cmake-3.14.4.tar.gz;tar -xzvf cmake-3.14.4.tar.gz;cd cmake-3.14.4;./configure; make -j32; make install
RUN git lfs install
ENV PATH=${PATH}:/usr/local/cuda/bin \
LIBRARY_PATH=${LIBRARY_PATH}:/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/cuda/lib/stubs:/usr/local/cuda/lib64/stubs:/usr/local/cuda-10.1-libs/cudnn-v7.6.0/lib:/usr/local/cuda-10.1-libs/cudnn-v7.6.0/lib64:/usr/local/cuda-10.1-libs/TensorRT-5.1.5.0/lib:/usr/local/cuda-10.1-libs/TensorRT-5.1.5.0/lib64 \
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/cuda/lib/stubs:/usr/local/cuda/lib64/stubs:/usr/local/cuda-10.1-libs/cudnn-v7.6.0/lib:/usr/local/cuda-10.1-libs/cudnn-v7.6.0/lib64:/usr/local/cuda-10.1-libs/TensorRT-5.1.5.0/lib:/usr/local/cuda-10.1-libs/TensorRT-5.1.5.0/lib64:/usr/local/cuda/lib64/stubs/libcuda.so:/tmp/build/cuda/dnn/cuda-stub/libcuda.so.1 \
CPATH=${CPATH}:/usr/local/cuda/include:/usr/local/cuda-10.1-libs/cudnn-v7.6.0/include:/usr/local/cuda-10.1-libs/TensorRT-5.1.5.0/include
\ No newline at end of file
#!/bin/bash
set -e
BASEDIR=$(readlink -f "$(dirname "$0")"/..)
source "${BASEDIR}/ci/utils.sh"
export MGB_TEST_NO_LOG=1
export MGB_STABLE_RNG=1
function cpp_test {
pushd /tmp/build/"${1}" >/dev/null
./dnn/test/megdnn_test
./test/megbrain_test
popd >/dev/null
}
if [[ "$1" != "cpu" && "$1" != "cuda" ]] ; then
echo "Argument must cpu or cuda"
exit 1
fi
cpp_test "$@"
\ No newline at end of file
#!/bin/bash
set -e
BASEDIR=$(readlink -f "$(dirname "$0")"/..)
function python_test() {
pushd "${BASEDIR}"/python_module >/dev/null
pip3 install -e '.[ci]'
export PYTHONPATH=.
./test/run.sh
popd >/dev/null
}
python_test
#!/bin/bash -e
function log() {
d=$(date +'%Y-%m-%d %H:%M:%S')
echo $d" "$1
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册