fix: acquire lock in DeleteHeap to prevent race on thread exit #182
This file contains hidden or 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 | |
| on: [push] | |
| jobs: | |
| Ubuntu_cmake: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v1 | |
| - name: Install required packages | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get -y install git gcc g++ make lcov wget libpthread-stubs0-dev | |
| - name: Configure CMake | |
| run: | | |
| mkdir cmake | |
| cd cmake | |
| wget https://github.com/Kitware/CMake/releases/download/v3.16.5/cmake-3.16.5-Linux-x86_64.sh | |
| chmod +x cmake-3.16.5-Linux-x86_64.sh | |
| ./cmake-3.16.5-Linux-x86_64.sh --skip-license | |
| cd ../ | |
| mkdir cmake-cache | |
| cd cmake-cache | |
| ../cmake/bin/cmake -DGCOV=ON .. | |
| - name: Build mesh | |
| run: | | |
| cd cmake-cache | |
| make all | |
| - name: Run tests | |
| run: | | |
| cd cmake-cache | |
| make coverage_gcc | |
| Ubuntu_bazel: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v1 | |
| - name: Install gold linker | |
| run: sudo apt-get update && sudo apt-get -y install binutils-gold | |
| - name: build in debug mode | |
| run: | | |
| ./bazel test -c dbg //src:unit-tests | |
| - name: build tests and binary | |
| run: | | |
| make -j1 | |
| - name: run benchmark (catches IFUNC static linking issues) | |
| run: | | |
| make benchmark | |
| macOS_bazel: | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v1 | |
| - name: build in debug mode | |
| run: | | |
| ./bazel test -c dbg //src:unit-tests --test_output=all | |
| - name: build tests and binary | |
| run: | | |
| make -j1 | |
| - name: run benchmark | |
| run: | | |
| make benchmark | |
| #Windows_MinGW: | |
| # | |
| # runs-on: windows-latest | |
| # | |
| # steps: | |
| # - uses: actions/checkout@v1 | |
| # - name: Install msys2/mingw64 | |
| # #steps from https://github.com/msys2/MINGW-packages/blob/master/azure-pipelines.yml | |
| # run: | | |
| # git clone https://github.com/msys2/msys2-ci-base.git %CD:~0,2%\msys64 | |
| # %CD:~0,2%\msys64\usr\bin\rm -rf %CD:~0,2%\msys64\.git | |
| # set PATH=%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem | |
| # %CD:~0,2%\msys64\usr\bin\pacman --noconfirm -Syyuu | |
| # set PATH=%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem | |
| # %CD:~0,2%\msys64\usr\bin\pacman --noconfirm --needed -S git base-devel | |
| # %CD:~0,2%\msys64\usr\bin\pacman --noconfirm -Scc | |
| # - name: Install required packages | |
| # run: | | |
| # set PATH=%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem | |
| # pacman -S --noconfirm mingw-w64-x86_64-binutils | |
| # pacman -S --noconfirm mingw-w64-x86_64-cmake | |
| # pacman -S --noconfirm mingw-w64-x86_64-gcc | |
| # pacman -S --noconfirm mingw-w64-x86_64-gcc-libs | |
| # pacman -S --noconfirm mingw-w64-x86_64-gcc-objc | |
| # pacman -S --noconfirm mingw-w64-x86_64-gdb | |
| # pacman -S --noconfirm mingw-w64-x86_64-ninja | |
| # pacman -S --noconfirm mingw-w64-x86_64-lcov | |
| # pacman -S --noconfirm mingw-w64-x86_64-winpthreads-git | |
| # pacman --noconfirm -Scc | |
| # - name: Configure CMake | |
| # run: | | |
| # set PATH=%CD:~0,2%\msys64\mingw64\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem | |
| # mkdir cmake-cache | |
| # cd cmake-cache | |
| # cmake -DGCOV=ON -G"Ninja" .. | |
| # - name: Build | |
| # run: | | |
| # set PATH=%CD:~0,2%\msys64\mingw64\bin;%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem | |
| # cd cmake-cache | |
| # ninja | |
| # - name: Run tests | |
| # run: | | |
| # set PATH=%CD:~0,2%\msys64\mingw64\bin;%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem | |
| # cd cmake-cache | |
| # ninja coverage | |
| # - name: Run big alloc | |
| # run: cd cmake-cache && ninja run_big-alloc | |
| # - name: Run fork example | |
| # run: cd cmake-cache && ninja run_fork-example | |
| # - name: Run global-large-stress | |
| # run: cd cmake-cache && ninja run_global-large-stress | |
| # - name: Run local alloc | |
| # run: cd cmake-cache && ninja run_local-alloc | |
| # - name: Run thread | |
| # run: cd cmake-cache && ninja run_thread | |
| #Windows_Visual_Studio: #not working | |
| # | |
| # runs-on: windows-latest | |
| # | |
| # steps: | |
| # - uses: actions/checkout@v1 | |
| # - name: Install required packages | |
| # run: | | |
| # ???? | |
| # - name: Configure CMake | |
| # run: | | |
| # %comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" | |
| # mkdir cmake-cache | |
| # cd cmake-cache | |
| # cmake -DGCOV=ON -G"Ninja" .. | |
| # - name: Build | |
| # run: | | |
| # %comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" | |
| # cd cmake-cache | |
| # ninja | |
| # - name: Run tests | |
| # run: | | |
| # cd cmake-cache | |
| # ninja coverage | |
| # - name: Run big alloc | |
| # run: cd cmake-cache && ninja run_big-alloc | |
| # - name: Run fork example | |
| # run: cd cmake-cache && ninja run_fork-example | |
| # - name: Run global-large-stress | |
| # run: cd cmake-cache && ninja run_global-large-stress | |
| # - name: Run local alloc | |
| # run: cd cmake-cache && ninja run_local-alloc | |
| # - name: Run thread | |
| # run: cd cmake-cache && ninja run_thread |