Skip to content

arch-emu

arch-emu #63

name: arch-emu
# this is done on workflow_dispatch only since it takes a very long time.
# It also uses the latest GraphBLAS dev2 branch, so be sure that branch
# is operational before running this test.
on:
workflow_dispatch:
jobs:
alpine:
# Run armv7 on aarch64 runners
runs-on: ${{ matrix.arch == 'armv7' && 'ubuntu-24.04-arm' || 'ubuntu-latest' }}
defaults:
run:
# Use emulated shell as default
shell: alpine.sh {0}
strategy:
matrix:
config:
- {grb_version: dev2}
# For available CPU architectures, see:
# https://github.com/marketplace/actions/setup-alpine-linux-environment
arch: [riscv64]
include:
- arch: riscv64
ccache-max: 28M
name: alpine (${{ matrix.arch }})
steps:
- name: get CPU information (host)
shell: bash
run: lscpu
- name: checkout repository
uses: actions/checkout@v4
# shell: bash
- name: install dependencies
uses: jirutka/setup-alpine@v1
# shell: bash
with:
arch: ${{ matrix.arch }}
apk-tools-url: ${{ matrix.arch == 'armv7'
&& 'https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v2.14.7/aarch64/apk.static#!sha256!27a975638ddc95a411c9f17c63383e335da9edf6bb7de2281d950c291a11f878'
|| 'https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v2.14.7/x86_64/apk.static#!sha256!bdd044e0fd6cc388c5e571e1093efa5f35f7767cc5aa338b0a2576a429009a62' }}
packages: >
build-base
ccache
cmake
lscpu
libtool
git
sudo
- name: disable QEMU emulation
if: matrix.arch == 'armv7'
shell: bash
run: sudo update-binfmts --disable qemu-arm
- name: get CPU information (emulated)
run: lscpu
- name: build GraphBLAS
run: |
echo "gcc --version"
gcc --version
echo "gcc -dumpmachine"
gcc -dumpmachine
git clone https://github.com/DrTimothyAldenDavis/GraphBLAS.git
cd GraphBLAS
git checkout dev2
make compact
sudo make install
cd ..
- name: build and test LAGraph
run: |
cd build
cmake ..
JOBS=2 make
ctest . --verbose