monotomo test fixed #150
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 of the GitHub Action | |
name: Build scipion-em-xmipptomo on Pull Request | |
# Specify when the Action should be triggered: when a pull request is opened against the 'devel' or 'master' branch | |
on: | |
pull_request: | |
branches: [devel, master] | |
# Define the job that should be run | |
jobs: | |
build: | |
# Specify the machine to run the job on | |
runs-on: ubuntu-22.04 | |
# Avoid send statistics | |
env: | |
SEND_INSTALLATION_STATISTICS: "False" | |
# Define the steps to be taken in the job | |
steps: | |
- name: Free Disk Space (Ubuntu only) | |
uses: jlumbroso/free-disk-space@main | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libfftw3-dev libopenmpi-dev openmpi-bin libhdf5-dev python3-numpy python3-dev libtiff5-dev unzip libsqlite3-dev default-jdk git cmake libopencv-dev libopenmpi-dev make cmake | |
- name: Install CUDA | |
uses: Jimver/cuda-toolkit@master | |
id: cuda-toolkit | |
with: | |
cuda: '11.8.0' | |
method: network | |
sub-packages: '["nvcc", "toolkit"]' | |
- name: Install Miniconda | |
working-directory: ${{ github.workspace }}/../ | |
run: | | |
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh | |
bash Miniconda3-latest-Linux-x86_64.sh -b -p ${{ github.workspace }}/../miniconda/ | |
source ./miniconda/etc/profile.d/conda.sh | |
conda update -n base -c defaults conda -y | |
- name: Install Scipion | |
working-directory: ${{ github.workspace }}/../ | |
run: | | |
eval "$(${{ github.workspace }}/../miniconda/bin/conda shell.bash hook)" | |
pip3 install --user scipion-installer | |
python3 -m scipioninstaller -conda -noXmipp -noAsk scipion | |
# Installing Xmipp's Python dependencies in scipion conda enviroment | |
- name: Install scons in scipion enviroment | |
run: | | |
eval "$(${{ github.workspace }}/../miniconda/bin/conda shell.bash hook)" | |
conda activate scipion3 | |
pip install scons | |
- name: Cloning Xmipp | |
working-directory: ${{ github.workspace }}/../ | |
run: git clone https://github.com/I2PC/xmipp.git | |
# Checkout Xmipp to Pull Request branch if exists, by default stays in devel | |
- name: Conditionally checkout Xmipp to ${{ github.head_ref }} | |
working-directory: ${{ github.workspace }}/../xmipp | |
env: | |
BRANCH_NAME: ${{ github.head_ref }} | |
run: | | |
if [ $(git ls-remote --heads https://github.com/I2PC/xmipp.git $BRANCH_NAME | wc -l) -eq 1 ]; then | |
git checkout $BRANCH_NAME | |
fi | |
# Installing Xmipp | |
# Log is shown afterwards because new Xmipp's installer does not show error trace if there is any | |
- name: Compile Xmipp and show log | |
working-directory: ${{ github.workspace }}/../xmipp | |
env: | |
BUILD_TESTS: True | |
run: | | |
../scipion/scipion3 run ./xmipp || (cat compileLOG.txt && false) | |
cat compileLOG.txt | |
#TODO: Remove last "cat compileLOG.txt" once there is a new Scipion release | |
# Checkout scipion-em-xmipp to Pull Request branch if exists, else to devel | |
- name: Conditionally checkout scipion-em-xmipp to ${{ github.head_ref }} | |
working-directory: ${{ github.workspace }}/../xmipp/src/scipion-em-xmipp | |
env: | |
BRANCH_NAME: ${{ github.head_ref }} | |
run: | | |
if [ $(git ls-remote --heads https://github.com/I2PC/scipion-em-xmipp.git $BRANCH_NAME | wc -l) -eq 1 ]; then | |
git checkout $BRANCH_NAME | |
else | |
git checkout devel | |
fi | |
# Install scipion-em-xmipp, because scipion-em-xmipptomo depends on it | |
- name: Install scipion-em-xmipp | |
working-directory: ${{ github.workspace }}/../xmipp/src/scipion-em-xmipp | |
run: ${{ github.workspace }}/../scipion/scipion3 installp -p . --devel --noBin | |
# Check out the repository in the pull request | |
- name: Checkout repository | |
uses: actions/checkout@main | |
with: | |
ref: ${{ github.head_ref }} | |
- name: Install plugin from pull request | |
working-directory: ${{ github.workspace }} | |
run: ../scipion/scipion3 installp -p . --devel | |
# Currently, test script is being downloaded from scipion-chem, but that should be temporary | |
# Ideally, the script might be included in scipion core to be able to import it, | |
# or maybe host it in a separate repository common with useful scripts for all scipion plugins | |
- name: Run tests | |
working-directory: ${{ github.workspace }}/${{ vars.FOLDER_WITH_VERSION }} | |
run: | | |
wget https://raw.githubusercontent.com/scipion-chem/scipion-chem/devel/pwchem/runTests.py | |
eval "$(${{ github.workspace }}/../miniconda/bin/conda shell.bash hook)" | |
python runTests.py ${{ github.workspace }}/../scipion/scipion3 ${{ vars.FOLDER_WITH_VERSION }} -noGPU -testData=testData.json -j=3 |