1 # This workflow will install Python dependencies, run tests and lint with a single version of Python
2 # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
11 - '.github/workflows/**'
12 - '!.github/workflows/build-and-test-MACS3-non-x64.yml'
17 - '.github/workflows/**'
18 - '!.github/workflows/build-and-test-MACS3-non-x64.yml'
23 name: Build on ${{ matrix.arch }} with Python 3.10
31 uses: actions/checkout@v4
35 - name: Set up arch and run
36 uses: uraimo/run-on-arch-action@v2
39 arch: ${{ matrix.arch }}
42 githubToken: ${{ github.token }}
44 # The shell to run commands with in the container
47 # Create an artifacts directory
51 # Mount the current working directory (with checked-out codes) as /MACS3 in the container
55 # Create an artifacts directory on runner
57 # Install some dependencies in the container. This speeds up builds if
58 # you are also using githubToken. Any dependencies installed here will
59 # be part of the container image that gets cached, so subsequent
60 # builds don't have to re-install them. The image layer is cached
61 # publicly in your project's package repository, so it is vital that
62 # no secrets are present in the container state or logs.
64 # install dependencies
66 # We install the dependencies for compiling and installing
67 # the python libraries that MACS3 depends on.
68 apt-get install -yq apt-utils bc libblas3 liblapack3 libblas-dev liblapack-dev libopenblas-dev pkg-config python3 python3-pip python3-venv python3-wheel meson ninja-build cmake procps zlib1g zlib1g-dev gfortran
73 # let's create virtualenv
74 python3 -m venv macsenv
77 source macsenv/bin/activate
79 # cd to source code directory
82 # pip will be upgraded
83 python3 -m pip install --upgrade pip
85 # install dependencies
86 if [ -f requirements.txt ]; then
87 python3 -m pip install -r requirements.txt;
91 python3 -m pip install .
93 # output versions of installed libraries
97 pytest --runxfail && cd test && ./cmdlinetest macs3
99 - name: Archive cmdlinetest results
101 uses: actions/upload-artifact@v4
103 name: cmdlinetest-hmmratac-results-${{ matrix.arch }}
104 path: temp/macs3_run_hmmratac/