Skip to content

Commit

Permalink
Merge pull request #3 from clouren/SPEX-3.1.x
Browse files Browse the repository at this point in the history
SPEX 3.1.x
  • Loading branch information
clouren authored Mar 26, 2024
2 parents 025cf31 + 825bac4 commit cd487c5
Show file tree
Hide file tree
Showing 241 changed files with 10,145 additions and 3,113 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# line endings in repository match line endings on disc
* -text
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior.

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- compiler [e.g. gcc 7.4, icc 19.0]
- BLAS and LAPACK library, if applicable
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
version: 2
updates:

- package-ecosystem: "github-actions"
directory: "/"
schedule:
# Check for updates to GitHub Actions every week
interval: "weekly"
1 change: 1 addition & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
No pull request can be accepted unless you first sign the Contributor License Agreement [ CONTRIBUTOR-LICENSE.txt ]. Print it as a PDF and email me a signed PDF (digital signature OK). Submit all PRs to the dev2 branch only.
195 changes: 195 additions & 0 deletions .github/workflows/build-arch-emu.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
name: arch-emu
on:
workflow_dispatch:
push:
branches-ignore:
- '**/dev2'
- '**/*dev2'
pull_request:

concurrency: ci-arch-emu-${{ github.ref }}

env:
# string with name of libraries to be built
BUILD_LIBS: "SuiteSparse_config:AMD:COLAMD:SPEX"
# string with name of libraries to be checked
CHECK_LIBS: "SuiteSparse_config:AMD:COLAMD:SPEX"
# string with name of libraries that are installed
INSTALLED_LIBS: "SuiteSparse_config:AMD:COLAMD:SPEX"


jobs:

alpine:
runs-on: ubuntu-latest

defaults:
run:
# Use emulated shell as default
shell: alpine.sh {0}

strategy:
# Allow other runners in the matrix to continue if some fail
fail-fast: false

matrix:
# For available CPU architectures, see:
# https://github.com/marketplace/actions/setup-alpine-linux-environment
arch: [x86, aarch64, armv7, ppc64le, s390x]
include:
- arch: x86
ccache-max: 80M
- arch: aarch64
ccache-max: 42M
- arch: armv7
ccache-max: 42M
- arch: ppc64le
ccache-max: 45M
- arch: s390x
ccache-max: 42M

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 }}
packages: >
build-base
ccache
cmake
gfortran
m4
gmp-dev
mpfr-dev
lapack-dev
python3
valgrind
util-linux-misc
autoconf
automake
libtool
- name: get CPU information (emulated)
run: lscpu

- name: prepare ccache
# create key with human readable timestamp
# used in action/cache/restore and action/cache/save steps
id: ccache-prepare
run: |
echo "key=ccache:alpine:${{ matrix.arch }}:${{ github.ref }}:$(date +"%Y-%m-%d_%H-%M-%S"):${{ github.sha }}" >> $GITHUB_OUTPUT
- name: restore ccache
# setup the GitHub cache used to maintain the ccache from one job to the next
uses: actions/cache/restore@v4
with:
# location of the ccache of the chroot in the root file system
path: /home/runner/rootfs/alpine-latest-${{ matrix.arch }}/home/runner/.ccache
key: ${{ steps.ccache-prepare.outputs.key }}
# Prefer caches from the same branch. Fall back to caches from the dev branch.
restore-keys: |
ccache:alpine:${{ matrix.arch }}:${{ github.ref }}
ccache:alpine:${{ matrix.arch }}
- name: configure ccache
env:
CCACHE_MAX: ${{ matrix.ccache-max }}
run: |
test -d ~/.ccache || mkdir ~/.ccache
echo "max_size = $CCACHE_MAX" >> ~/.ccache/ccache.conf
echo "compression = true" >> ~/.ccache/ccache.conf
ccache -s
which ccache
# echo "/usr/lib/ccache" >> $GITHUB_PATH
- name: build
run: |
echo "gcc --version"
gcc --version
echo "gcc -dumpmachine"
gcc -dumpmachine
IFS=:
BUILD_LIBS="${BUILD_LIBS}${{ matrix.extra-build-libs }}"
for lib in ${BUILD_LIBS}; do
printf " \033[0;32m==>\033[0m Building library \033[0;32m${lib}\033[0m\n"
echo "::group::Configure $lib"
cd ${GITHUB_WORKSPACE}/${lib}/build
cmake -DCMAKE_BUILD_TYPE="Release" \
-DCMAKE_INSTALL_PREFIX="${GITHUB_WORKSPACE}" \
-DCMAKE_C_COMPILER_LAUNCHER="ccache" \
-DCMAKE_CXX_COMPILER_LAUNCHER="ccache" \
-DCMAKE_Fortran_COMPILER_LAUNCHER="ccache" \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_STATIC_LIBS=OFF \
-DBLA_VENDOR="Generic" \
-DGRAPHBLAS_COMPACT=ON \
-DSUITESPARSE_DEMOS=OFF \
-DBUILD_TESTING=OFF \
..
echo "::endgroup::"
echo "::group::Build $lib"
cmake --build . --config Release
echo "::endgroup::"
done
- name: check
timeout-minutes: 60
run: |
IFS=':'
CHECK_LIBS="${CHECK_LIBS}${{ matrix.extra-check-libs }}"
for lib in ${CHECK_LIBS}; do
printf "::group:: \033[0;32m==>\033[0m Checking library \033[0;32m${lib}\033[0m\n"
cd ${GITHUB_WORKSPACE}/${lib}
make demos CMAKE_OPTIONS="-DSUITESPARSE_DEMOS=ON -DBUILD_TESTING=ON"
echo "::endgroup::"
done
- name: ccache status
continue-on-error: true
run: ccache -s

- name: save ccache
# Save the cache after we are done (successfully) building
# This helps to retain the ccache even if the subsequent steps are failing.
uses: actions/cache/save@v4
with:
path: /home/runner/rootfs/alpine-latest-${{ matrix.arch }}/home/runner/.ccache
key: ${{ steps.ccache-prepare.outputs.key }}

- name: install
run: |
IFS=':'
BUILD_LIBS="${BUILD_LIBS}${{ matrix.extra-build-libs }}"
for lib in ${BUILD_LIBS}; do
printf "::group::\033[0;32m==>\033[0m Installing library \033[0;32m${lib}\033[0m\n"
cd ${GITHUB_WORKSPACE}/${lib}/build
cmake --install .
echo "::endgroup::"
done
- name: test Config
run: |
IFS=:
INSTALLED_LIBS="${INSTALLED_LIBS}${{ matrix.extra-build-libs }}"
for lib in ${INSTALLED_LIBS}; do
printf "::group:: \033[0;32m==>\033[0m Building with Config.cmake with library \033[0;32m${lib}\033[0m\n"
cd ${GITHUB_WORKSPACE}/TestConfig/${lib}
cd build
cmake \
-DCMAKE_PREFIX_PATH="${GITHUB_WORKSPACE}/lib/cmake" \
..
cmake --build . --config Release
echo "::endgroup::"
done
Loading

0 comments on commit cd487c5

Please sign in to comment.