Skip to content

Commit

Permalink
Merge pull request #113 from SU-HPC/develop
Browse files Browse the repository at this point in the history
Release 0.2.0
  • Loading branch information
AmroAlJundi committed May 20, 2022
2 parents 35e7716 + 6885f4d commit c180f11
Show file tree
Hide file tree
Showing 126 changed files with 36,815 additions and 5,429 deletions.
4 changes: 3 additions & 1 deletion .format.bash
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
#! /bin/bash
find ${1}/sparsebase/ -iname *.hpp -o -iname *.cpp | xargs clang-format -i
find ${1}/src/ -iname "*.h" -o -iname "*.cc" -o -iname "*.cuh" -o -iname "*.cu" | xargs clang-format -i
find ${1}/examples/ -iname "*.h" -o -iname "*.cc" -o -iname "*.cuh" -o -iname "*.cu" | xargs clang-format -i
find ${1}/tests/ -iname "*.h" -o -iname "*.cc" -o -iname "*.cuh" -o -iname "*.cu" | xargs clang-format -i
45 changes: 0 additions & 45 deletions .github/workflows/docs.yml

This file was deleted.

77 changes: 77 additions & 0 deletions .github/workflows/docs_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# This is a basic workflow to help you get started with Actions

name: Docs & Release

# Controls when the workflow will run
on:
push:
tags:
- "v*.*.*"

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest


# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2

- name: Install System Dependencies
run: |
sudo apt update
sudo apt -y install python3 python3-pip doxygen build-essential
sudo apt -y install latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
- name: Install Python Dependencies
working-directory: docs/
run: python3 -m pip install -r requirements.txt

- name: Build Docs
working-directory: docs/
run: |
make html
make latexpdf
- name: Bypass Jekyll
run: touch docs/_build/html/.nojekyll

- name: Deploy To Github Pages
uses: JamesIves/github-pages-deploy-action@v4.2.2
with:
branch: gh-pages # The branch the action should deploy to.
folder: docs/_build/html

- name: Build Header Only Release
run: |
cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -D_HEADER_ONLY=ON -DBUILD_EXAMPLES=OFF
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
mkdir -p ${{github.workspace}}/sparsebase_install
cmake --install ${{github.workspace}}/build --prefix ${{github.workspace}}/sparsebase_install

- name: Create Zip File
working-directory: ${{github.workspace}}/sparsebase_install
run: zip -r sparsebase_header_only.zip .

- name: Rename the Documentation
run: mv docs/_build/latex/sparsebase.pdf docs/_build/latex/sparsebase_docs.pdf

- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: |
LICENSE
docs/_build/latex/*.pdf
${{github.workspace}}/sparsebase_install/*.zip
49 changes: 0 additions & 49 deletions .github/workflows/testing_develop.yml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,25 +1,26 @@
name: Testing Main
name: Testing Mac

on:
push:
branches: [ main ]
branches: [ main, develop ]
pull_request:
branches: [ main ]
branches: [ main, develop ]

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release

jobs:
build:
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [macos-latest, ubuntu-latest]
runs-on: macos-latest

steps:
- uses: actions/checkout@v2
with:
submodules: recursive

- name: Install Dependencies
run: brew update && brew install gcc@9 bison flex swig readline libomp python3

- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
Expand All @@ -30,18 +31,9 @@ jobs:
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

- name: Copy Data
run: cp -r ${{github.workspace}}/examples/data ${{github.workspace}}/build/examples/

- name: Run Examples
working-directory: ${{github.workspace}}/build/examples
run: |
./custom_order/custom_order ./data/com-dblp.uedgelist
./degree_order/degree_order ./data/com-dblp.uedgelist
./rcm_order/rcm_order ./data/com-dblp.uedgelist
./format_conversion/example_conversion
./sparse_format/csr_coo ./data/ash958.mtx
./sparse_reader/sparse_reader ./data/ash958.mtx
run: python3 run_all_examples.py

- name: Run Tests
working-directory: ${{github.workspace}}/build
Expand Down
61 changes: 61 additions & 0 deletions .github/workflows/testing_ubuntu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Testing Ubuntu

on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
with:
submodules: recursive

- name: Install Dependencies
run: sudo apt update && sudo apt install -y build-essential bison flex swig libreadline-dev libomp-dev python3

- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DRUN_TESTS=ON

- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

- name: Run Examples
working-directory: ${{github.workspace}}/build/examples
run: python3 run_all_examples.py

- name: Run Tests
working-directory: ${{github.workspace}}/build
run: ctest -V

- name: Clean
working-directory: ${{github.workspace}}
run: rm -rf build

- name: Configure CMake (Header Only)
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -D_HEADER_ONLY=ON -DRUN_TESTS=ON

- name: Build (Header Only)
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

- name: Run Examples (Header Only)
working-directory: ${{github.workspace}}/build/examples
run: python3 run_all_examples.py

- name: Run Tests (Header Only)
working-directory: ${{github.workspace}}/build
run: ctest -V
50 changes: 50 additions & 0 deletions .github/workflows/testing_win.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Testing Windows

on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release

jobs:
build:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}

steps:
- uses: actions/checkout@v2
with:
submodules: recursive

- name: MSYS2 Setup
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: git base-devel mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-python mingw-w64-x86_64-ninja

- name: Configure CMake
working-directory: ${{github.workspace}}
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc -DRUN_TESTS=ON

- name: Build
working-directory: ${{github.workspace}}
# Build your program with the given configuration
run: cmake --build build --config ${{env.BUILD_TYPE}}

- name: Run Examples
working-directory: ${{github.workspace}}/build/examples
run: python3 run_all_examples.py

- name: Run Tests
working-directory: ${{github.workspace}}/build
run: ctest -V

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ cmake-build-*
.vscode
.DS_Store
.idea
venv

CMakeLists.txt.user
CMakeCache.txt
Expand Down
Loading

0 comments on commit c180f11

Please sign in to comment.