Skip to content

Commit

Permalink
Add CI based on Github Actions for Linux x86_64 and aarch64
Browse files Browse the repository at this point in the history
Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
  • Loading branch information
martin-g committed Oct 2, 2023
1 parent 9ec9c35 commit 981d716
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 1 deletion.
63 changes: 63 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: CI

on:
push:
branches:
- master
pull_request:
branches:
- master

jobs:
build:
name: Build on Linux x86_64
runs-on: ubuntu-latest
strategy:
matrix:
intrinsics: ["", ".SSE3", ".AVX", ".AVX2"]
type: ["", ".PTHREADS", ".MPI", ".HYBRID", ".QuartetMPI"]

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y file openmpi-bin libopenmpi-dev
- name: Build
run: |
set -x
if [[ -f Makefile${{ matrix.intrinsics }}${{ matrix.type }}.gcc ]]; then
make -j -f Makefile${{ matrix.intrinsics }}${{ matrix.type }}.gcc all
file raxmlHPC* | grep x86-64
fi
build-aarch64:
name: Build on Linux aarch64
runs-on: ubuntu-latest
strategy:
matrix:
intrinsics: ["", ".SSE3"]
type: ["", ".PTHREADS", ".MPI", ".HYBRID", ".QuartetMPI"]

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Build
uses: uraimo/run-on-arch-action@v2
with:
arch: aarch64
distro: ubuntu20.04
githubToken: ${{ github.token }}
dockerRunArgs: |
--volume "${PWD}:/raxml"
install: |
apt-get update -q -y
apt-get install -q -y make gcc file openmpi-bin libopenmpi-dev
run: |
set -x
make -j -f Makefile${{ matrix.intrinsics }}${{ matrix.type }}.gcc all
file raxmlHPC* | grep aarch64
9 changes: 8 additions & 1 deletion Makefile.SSE3.QuartetMPI.gcc
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,14 @@

CC = mpicc

CFLAGS = -D__SIM_SSE3 -msse3 -D_GNU_SOURCE -O2 -fomit-frame-pointer -funroll-loops -D_QUARTET_MPI #-Wall -pedantic -Wunused-parameter -Wredundant-decls -Wreturn-type -Wswitch-default -Wunused-value -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wimport -Wunused -Wunused-function -Wunused-label -Wno-int-to-pointer-cast -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -Wdeclaration-after-statement -Wpointer-sign -Wextra -Wredundant-decls -Wunused -Wunused-function -Wunused-parameter -Wunused-value -Wunused-variable -Wformat -Wformat-nonliteral -Wparentheses -Wsequence-point -Wuninitialized -Wundef -Wbad-function-cast
ARCH := $(shell uname -m)
ifeq ($(ARCH), x86_64)
ARCH_CFLAGS=-msse3
else ifeq ($(ARCH), aarch64)
ARCH_CFLAGS=
endif

CFLAGS = -D__SIM_SSE3 $(ARCH_CFLAGS) -D_GNU_SOURCE -O2 -fomit-frame-pointer -funroll-loops -D_QUARTET_MPI #-Wall -pedantic -Wunused-parameter -Wredundant-decls -Wreturn-type -Wswitch-default -Wunused-value -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wimport -Wunused -Wunused-function -Wunused-label -Wno-int-to-pointer-cast -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -Wdeclaration-after-statement -Wpointer-sign -Wextra -Wredundant-decls -Wunused -Wunused-function -Wunused-parameter -Wunused-value -Wunused-variable -Wformat -Wformat-nonliteral -Wparentheses -Wsequence-point -Wuninitialized -Wundef -Wbad-function-cast

LIBRARIES = -lm

Expand Down

0 comments on commit 981d716

Please sign in to comment.