Skip to content

CI

CI #22

Workflow file for this run

---
name: CI
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master branch
# don't trigger on push
push:
branches: [ master ]
pull_request:
branches: [ master ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
tests:
name: "compile ${{ matrix.job.target }} (${{ matrix.job.os }})"
runs-on: "${{ matrix.job.os }}"
strategy:
fail-fast: false
matrix:
job:
- { target: x86_64-apple-darwin , os: macos-latest }
- { target: x86_64-unknown-linux-gnu , os: ubuntu-latest, use-cross: true }
steps:
- name: Checkout source code
uses: "actions/checkout@v3"
with:
submodules: 'recursive'
- name: Install prerequisites
env:
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
run: |
case ${{ matrix.job.target }} in
*-unknown-linux-*) sudo apt-get -y update ; sudo apt-get -y install libomp-dev ;;
*-apple-darwin) brew install gcc libomp; ;;
esac
- name: Compile default
run: |
case ${{ matrix.job.target }} in
*-unknown-linux-*) make all ;;
*-apple-darwin) make all-mac ;;
esac
- name: Compile multicore
run: |
case ${{ matrix.job.target }} in
*-unknown-linux-*) make all-openmp ;;
*-apple-darwin) make all-mac-openmp ;;
esac
# - name: Run tests (skip as this takes too long)
# run: |
# pwd
# cd tests
# bash protein.sh