-
Notifications
You must be signed in to change notification settings - Fork 38
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #168 from ThrunGroup/dev
Merging branch `dev` into main; BanditPAM `v2.0.0` release; test failures are random intermittent failures to be expected
- Loading branch information
Showing
26 changed files
with
582 additions
and
285 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
name: MacOS - build package and run tests | ||
on: [push, pull_request] | ||
jobs: | ||
build: | ||
runs-on: macos-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"] | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install MacOS dependencies | ||
run: | | ||
brew install llvm libomp armadillo | ||
- name: Install Python dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install pytest | ||
pip install -r requirements.txt | ||
- name: Install Armadillo 10.7.5+ | ||
run: | | ||
cd ~ | ||
git clone https://gitlab.com/conradsnicta/armadillo-code.git | ||
cd armadillo-code | ||
sudo cmake . | ||
sudo make install | ||
- name: Install carma | ||
run: | | ||
cd ~ | ||
git clone https://github.com/RUrlus/carma.git | ||
cd carma | ||
mkdir build | ||
cd build | ||
sudo cmake -DCARMA_INSTALL_LIB=ON .. | ||
sudo cmake --build . --config Release --target install | ||
cd ~ | ||
- name: Install BanditPAM package | ||
run: | | ||
pip install -vvv -e . | ||
env: | ||
# The default compiler on the Github Ubuntu runners is gcc | ||
# Would need to make a respective include change for clang | ||
CPLUS_INCLUDE_PATH: /usr/local/include/carma | ||
- name: Downloading data files for tests | ||
run: | | ||
mkdir -p data | ||
curl -XGET https://motiwari.com/banditpam_data/scRNA_1k.csv > data/scRNA_1k.csv | ||
curl -XGET https://motiwari.com/banditpam_data/scrna_reformat.csv.gz > data/scrna_reformat.csv.gz | ||
curl -XGET https://motiwari.com/banditpam_data/MNIST_100.csv > data/MNIST_100.csv | ||
curl -XGET https://motiwari.com/banditpam_data/MNIST_1k.csv > data/MNIST_1k.csv | ||
curl -XGET https://motiwari.com/banditpam_data/MNIST_10k.tar.gz > data/MNIST_10k.tar.gz | ||
tar -xzvf data/MNIST_10k.tar.gz -C data | ||
curl -XGET https://motiwari.com/banditpam_data/MNIST_70k.tar.gz > data/MNIST_70k.tar.gz | ||
tar -xzvf data/MNIST_70k.tar.gz -C data | ||
- name: Run smaller suite of test cases | ||
run : | | ||
pytest tests/test_smaller.py | ||
# - name: Run larger suite of test cases | ||
# run : | | ||
# pytest tests/test_larger.py | ||
- name: Verify that the C++ executable compiles and runs | ||
run : | | ||
git clone https://github.com/ThrunGroup/BanditPAM | ||
cd BanditPAM | ||
mkdir build | ||
cd build | ||
sudo cmake .. | ||
sudo make | ||
src/BanditPAM -f ../data/MNIST_1k.csv -k 5 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
name: Run style checks | ||
on: [push, pull_request] | ||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"] | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install style check dependencies | ||
run: | | ||
sudo apt update | ||
sudo apt install -y clang-format cppcheck | ||
- name: Install Python dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install flake8 pytest cpplint | ||
pip install -r requirements.txt | ||
- name: Lint with flake8 | ||
run: | | ||
# stop the build if there are Python syntax errors or undefined names | ||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics | ||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide | ||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=79 --statistics --exclude headers/carma | ||
- name: Lint with cpplint | ||
run: | | ||
cpplint --exclude=headers/carma --exclude=build --filter=-legal/copyright,-build/c++11 --recursive . |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
name: Windows - build package and run tests | ||
on: [push, pull_request] # This test is currently disabled until we can build Armadillo on Windows | ||
jobs: | ||
build: | ||
runs-on: windows-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"] | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
# - name: Install Windows dependencies | ||
# run: | | ||
# cmake --version | ||
# - name: Install CPython from Anaconda # TODO: Need to update CMake? # TODO: See https://docs.conda.io/projects/conda/en/latest/user-guide/install/windows.html | ||
# run: | | ||
# curl -XGET https://repo.anaconda.com/archive/Anaconda3-2021.11-Windows-x86_64.exe > Anaconda3-2021.11-Windows-x86_64.exe | ||
# start /wait "" "Anaconda3-latest-Windows-x86_64.exe" /InstallationType=JustMe /AddToPath=1 /RegisterPython=1 /S /D=%UserProfile%\Anaconda3 | ||
# conda create -n "$p{{ matrix.python-version }}" python=${{ matrix.python-version }} | ||
# conda activate p${{ matrix.python-version }} | ||
- name: Install Python dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install pytest | ||
pip install -r requirements.txt | ||
- name: Install Armadillo 10.7.5+ | ||
run: | | ||
cd ~ | ||
git clone https://gitlab.com/conradsnicta/armadillo-code.git | ||
cd armadillo-code | ||
cmake . | ||
- name: Install carma | ||
run: | | ||
cd ~ | ||
git clone https://github.com/RUrlus/carma.git | ||
cd carma | ||
mkdir build | ||
cd build | ||
cmake -DCARMA_INSTALL_LIB=ON .. | ||
cmake --build . --config Release --target install | ||
cd ~ | ||
- name: Install BanditPAM package | ||
run: | | ||
pip install -vvv -e . | ||
env: | ||
# The default compiler on the Github Ubuntu runners is gcc | ||
# Would need to make a respective include change for clang | ||
CPLUS_INCLUDE_PATH: /usr/local/include/carma | ||
- name: Downloading data files for tests | ||
run: | | ||
mkdir -p data | ||
curl -XGET https://motiwari.com/banditpam_data/scRNA_1k.csv > data/scRNA_1k.csv | ||
curl -XGET https://motiwari.com/banditpam_data/scrna_reformat.csv.gz > data/scrna_reformat.csv.gz | ||
curl -XGET https://motiwari.com/banditpam_data/MNIST_100.csv > data/MNIST_100.csv | ||
curl -XGET https://motiwari.com/banditpam_data/MNIST_1k.csv > data/MNIST_1k.csv | ||
curl -XGET https://motiwari.com/banditpam_data/MNIST_10k.tar.gz > data/MNIST_10k.tar.gz | ||
tar -xzvf data/MNIST_10k.tar.gz -C data | ||
curl -XGET https://motiwari.com/banditpam_data/MNIST_70k.tar.gz > data/MNIST_70k.tar.gz | ||
tar -xzvf data/MNIST_70k.tar.gz -C data | ||
- name: Run smaller suite of test cases | ||
run : | | ||
pytest tests/test_smaller.py | ||
# - name: Run larger suite of test cases | ||
# run : | | ||
# pytest tests/test_larger.py | ||
# - name: Verify that the C++ executable compiles and runs | ||
# run : | | ||
# git clone https://github.com/ThrunGroup/BanditPAM | ||
# cd BanditPAM | ||
# mkdir build | ||
# cd build | ||
# cmake .. | ||
# make | ||
# src/BanditPAM -f ../data/MNIST_1k.csv -k 5 |
This file was deleted.
Oops, something went wrong.
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
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
File renamed without changes.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
<!-- HTML header for doxygen 1.9.3--> | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
<html xmlns="http://www.w3.org/1999/xhtml"> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||
<meta http-equiv="X-UA-Compatible" content="IE=11"/> | ||
<meta name="generator" content="Doxygen $doxygenversion"/> | ||
<meta name="viewport" content="width=device-width, initial-scale=1"/> | ||
<link rel="shortcut icon" href="$relpath^banditpam_favicon.ico" type="image/x-icon" /> | ||
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME--> | ||
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME--> | ||
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/> | ||
<!--BEGIN DISABLE_INDEX--> | ||
<!--BEGIN FULL_SIDEBAR--> | ||
<script type="text/javascript">var page_layout=1;</script> | ||
<!--END FULL_SIDEBAR--> | ||
<!--END DISABLE_INDEX--> | ||
<script type="text/javascript" src="$relpath^jquery.js"></script> | ||
<script type="text/javascript" src="$relpath^dynsections.js"></script> | ||
$treeview | ||
$search | ||
$mathjax | ||
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" /> | ||
$extrastylesheet | ||
</head> | ||
<body> | ||
<!--BEGIN DISABLE_INDEX--> | ||
<!--BEGIN FULL_SIDEBAR--> | ||
<div id="side-nav" class="ui-resizable side-nav-resizable"><!-- do not remove this div, it is closed by doxygen! --> | ||
<!--END FULL_SIDEBAR--> | ||
<!--END DISABLE_INDEX--> | ||
|
||
<div id="top"><!-- do not remove this div, it is closed by doxygen! --> | ||
|
||
<!--BEGIN TITLEAREA--> | ||
<div id="titlearea"> | ||
<table cellspacing="0" cellpadding="0"> | ||
<tbody> | ||
<tr id="projectrow"> | ||
<!--BEGIN PROJECT_LOGO--> | ||
<td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></td> | ||
<!--END PROJECT_LOGO--> | ||
<!--BEGIN PROJECT_NAME--> | ||
<td id="projectalign"> | ||
<div id="projectname">$projectname<!--BEGIN PROJECT_NUMBER--><span id="projectnumber"> $projectnumber</span><!--END PROJECT_NUMBER--> | ||
</div> | ||
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF--> | ||
</td> | ||
<!--END PROJECT_NAME--> | ||
<!--BEGIN !PROJECT_NAME--> | ||
<!--BEGIN PROJECT_BRIEF--> | ||
<td> | ||
<div id="projectbrief">$projectbrief</div> | ||
</td> | ||
<!--END PROJECT_BRIEF--> | ||
<!--END !PROJECT_NAME--> | ||
<!--BEGIN DISABLE_INDEX--> | ||
<!--BEGIN SEARCHENGINE--> | ||
<!--BEGIN !FULL_SIDEBAR--> | ||
<td>$searchbox</td> | ||
<!--END !FULL_SIDEBAR--> | ||
<!--END SEARCHENGINE--> | ||
<!--END DISABLE_INDEX--> | ||
</tr> | ||
<!--BEGIN SEARCHENGINE--> | ||
<!--BEGIN FULL_SIDEBAR--> | ||
<tr><td colspan="2">$searchbox</td></tr> | ||
<!--END FULL_SIDEBAR--> | ||
<!--END SEARCHENGINE--> | ||
</tbody> | ||
</table> | ||
</div> | ||
<!--END TITLEAREA--> | ||
<!-- end header part --> |
Oops, something went wrong.