[pre-commit.ci] pre-commit autoupdate #334
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI of TVM | |
on: | |
push: | |
paths-ignore: | |
# Changes to those files don't mandate running CI | |
- ".clang-format" | |
- "debian/**" | |
branches: | |
- '**' | |
pull_request: | |
branches: | |
- '**' | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-20.04, ubuntu-22.04, macos-latest, windows-latest] | |
build-type: [Debug, RelWithDebInfo] | |
compiler: [gcc, clang] | |
with-robot: [ON, OFF] | |
exclude: | |
# Only default compiler on macos-latest and windows-latest | |
- os: macos-latest | |
compiler: clang | |
- os: windows-latest | |
compiler: clang | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Temporary APT mirrors cleanup | |
if: startsWith(runner.os, 'Linux') | |
run: | | |
set -e | |
sudo rm -f /etc/apt/sources.list.d/dotnetdev.list /etc/apt/sources.list.d/microsoft-prod.list | |
- name: Install dependencies | |
uses: jrl-umi3218/github-actions/install-dependencies@master | |
with: | |
compiler: ${{ matrix.compiler }} | |
build-type: ${{ matrix.build-type }} | |
ubuntu: | | |
apt: libeigen3-dev doxygen doxygen-latex libboost-all-dev | |
macos: | | |
cask: gfortran | |
brew: eigen boost | |
windows: | | |
github: | |
- path: eigenteam/eigen-git-mirror | |
ref: 3.3.7 | |
options: -DPYTHON_BINDING:BOOL=OFF | |
github: | | |
- path: jrl-umi3218/eigen-qld | |
- path: jrl-umi3218/eigen-quadprog | |
- path: jrl-umi3218/lexls | |
options: -DINSTALL_PDF_DOCUMENTATION:BOOL=OFF -DINSTALL_HTML_DOCUMENTATION:BOOL=OFF | |
- name: Install Tasks | |
uses: jrl-umi3218/github-actions/install-dependencies@master | |
with: | |
compiler: ${{ matrix.compiler }} | |
build-type: ${{ matrix.build-type }} | |
ubuntu: | | |
apt: libtinyxml2-dev libyaml-cpp-dev | |
macos: | | |
brew: tinyxml2 yaml-cpp | |
windows: | | |
github: | |
- path: leethomason/tinyxml2 | |
ref: 7.1.0 | |
- path: jbeder/yaml-cpp | |
ref: 29dcf92f870ee51cce8d68f8fcfe228942e8dfe1 | |
options: -DPYTHON_BINDING:BOOL=OFF | |
github: | | |
- path: jrl-umi3218/SpaceVecAlg | |
- path: jrl-umi3218/sch-core | |
options: -DCMAKE_CXX_STANDARD=11 | |
- path: jrl-umi3218/RBDyn | |
- path: jrl-umi3218/Tasks | |
- path: jrl-umi3218/mc_rtc_data | |
if: matrix.with-robot == 'ON' | |
- name: Build and test | |
uses: jrl-umi3218/github-actions/build-cmake-project@master | |
with: | |
compiler: ${{ matrix.compiler }} | |
build-type: ${{ matrix.build-type }} | |
options: -DTVM_WITH_QLD:BOOL=ON -DTVM_WITH_QUADPROG:BOOL=ON -DTVM_WITH_LEXLS:BOOL=ON -DTVM_WITH_ROBOT:BOOL=${{ matrix.with-robot }} -DTVM_THOROUGH_TESTING:BOOL=${{(github.event_name == 'pull_request' && startsWith(github.base_ref, 'refs/heads/master')) || startsWith(github.ref, 'refs/heads/master') || startsWith(github.ref, 'refs/tags/')}} | |
- name: Check TVM usage | |
shell: bash | |
run: | | |
set -x | |
./.github/workflows/scripts/test-usage.sh ${{ matrix.build-type }} | |
- name: Upload documentation | |
# Only run on master branch and for one configuration | |
if: matrix.os == 'ubuntu-20.04' && matrix.build-type == 'RelWithDebInfo' && matrix.compiler == 'gcc' && github.ref == 'refs/heads/master' && matrix.with-robot == 'OFF' | |
uses: jrl-umi3218/github-actions/upload-documentation@master | |
with: | |
GH_USER: gergondet | |
GH_PAGES_TOKEN: ${{ secrets.GH_PAGES_TOKEN }} | |
- name: Slack Notification | |
if: failure() | |
uses: archive/github-actions-slack@master | |
with: | |
slack-bot-user-oauth-access-token: ${{ secrets.SLACK_BOT_TOKEN }} | |
slack-channel: '#tvm' | |
slack-text: > | |
[TVM] Build *${{ matrix.os }}/${{ matrix.build-type }}/with-robot:${{ matrix.with-robot }} (${{ matrix.compiler }})* failed on ${{ github.ref }} |