Skip to content

circtools CI

circtools CI #953

name: circtools CI
on:
push:
pull_request:
schedule:
- cron: '0 11 * * *'
concurrency:
group: ci-tests-${{ github.ref }}-1
cancel-in-progress: false
jobs:
Main:
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
# os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, macos-12, macos-13]
# R: ['4.2.0', '4.3.0', '4.4.0' ]
R: ['4.4.0' ]
python-version: ["3.8", "3.9", "3.10", "3.11"]
#os: [ubuntu-22.04]
#os: [ macos-11]
#R: ['4.2.0' ]
# python-version: ["3.11"]
name: R ${{ matrix.R }} | Python ${{ matrix.python-version }} | ${{ matrix.os }}
steps:
- name: Create files
uses: actions/checkout@v4
with:
ref: master
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
architecture: 'x64'
- name: Updating setuptools
run: |
python3 -m pip install -U pip setuptools
- name: Installing circtools & Python dependencies
run: |
python3 -m pip install numpy wheel Cython
if [ "$RUNNER_OS" == "ubuntu-22.04"]; then
apt-get install libblas-dev libatlas-base-dev liblapack-dev -y
fi
if [ "$RUNNER_OS" == "macOS"]; then
export SYSTEM_VERSION_COMPAT=1
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
python3 -m pip install ./
else
python3 -m pip install ./
fi
- name: Set up R
uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.R }}
- name: Set up R dependencies
uses: r-lib/actions/setup-r-dependencies@v2
with:
cache-version: 1
extra-packages: |
local::circtools/contrib/circtest
local::circtools/contrib/primex
- name: Checking library loading
run: Rscript -e 'library(primex)'
- name: Check if circtools starts
run: |
circtools --version
which circtools
- name: Downloading circtools detect test data
run: |
wget https://links.jakobilab.org/circtools_github_test_data -O circtools_detect_ci_input_data.tar.bz2
tar xvf circtools_detect_ci_input_data.tar.bz2
- name: Running circtools detect with minimal data set
run: |
cd circtools_detect_ci_input_data
circtools detect @samplesheet -ss -T 2 -D -an chr1.gtf -A chr1.fa -B @bam_files.txt -M -Nr 2 2 -fg -G -F -L 20 -O circtools_ci -k
- name: Checking generated output against master output
run: |
cd circtools_detect_ci_input_data
cd circtools_ci
ls -la
wc -l *
diff ../circtools_master/LinearCount LinearCount
if [ "$RUNNER_OS" == "Linux" ]; then
sha1sum -c ../circtools_master/sha1sums.txt
elif [ "$RUNNER_OS" == "macOS" ]; then
shasum -c ../circtools_master/sha1sums.txt
fi
runs-on: ${{ matrix.os }}