name: CI on: push: branches: [master, try-import] 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 cpu - name: C++ test run: ./ci/run_cpp_test.sh cpu gpu-test: runs-on: self-hosted container: image: localhost:5000/megengine-ci:latest volumes: - /usr/local/cuda-10.1-libs:/usr/local/cuda-10.1-libs options: --gpus all --shm-size 1g env: NCCL_LAUNCH_MODE: PARALLEL 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 cuda - name: Python test run: ./ci/run_python_test.sh cuda - name: C++ test run: ./ci/run_cpp_test.sh cuda auto-merge: if: ${{ github.ref == 'refs/heads/try-import' }} runs-on: ubuntu-latest needs: [cpu-test, gpu-test] steps: - name: Checkout MegEngine uses: actions/checkout@v2 with: fetch-depth: '0' - name: Merge with master run: | git config user.name "megvii-mge" git config user.email "megengine@megvii.com" git fetch origin master git checkout -b master origin/master git rebase try-import git push send-dingding: runs-on: ubuntu-latest needs: [cpu-test, gpu-test] if: ${{ always() && github.ref == 'refs/heads/try-import' && (needs.cpu-test.result == 'failure' || needs.gpu-test.result == 'failure' ) }} steps: - name: run uses: zcong1993/actions-ding@master with: dingToken: ${{ secrets.DINGDING_TOKEN }} body: | { "msgtype": "link", "link": { "text": "Workflow ${{ github.run_id }} Failed", "title": "Action Alert", "picUrl": "", "messageUrl": "https://github.com/MegEngine/MegEngine/actions/runs/${{ github.run_id }}" } }