Skip to content

update docs and fix description in macs3 script #432

update docs and fix description in macs3 script

update docs and fix description in macs3 script #432

# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: MACS3 CI non x64
on:
push:
paths-ignore:
- 'docs/**'
pull_request:
paths-ignore:
- 'docs/**'
jobs:
build_job:
runs-on: ubuntu-20.04
name: Build on ${{ matrix.arch }}
strategy:
matrix:
include:
- arch: aarch64
distro: bullseye
- arch: armv7
distro: bullseye
- arch: ppc64le
distro: bullseye
- arch: s390x
distro: bullseye
steps:
- name: Checkout MACS
uses: actions/checkout@v3
with:
submodules: 'true'
- name: Set up arch and run (bullseye Python 3.9)
uses: uraimo/run-on-arch-action@v2
id: build
with:
arch: ${{ matrix.arch }}
distro: ${{ matrix.distro }}
githubToken: ${{ github.token }}
# The shell to run commands with in the container
shell: /bin/bash
# Mount the current working directory (with checked-out codes) as /MACS3 in the container
dockerRunArgs: |
-v "${PWD}:/MACS3" -u macs3
# Create an artifacts directory on runner
# Install some dependencies in the container. This speeds up builds if
# you are also using githubToken. Any dependencies installed here will
# be part of the container image that gets cached, so subsequent
# builds don't have to re-install them. The image layer is cached
# publicly in your project's package repository, so it is vital that
# no secrets are present in the container state or logs.
install: |
useradd -m macs3
mkdir -p /MACS3
chown -R macs3:macs3 /MACS3
# install dependencies
apt-get update -qq -y
apt-get install apt-utils
apt-get install -yq libblas3 liblapack3 libblas-dev liblapack-dev
# we rely on Debian/Linux python packages for numpy/scipy/sklearn
apt-get install -yq python3 python3-pip python3-virtualenv python3-wheel python3-numpy python3-scipy python3-sklearn cython3
apt-get install -yq procps zlib1g zlib1g-dev gfortran
run: |
echo `uname -a`
cd /home/macs3/
# let's create virtualenv
virtualenv --system-site-packages macsenv
source macsenv/bin/activate
# copy source code over
cp -r /MACS3 .
cd MACS3
# let's make sure this file is gone...
rm -f no-global-site-packages.txt
# upgrade pip
pip install --progress-bar off --upgrade pip
# install dependencies that are not in Debian/Linux
pip install --upgrade-strategy only-if-needed --progress-bar off Cython
pip install --upgrade-strategy only-if-needed --progress-bar off hmmlearn
pip install --upgrade-strategy only-if-needed --progress-bar off cykhash
pip install --upgrade --progress-bar off pytest
# install MACS3; only-if-needed won't try to upgrade Debian/Linux python3 libs
pip install --upgrade-strategy only-if-needed --no-build-isolation --progress-bar off .
# run test
pytest --runxfail && cd test && ./cmdlinetest-nohmmratac macs3