diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index 1c3b74f69..60c95486a 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -4,16 +4,30 @@ on: types: [opened, synchronize, reopened] jobs: - docker_cpu_build: - runs-on: ubuntu-latest - container: registry.taichigraphics.com/taichidev-ubuntu20.04-test:v0.1 - steps: - - run: | - ti test - docker_gpu_build: - runs-on: [self-hosted, cuda, vulkan] - container: registry.taichigraphics.com/taichidev-ubuntu20.04-test:v0.1 + docker_cpu_test: + runs-on: [self-hosted, cn, cuda, vulkan] steps: + - uses: actions/checkout@v2 + with: + submodules: 'recursive' + - run: | - ti test + docker create --user dev --name taichi --gpus all -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix registry.taichigraphics.com/taichidev-ubuntu20.04:v0.1.0 /home/dev/taichi/.github/workflows/scripts/unix_docker_build.sh CI_SETUP_CMAKE_ARGS=$CI_SETUP_CMAKE_ARGS PY=$PY + docker cp ./taichi taichi:/home/dev/taichi + docker start -a taichi + env: + DISPLAY: :1 + CI_SETUP_CMAKE_ARGS: -DTI_WITH_OPENGL:BOOL=ON -DTI_WITH_CC:BOOL=OFF -DTI_WITH_VULKAN:BOOL=ON -DTI_BUILD_TESTS:BOOL=ON + PY: py38 + + - name: clean docker container + if: always() + run: docker rm taichi -f + + ##- uses: addnab/docker-run-action@v3 + ## with: + ## username: admin + + #- uses: docker://registry.taichigraphics.com/taichidev-ubuntu20.04-test:v0.1 + diff --git a/.github/workflows/scripts/unix_docker_build.sh b/.github/workflows/scripts/unix_docker_build.sh new file mode 100755 index 000000000..d4b284bba --- /dev/null +++ b/.github/workflows/scripts/unix_docker_build.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +set -ex + +# Parse ARGs +for ARGUMENT in "$@" +do + KEY=$(echo $ARGUMENT | cut -f1 -d=) + VALUE=$(echo $ARGUMENT | cut -f2 -d=) + case "$KEY" in + CI_SETUP_CMAKE_ARGS) SHA=${VALUE} ;; + PY) PY=${VALUE} ;; + *) + esac +done + +source /home/dev/miniconda/etc/profile.d/conda.sh +conda activate $PY + +cd taichi +python3 -m pip install --user -r requirements_dev.txt +python3 -m pip install torch==1.9.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html +TAICHI_CMAKE_ARGS=$CI_SETUP_CMAKE_ARGS python3 setup.py install --user + +export TI_IN_DOCKER=true + +ti diagnose +ti test -vr2 -t2 -k "not ndarray and not torch" +ti test -vr2 -t1 -k "ndarray or torch"