Skip to content

implemented tests for ortholog-mapping functions in the filtering module #403

implemented tests for ortholog-mapping functions in the filtering module

implemented tests for ortholog-mapping functions in the filtering module #403

Workflow file for this run

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