circtools CI #953
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: 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 }} |