diff --git a/.github/workflows/tracs_test.yml b/.github/workflows/tracs_test.yml new file mode 100644 index 0000000..afd635d --- /dev/null +++ b/.github/workflows/tracs_test.yml @@ -0,0 +1,79 @@ +name: tracs-CI + +on: + push: + branches: + - main + - dev + pull_request: + branches: + - main + - dev + schedule: + - cron: '1 1 1 * *' + + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [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 dependencies + run: | + sudo apt-get update && sudo apt-get install -y build-essential wget zlib1g-dev libncurses5-dev libbz2-dev liblzma-dev + sudo apt-get install -y libboost-all-dev + sudo apt-get install -y python3-pybind11 + python --version + python -m pip install --upgrade pip setuptools + python -m pip install pybind11 pytest + # Check if pybind11 was installed correctly + python -m pip list | grep pybind11 + + - name: Install python dependencies + run: | + pip install scipy --prefer-binary + pip install sourmash + + - name: Install Minimap2 + run: | + wget https://github.com/lh3/minimap2/releases/download/v2.26/minimap2-2.26_x64-linux.tar.bz2 + tar -xvf minimap2-2.26_x64-linux.tar.bz2 + sudo cp minimap2-2.26_x64-linux/minimap2 /usr/local/bin/ + + - name: Install Samtools + run: | + wget https://github.com/samtools/samtools/releases/download/1.18/samtools-1.18.tar.bz2 + tar -xjf samtools-1.18.tar.bz2 + cd samtools-1.18 + ./configure --prefix=/usr/local/ + make + sudo make install + + - name: Install Htsbox + run: | + git clone https://github.com/lh3/htsbox + cd htsbox + make + sudo cp htsbox /usr/local/bin/ + + - name: Download test data + run: | + wget https://github.com/gtonkinhill/tracs-test-data/archive/refs/tags/v0.0.2.zip + unzip v0.0.2.zip + + - name: Install + run: python setup.py install + + - name: Validation Tests + run: pytest -W ignore -q --datafolder="${{ github.workspace }}/tracs-test-data-0.0.2/" + +