implemented tests for ortholog-mapping functions in the filtering module #403
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: Build CI | |
on: [ push, pull_request ] | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest, windows-latest, macos-latest ] | |
python-version: [ 3.8, 3.9, '3.10', '3.11' ] | |
exclude: | |
- os: macos-latest | |
python-version: 3.8 | |
- os: macos-latest | |
python-version: 3.9 | |
- os: macos-latest | |
python-version: '3.10' | |
env: | |
DISPLAY: ':99.0' | |
steps: | |
- name: Configure pagefile | |
if: runner.os == 'Windows' | |
uses: al-cheb/[email protected] | |
- name: Set up pagefile | |
if: runner.os == 'Windows' | |
run: | | |
(Get-CimInstance Win32_PageFileUsage).AllocatedBaseSize | |
- name: Get repository | |
uses: actions/checkout@v3 | |
- name: apt-get update (Linux) | |
if: runner.os == 'Linux' | |
run: sudo apt-get update | |
- name: brew update (macOS) | |
if: runner.os == 'MacOS' | |
run: brew update | |
- name: Setup Qt requirements for Linux | |
uses: tlambert03/setup-qt-libs@v1 | |
- name: Setup Graphviz | |
uses: ts-graphviz/setup-graphviz@v1 | |
- name: Cache LLVM and Clang | |
if: runner.os != 'macOS' | |
id: cache-llvm | |
uses: actions/cache@v2 | |
with: | |
path: ${{ runner.temp }}/llvm | |
key: llvm-9 | |
- name: Install LLVM and Clang | |
if: runner.os != 'macOS' | |
uses: KyleMayes/install-llvm-action@v1 | |
with: | |
version: "9.0" | |
directory: ${{ runner.temp }}/llvm | |
cached: ${{ steps.cache-llvm.outputs.cache-hit }} | |
- name: Install R | |
uses: r-lib/actions/setup-r@v2 | |
with: | |
r-version: '4.3' # The R version to download (if necessary) and use. | |
- name: Install homebrew on Linux | |
if: runner.os == 'Linux' | |
uses: Homebrew/actions/setup-homebrew@master | |
- name: Install cURL on Linux | |
if: runner.os == 'Linux' | |
run: sudo apt-get install libcurl4-openssl-dev | |
- name: Install cURL on Windows | |
if: runner.os == 'Windows' | |
run: choco install openssl | |
- name: Install libxml on MacOS | |
if: runner.os == 'macOS' | |
run: brew install libxml2 | |
- name: command line tools on MacOS | |
if: runner.os == 'macOS' | |
run: | | |
gcc -v -xc++ /dev/null -fsyntax-only | |
- name: Test R installation | |
run: Rscript -e "print('R script ran successfully')" | |
- name: Install kallisto | |
run: | | |
if [ "$RUNNER_OS" == "Linux" ]; then | |
brew install kallisto | |
elif [ "$RUNNER_OS" == "macOS" ]; then | |
brew install kallisto | |
elif [ "$RUNNER_OS" == "Windows" ]; then | |
choco install wget -y | |
wget https://github.com/pachterlab/kallisto/releases/download/v0.50.0/kallisto_windows-v0.50.0.zip | |
7z x kallisto*.zip | |
echo "${GITHUB_WORKSPACE}/kallisto" >> $GITHUB_PATH | |
else | |
echo "$RUNNER_OS not supported" | |
exit 1 | |
fi | |
shell: bash | |
continue-on-error: true | |
- name: Test kallisto installation | |
run: kallisto version | |
- name: Install bowtie2 | |
run: | | |
if [ "$RUNNER_OS" == "Linux" ]; then | |
brew install bowtie2 | |
elif [ "$RUNNER_OS" == "macOS" ]; then | |
brew install bowtie2 | |
elif [ "$RUNNER_OS" == "Windows" ]; then | |
choco install wget -y | |
wget https://github.com/BenLangmead/bowtie2/releases/download/v2.5.1/bowtie2-2.5.1-mingw-x86_64.zip | |
7z x bowtie2-2.5.1-mingw-x86_64.zip | |
echo "${GITHUB_WORKSPACE}/bowtie2-2.5.1-mingw-x86_64" >> $GITHUB_PATH | |
else | |
echo "$RUNNER_OS not supported" | |
exit 1 | |
fi | |
shell: bash | |
- name: Test bowtie2 installation | |
run: | | |
bowtie2 --version | |
bowtie2-build-s --version | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: 'pip' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install --upgrade -r requirements_dev.txt | |
python -m pip install .[all] | |
- name: Test with pytest | |
run: | | |
coverage run --source=rnalysis/ -m pytest tests/ | |
continue-on-error: false | |
- name: Generate lcov file | |
run: coverage lcov | |
- name: Coveralls Parallel | |
uses: coverallsapp/github-action@v2 | |
if: runner.os != 'macOS' | |
continue-on-error: true | |
with: | |
flag-name: run-${{ join(matrix.*, '-') }} | |
parallel: true | |
path-to-lcov: ./coverage.lcov | |
finish: | |
name: Finish submitting coverage | |
if: ${{ always() }} | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Coveralls Finished | |
uses: coverallsapp/github-action@v2 | |
continue-on-error: true | |
with: | |
parallel-finished: true |