Skip to content

Merge pull request #1639 from goenninger-b-t/main #1471

Merge pull request #1639 from goenninger-b-t/main

Merge pull request #1639 from goenninger-b-t/main #1471

Workflow file for this run

name: Test
on:
workflow_dispatch:
push:
branches: [ main ]
pull_request:
jobs:
test:
name: ${{ matrix.build }}/${{ matrix.os }}/${{ matrix.mode }}/${{ matrix.auto }}
defaults:
run:
shell: bash -l {0}
strategy:
fail-fast: false
matrix:
build:
- clasp
- cando
os:
- macos-13
- macos-14
- ubuntu-latest
mode:
- faso
- bytecode-faso
- bytecode
auto:
- no
- yes
exclude:
- mode: faso
auto: yes
- build: cando
mode: faso
- build: cando
mode: bytecode
- build: cando
auto: yes
- mode: bytecode-faso
auto: yes
- os: macos-13
mode: faso
- os: macos-13
mode: bytecode
auto: no
- os: macos-14
mode: faso
- os: macos-14
mode: bytecode-faso
- os: macos-14
auto: yes
runs-on: ${{ matrix.os }}
steps:
- name: Install Ubuntu dependencies
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt install -y binutils-gold clang-15 libclang-15-dev libclang-cpp15-dev llvm-15 llvm-15-dev libelf-dev libgmp-dev libunwind-dev ninja-build sbcl libnetcdf-dev libexpat1-dev libfmt-dev libboost-all-dev
- name: Install MacOS dependencies
if: matrix.os == 'macos-13' || matrix.os == 'macos-14'
run: |
brew update
brew upgrade
brew install boost fmt gmp llvm lld ninja pkg-config sbcl netcdf
- name: Checkout repository
uses: actions/checkout@v4
- uses: conda-incubator/[email protected]
if: matrix.build == 'cando'
- name: Install AmberTools
if: matrix.build == 'cando'
run: |
conda install -c conda-forge ambertools
- name: Clasp koga @ Ubuntu
if: ${{ matrix.os == 'ubuntu-latest' && matrix.build == 'clasp' }}
run: |
./koga --build-mode=${{ matrix.mode }}
- name: Cando koga @ Ubuntu
if: ${{ matrix.os == 'ubuntu-latest' && matrix.build == 'cando' }}
run: |
./koga --build-mode=${{ matrix.mode }} --extensions=cando,seqan-clasp
- name: Clasp koga @ MacOS=13
if: ${{ matrix.os == 'macos-13' && matrix.build == 'clasp' }}
run: |
./koga --build-mode=${{ matrix.mode }}
- name: Clasp koga @ MacOS-14
if: ${{ matrix.os == 'macos-14' && matrix.build == 'clasp' }}
run: |
./koga --build-mode=${{ matrix.mode }} --cflags=-I/opt/homebrew/include --cppflags=-I/opt/homebrew/include --cxxflags=-I/opt/homebrew/include
- name: Cando koga @ MacOS-13
if: ${{ matrix.os == 'macos-13' && matrix.build == 'cando' }}
run: |
./koga --build-mode=${{ matrix.mode }} --extensions=cando,seqan-clasp
- name: Cando koga @ MacOS-14
if: ${{ matrix.os == 'macos-14' && matrix.build == 'cando' }}
run: |
./koga --build-mode=${{ matrix.mode }} --extensions=cando,seqan-clasp --cflags=-I/opt/homebrew/include --cppflags=-I/opt/homebrew/include --cxxflags=-I/opt/homebrew/include
- name: Build
run: |
ninja -C build
- name: Run regression tests
if: ${{ matrix.auto == 'no' }}
run: |
ninja -C build test
- name: Run regression tests [auto]
if: ${{ matrix.auto == 'yes' }}
run: |
CLASP_AUTOCOMPILATION=1 ninja -C build test
- name: Run ANSI tests
if: ${{ matrix.build == 'clasp' && matrix.auto == 'no' }}
run: |
ninja -C build ansi-test
- name: Run ANSI tests [auto]
if: ${{ matrix.build == 'clasp' && matrix.auto == 'yes' }}
run: |
CLASP_AUTOCOMPILATION=1 ninja -C build ansi-test
- name: Run Cando regression tests
if: ${{ matrix.build == 'cando' }}
run: |
ninja -C build cando-test