2020-08-05 09:57:59 +08:00
|
|
|
name: Build and Test
|
|
|
|
|
|
|
|
on: [push, pull_request]
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
build:
|
2021-07-28 07:10:10 +08:00
|
|
|
name: Build and Test (Release Asserts)
|
2020-08-08 01:32:02 +08:00
|
|
|
runs-on: ubuntu-20.04
|
2020-08-05 09:57:59 +08:00
|
|
|
steps:
|
|
|
|
- name: Get npcomp
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
with:
|
|
|
|
submodules: 'true'
|
2020-11-23 05:01:15 +08:00
|
|
|
- name: Install python depends
|
2020-10-13 12:49:39 +08:00
|
|
|
run: |
|
2021-07-28 07:10:10 +08:00
|
|
|
python3 -m pip install -r $GITHUB_WORKSPACE/external/llvm-project/mlir/python/requirements.txt
|
2021-02-22 05:36:06 +08:00
|
|
|
- name: Install pytorch_nightly depends
|
|
|
|
run: |
|
2021-07-03 02:14:32 +08:00
|
|
|
python3 -m pip install --pre 'torch==1.10.0.dev20210630+cpu' 'torchvision==0.11.0.dev20210630+cpu' -f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html
|
2021-07-28 07:10:10 +08:00
|
|
|
- name: Install Ninja
|
|
|
|
uses: llvm/actions/install-ninja@55d844821959226fab4911f96f37071c1d4c3268
|
|
|
|
- name: Get Submodule Hash
|
|
|
|
id: get-submodule-hash
|
|
|
|
run: echo "::set-output name=hash::$(md5sum $(git submodule status))"
|
2020-08-05 09:57:59 +08:00
|
|
|
shell: bash
|
2021-07-28 07:10:10 +08:00
|
|
|
- name: Ccache for C++ compilation
|
|
|
|
uses: hendrikmuhs/ccache-action@4687d037e4d7cf725512d9b819137a3af34d39b3
|
2020-08-05 09:57:59 +08:00
|
|
|
with:
|
2021-07-28 07:10:10 +08:00
|
|
|
key: ${{ runner.os }}-${{ steps.get-submodule-hash.outputs.hash }}
|
2020-08-05 09:57:59 +08:00
|
|
|
- name: Build and Test npcomp (Assert)
|
|
|
|
run: |
|
2021-07-28 07:10:10 +08:00
|
|
|
cd $GITHUB_WORKSPACE
|
|
|
|
mkdir build
|
|
|
|
cd build
|
|
|
|
cmake .. -GNinja \
|
|
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
|
|
-DCMAKE_LINKER=lld \
|
|
|
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
|
|
|
-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \
|
|
|
|
-DPython3_EXECUTABLE=/usr/bin/python3 \
|
|
|
|
-DLLVM_ENABLE_ASSERTIONS=ON \
|
|
|
|
-DLLVM_TARGETS_TO_BUILD=host \
|
|
|
|
-DNPCOMP_ENABLE_PYTORCH=ON
|
|
|
|
ninja
|
|
|
|
ninja check-npcomp check-frontends-pytorch
|