arch-emu #63
This file contains hidden or 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: 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 | |